Silverlight 5 WinRT

  public sealed class AuthenticodeSignatureInformation
 
  public String Description { get; }
  public Uri DescriptionUrl { get; }
  public String HashAlgorithm { get; }
  public Int32 HResult { get; }
  public X509Chain SignatureChain { get; }
  public X509Certificate2 SigningCertificate { get; }
  public TimestampInformation Timestamp { get; }
  public TrustStatus TrustStatus { get; }
  public SignatureVerificationResult VerificationResult { get; }

  sealed enum X509Native
  : IComparable, IFormattable, IConvertible
  { None, NoRevocationCheck, RevocationCheckEndCertOnly, RevocationCheckEntireChain, UrlOnlyCacheRetrieval, LifetimeSigning, TrustMicrosoftRootOnly }

  public sealed enum OpenFlags
  : IComparable, IFormattable, IConvertible
  { ReadOnly, ReadWrite, MaxAllowed, OpenExistingOnly, IncludeArchived }

  public sealed class PublicKey
 
  public AsnEncodedData EncodedKeyValue { get; }
  public AsnEncodedData EncodedParameters { get; }
  public AsymmetricAlgorithm Key { get; }
  public Oid Oid { get; }

  public sealed enum StoreLocation
  : IComparable, IFormattable, IConvertible
  { CurrentUser, LocalMachine }

  public sealed enum StoreName
  : IComparable, IFormattable, IConvertible
  { AddressBook, AuthRoot, CertificateAuthority, Disallowed, My, Root, TrustedPeople, TrustedPublisher }

  public sealed class TimestampInformation
 
  public String HashAlgorithm { get; }
  public Int32 HResult { get; }
  public Boolean IsValid { get; }
  public X509Chain SignatureChain { get; }
  public X509Certificate2 SigningCertificate { get; }
  public DateTime Timestamp { get; }
  public SignatureVerificationResult VerificationResult { get; }

  public sealed enum TrustStatus
  : IComparable, IFormattable, IConvertible
  { Untrusted, UnknownIdentity, KnownIdentity, Trusted }

  abstract sealed class X509Native
 
  static public Int32 _AxlGetIssuerPublicKeyHash(IntPtr pCertContext, out SafeAxlBufferHandle& ppwszPublicKeyHash);
  static public Int32 CertFreeAuthenticodeSignerInfo(AXL_AUTHENTICODE_SIGNER_INFO& pSignerInfo);
  static public Int32 CertFreeAuthenticodeTimestamperInfo(AXL_AUTHENTICODE_TIMESTAMPER_INFO& pTimestamperInfo);
  static public Int32 CertVerifyAuthenticodeLicense(CRYPTOAPI_BLOB& pLicenseBlob, AxlVerificationFlags dwFlags, out AXL_AUTHENTICODE_SIGNER_INFO& pSignerInfo, out AXL_AUTHENTICODE_TIMESTAMPER_INFO& pTimestamperInfo);

  public sealed class X500DistinguishedName
  : AsnEncodedData
  public String Name { get; }
  public String Decode(X500DistinguishedNameFlags flag);
  public virtual String Format(Boolean multiLine);

  public sealed enum X500DistinguishedNameFlags
  : IComparable, IFormattable, IConvertible
  { None, Reversed, UseSemicolons, DoNotUsePlusSign, DoNotUseQuotes, UseCommas, UseNewLines, UseUTF8Encoding, UseT61Encoding, ForceUTF8Encoding }

  public sealed class X509BasicConstraintsExtension
  : X509Extension
  public Boolean CertificateAuthority { get; }
  public Boolean HasPathLengthConstraint { get; }
  public Int32 PathLengthConstraint { get; }
  public virtual void CopyFrom(AsnEncodedData asnEncodedData);

public class X509Certificate public class X509Certificate
: IDeserializationCallback, ISerializable
  public IntPtr Handle { get; }
public String Issuer { get; } public String Issuer { get; }
public String Subject { get; } public String Subject { get; }
  static public X509Certificate CreateFromCertFile(String filename);
  static public X509Certificate CreateFromSignedFile(String filename);
public virtual Boolean Equals(Object obj); public virtual Boolean Equals(Object obj);
public virtual Boolean Equals(X509Certificate other); public virtual Boolean Equals(X509Certificate other);
public virtual Byte Export(X509ContentType contentType); public virtual Byte Export(X509ContentType contentType);
public virtual Byte Export(X509ContentType contentType, String password); public virtual Byte Export(X509ContentType contentType, String password);
  public virtual Byte Export(X509ContentType contentType, SecureString password);
  static protected String FormatDate(DateTime date);
public virtual Byte GetCertHash(); public virtual Byte GetCertHash();
public virtual String GetCertHashString(); public virtual String GetCertHashString();
public virtual String GetEffectiveDateString(); public virtual String GetEffectiveDateString();
public virtual String GetExpirationDateString(); public virtual String GetExpirationDateString();
public virtual String GetFormat(); public virtual String GetFormat();
public virtual Int32 GetHashCode(); public virtual Int32 GetHashCode();
  public virtual String GetIssuerName();
public virtual String GetKeyAlgorithm(); public virtual String GetKeyAlgorithm();
public virtual Byte GetKeyAlgorithmParameters(); public virtual Byte GetKeyAlgorithmParameters();
public virtual String GetKeyAlgorithmParametersString(); public virtual String GetKeyAlgorithmParametersString();
  public virtual String GetName();
public virtual Byte GetPublicKey(); public virtual Byte GetPublicKey();
public virtual String GetPublicKeyString(); public virtual String GetPublicKeyString();
public virtual Byte GetRawCertData(); public virtual Byte GetRawCertData();
public virtual String GetRawCertDataString(); public virtual String GetRawCertDataString();
public virtual Byte GetSerialNumber(); public virtual Byte GetSerialNumber();
public virtual String GetSerialNumberString(); public virtual String GetSerialNumberString();
public virtual void Import(Byte rawData); public virtual void Import(Byte rawData);
public virtual void Import(Byte rawData, String password, X509KeyStorageFlags keyStorageFlags); public virtual void Import(Byte rawData, String password, X509KeyStorageFlags keyStorageFlags);
  public virtual void Import(Byte rawData, SecureString password, X509KeyStorageFlags keyStorageFlags);
  public virtual void Import(String fileName);
  public virtual void Import(String fileName, String password, X509KeyStorageFlags keyStorageFlags);
  public virtual void Import(String fileName, SecureString password, X509KeyStorageFlags keyStorageFlags);
  public virtual void Reset();
public virtual String ToString(); public virtual String ToString();
public virtual String ToString(Boolean fVerbose); public virtual String ToString(Boolean fVerbose);

  public class X509Certificate2
  : X509Certificate, IDeserializationCallback, ISerializable
  public Boolean Archived { get; set; }
  public X509ExtensionCollection Extensions { get; }
  public String FriendlyName { get; set; }
  public Boolean HasPrivateKey { get; }
  public X500DistinguishedName IssuerName { get; }
  public DateTime NotAfter { get; }
  public DateTime NotBefore { get; }
  public AsymmetricAlgorithm PrivateKey { get; set; }
  public PublicKey PublicKey { get; }
  public Byte RawData { get; }
  public String SerialNumber { get; }
  public Oid SignatureAlgorithm { get; }
  public X500DistinguishedName SubjectName { get; }
  public String Thumbprint { get; }
  public Int32 Version { get; }
  static public X509ContentType GetCertContentType(Byte rawData);
  static public X509ContentType GetCertContentType(String fileName);
  public String GetNameInfo(X509NameType nameType, Boolean forIssuer);
  public virtual void Import(Byte rawData);
  public virtual void Import(Byte rawData, String password, X509KeyStorageFlags keyStorageFlags);
  public virtual void Import(Byte rawData, SecureString password, X509KeyStorageFlags keyStorageFlags);
  public virtual void Import(String fileName);
  public virtual void Import(String fileName, String password, X509KeyStorageFlags keyStorageFlags);
  public virtual void Import(String fileName, SecureString password, X509KeyStorageFlags keyStorageFlags);
  public virtual void Reset();
  public virtual String ToString();
  public virtual String ToString(Boolean verbose);
  public Boolean Verify();

  public class X509Certificate2Collection
  : X509CertificateCollection, IList, ICollection, IEnumerable
  public X509Certificate2 Item { get; set; }
  public Int32 Add(X509Certificate2 certificate);
  public void AddRange(X509Certificate2 certificates);
  public void AddRange(X509Certificate2Collection certificates);
  public Boolean Contains(X509Certificate2 certificate);
  public Byte Export(X509ContentType contentType);
  public Byte Export(X509ContentType contentType, String password);
  public X509Certificate2Collection Find(X509FindType findType, Object findValue, Boolean validOnly);
  public X509Certificate2Enumerator GetEnumerator();
  public void Import(Byte rawData);
  public void Import(Byte rawData, String password, X509KeyStorageFlags keyStorageFlags);
  public void Import(String fileName);
  public void Import(String fileName, String password, X509KeyStorageFlags keyStorageFlags);
  public void Insert(Int32 index, X509Certificate2 certificate);
  public void Remove(X509Certificate2 certificate);
  public void RemoveRange(X509Certificate2 certificates);
  public void RemoveRange(X509Certificate2Collection certificates);

  public sealed class X509Certificate2Enumerator
  : IEnumerator
  public X509Certificate2 Current { get; }
  public Boolean MoveNext();
  public void Reset();

  public class X509CertificateCollection
  : CollectionBase, IList, ICollection, IEnumerable
  public X509Certificate Item { get; set; }
  public Int32 Add(X509Certificate value);
  public void AddRange(X509Certificate value);
  public void AddRange(X509CertificateCollection value);
  public Boolean Contains(X509Certificate value);
  public void CopyTo(X509Certificate array, Int32 index);
  public X509CertificateEnumerator GetEnumerator();
  public virtual Int32 GetHashCode();
  public Int32 IndexOf(X509Certificate value);
  public void Insert(Int32 index, X509Certificate value);
  public void Remove(X509Certificate value);

  class X509CertificateCollection
  : IEnumerator
  public X509Certificate Current { get; }
  public Boolean MoveNext();
  public void Reset();

  public class X509Chain
 
  public IntPtr ChainContext { get; }
  public X509ChainElementCollection ChainElements { get; }
  public X509ChainPolicy ChainPolicy { get; set; }
  public X509ChainStatus ChainStatus { get; }
  public Boolean Build(X509Certificate2 certificate);
  static public X509Chain Create();
  public void Reset();

  public class X509ChainElement
 
  public X509Certificate2 Certificate { get; }
  public X509ChainStatus ChainElementStatus { get; }
  public String Information { get; }

  public sealed class X509ChainElementCollection
  : ICollection, IEnumerable
  public virtual Int32 Count { get; }
  public virtual Boolean IsSynchronized { get; }
  public X509ChainElement Item { get; }
  public virtual Object SyncRoot { get; }
  public void CopyTo(X509ChainElement array, Int32 index);
  public X509ChainElementEnumerator GetEnumerator();

  public sealed class X509ChainElementEnumerator
  : IEnumerator
  public X509ChainElement Current { get; }
  public virtual Boolean MoveNext();
  public virtual void Reset();

  public sealed class X509ChainPolicy
 
  public OidCollection ApplicationPolicy { get; }
  public OidCollection CertificatePolicy { get; }
  public X509Certificate2Collection ExtraStore { get; }
  public X509RevocationFlag RevocationFlag { get; set; }
  public X509RevocationMode RevocationMode { get; set; }
  public TimeSpan UrlRetrievalTimeout { get; set; }
  public X509VerificationFlags VerificationFlags { get; set; }
  public DateTime VerificationTime { get; set; }
  public void Reset();

  public sealed struct X509ChainStatus
  : ValueType
  public X509ChainStatusFlags Status { get; set; }
  public String StatusInformation { get; set; }

  public sealed enum X509ChainStatusFlags
  : IComparable, IFormattable, IConvertible
  { NoError, NotTimeValid, NotTimeNested, Revoked, NotSignatureValid, NotValidForUsage, UntrustedRoot, RevocationStatusUnknown, Cyclic, InvalidExtension, InvalidPolicyConstraints, InvalidBasicConstraints, InvalidNameConstraints, HasNotSupportedNameConstraint, HasNotDefinedNameConstraint, HasNotPermittedNameConstraint, HasExcludedNameConstraint, PartialChain, CtlNotTimeValid, CtlNotSignatureValid, CtlNotValidForUsage, OfflineRevocation, NoIssuanceChainPolicy }

public sealed enum X509ContentType public sealed enum X509ContentType
: IComparable, IFormattable, IConvertible : IComparable, IFormattable, IConvertible
{ Unknown, Cert } { Unknown, Cert, SerializedCert, Pfx, Pkcs12, SerializedStore, Pkcs7, Authenticode }

  public sealed class X509EnhancedKeyUsageExtension
  : X509Extension
  public OidCollection EnhancedKeyUsages { get; }
  public virtual void CopyFrom(AsnEncodedData asnEncodedData);

  public class X509Extension
  : AsnEncodedData
  public Boolean Critical { get; set; }
  public virtual void CopyFrom(AsnEncodedData asnEncodedData);

  public sealed class X509ExtensionCollection
  : ICollection, IEnumerable
  public virtual Int32 Count { get; }
  public virtual Boolean IsSynchronized { get; }
  public X509Extension Item { get; }
  public X509Extension Item { get; }
  public virtual Object SyncRoot { get; }
  public Int32 Add(X509Extension extension);
  public void CopyTo(X509Extension array, Int32 index);
  public X509ExtensionEnumerator GetEnumerator();

  public sealed class X509ExtensionEnumerator
  : IEnumerator
  public X509Extension Current { get; }
  public virtual Boolean MoveNext();
  public virtual void Reset();

  public sealed enum X509FindType
  : IComparable, IFormattable, IConvertible
  { FindByThumbprint, FindBySubjectName, FindBySubjectDistinguishedName, FindByIssuerName, FindByIssuerDistinguishedName, FindBySerialNumber, FindByTimeValid, FindByTimeNotYetValid, FindByTimeExpired, FindByTemplateName, FindByApplicationPolicy, FindByCertificatePolicy, FindByExtension, FindByKeyUsage, FindBySubjectKeyIdentifier }

  public sealed enum X509IncludeOption
  : IComparable, IFormattable, IConvertible
  { None, ExcludeRoot, EndCertOnly, WholeChain }

public sealed enum X509KeyStorageFlags public sealed enum X509KeyStorageFlags
: IComparable, IFormattable, IConvertible : IComparable, IFormattable, IConvertible
{ DefaultKeySet } { DefaultKeySet, UserKeySet, MachineKeySet, Exportable, UserProtected, PersistKeySet }

  public sealed class X509KeyUsageExtension
  : X509Extension
  public X509KeyUsageFlags KeyUsages { get; }
  public virtual void CopyFrom(AsnEncodedData asnEncodedData);

  public sealed enum X509KeyUsageFlags
  : IComparable, IFormattable, IConvertible
  { None, EncipherOnly, CrlSign, KeyCertSign, KeyAgreement, DataEncipherment, KeyEncipherment, NonRepudiation, DigitalSignature, DecipherOnly }

  public sealed enum X509NameType
  : IComparable, IFormattable, IConvertible
  { SimpleName, EmailName, UpnName, DnsName, DnsFromAlternativeName, UrlName }

  public sealed enum X509RevocationFlag
  : IComparable, IFormattable, IConvertible
  { EndCertificateOnly, EntireChain, ExcludeRoot }

  public sealed enum X509RevocationMode
  : IComparable, IFormattable, IConvertible
  { NoCheck, Online, Offline }

  public sealed class X509Store
 
  public X509Certificate2Collection Certificates { get; }
  public StoreLocation Location { get; }
  public String Name { get; }
  public IntPtr StoreHandle { get; }
  public void Add(X509Certificate2 certificate);
  public void AddRange(X509Certificate2Collection certificates);
  public void Close();
  public void Open(OpenFlags flags);
  public void Remove(X509Certificate2 certificate);
  public void RemoveRange(X509Certificate2Collection certificates);

  public sealed class X509SubjectKeyIdentifierExtension
  : X509Extension
  public String SubjectKeyIdentifier { get; }
  public virtual void CopyFrom(AsnEncodedData asnEncodedData);

  public sealed enum X509SubjectKeyIdentifierHashAlgorithm
  : IComparable, IFormattable, IConvertible
  { Sha1, ShortSha1, CapiSha1 }

  public sealed enum X509VerificationFlags
  : IComparable, IFormattable, IConvertible
  { NoFlag, IgnoreNotTimeValid, IgnoreCtlNotTimeValid, IgnoreNotTimeNested, IgnoreInvalidBasicConstraints, AllowUnknownCertificateAuthority, IgnoreWrongUsage, IgnoreInvalidName, IgnoreInvalidPolicy, IgnoreEndRevocationUnknown, IgnoreCtlSignerRevocationUnknown, IgnoreCertificateAuthorityRevocationUnknown, IgnoreRootRevocationUnknown, AllFlags }