// // Copyright (c) Microsoft Corporation. All rights reserved. // // // File generated by WinMDIDL version 8.00.0021 // import "inspectable.idl"; import "AsyncInfo.idl"; import "EventToken.idl"; import "windowscontracts.idl"; import "Windows.Foundation.idl"; import "Windows.Networking.idl"; import "Windows.Storage.Streams.idl"; // Forward Declare namespace Windows { namespace Foundation { typedef struct DateTime DateTime; interface IAsyncAction; apicontract UniversalApiContract; } } namespace Windows { namespace Networking { runtimeclass HostName; } } namespace Windows { namespace Storage { namespace Streams { interface IBuffer; interface IInputStream; } } } namespace Windows { namespace Security { namespace Cryptography { namespace Certificates { typedef enum CertificateChainPolicy CertificateChainPolicy; typedef enum ChainValidationResult ChainValidationResult; typedef enum EnrollKeyUsages EnrollKeyUsages; typedef enum ExportOption ExportOption; typedef enum InstallOptions InstallOptions; typedef enum KeyProtectionLevel KeyProtectionLevel; typedef enum KeySize KeySize; typedef enum SignatureValidationResult SignatureValidationResult; interface ICertificate; interface ICertificate2; interface ICertificate3; interface ICertificateChain; interface ICertificateEnrollmentManagerStatics; interface ICertificateEnrollmentManagerStatics2; interface ICertificateEnrollmentManagerStatics3; interface ICertificateExtension; interface ICertificateFactory; interface ICertificateKeyUsages; interface ICertificateQuery; interface ICertificateQuery2; interface ICertificateRequestProperties; interface ICertificateRequestProperties2; interface ICertificateRequestProperties3; interface ICertificateRequestProperties4; interface ICertificateStore; interface ICertificateStore2; interface ICertificateStoresStatics; interface ICertificateStoresStatics2; interface IChainBuildingParameters; interface IChainValidationParameters; interface ICmsAttachedSignature; interface ICmsAttachedSignatureFactory; interface ICmsAttachedSignatureStatics; interface ICmsDetachedSignature; interface ICmsDetachedSignatureFactory; interface ICmsDetachedSignatureStatics; interface ICmsSignerInfo; interface ICmsTimestampInfo; interface IKeyAlgorithmNamesStatics; interface IKeyAlgorithmNamesStatics2; interface IKeyAttestationHelperStatics; interface IKeyAttestationHelperStatics2; interface IKeyStorageProviderNamesStatics; interface IKeyStorageProviderNamesStatics2; interface IPfxImportParameters; interface IStandardCertificateStoreNamesStatics; interface ISubjectAlternativeNameInfo; interface ISubjectAlternativeNameInfo2; interface IUserCertificateEnrollmentManager; interface IUserCertificateEnrollmentManager2; interface IUserCertificateStore; runtimeclass Certificate; runtimeclass CertificateChain; runtimeclass CertificateEnrollmentManager; runtimeclass CertificateExtension; runtimeclass CertificateKeyUsages; runtimeclass CertificateQuery; runtimeclass CertificateRequestProperties; runtimeclass CertificateStore; runtimeclass CertificateStores; runtimeclass ChainBuildingParameters; runtimeclass ChainValidationParameters; runtimeclass CmsAttachedSignature; runtimeclass CmsDetachedSignature; runtimeclass CmsSignerInfo; runtimeclass CmsTimestampInfo; runtimeclass KeyAlgorithmNames; runtimeclass KeyAttestationHelper; runtimeclass KeyStorageProviderNames; runtimeclass PfxImportParameters; runtimeclass StandardCertificateStoreNames; runtimeclass SubjectAlternativeNameInfo; runtimeclass UserCertificateEnrollmentManager; runtimeclass UserCertificateStore; } } } } // Generic instantiations namespace Windows { namespace Security { namespace Cryptography { namespace Certificates { declare { interface Windows.Foundation.Collections.IIterable; interface Windows.Foundation.Collections.IIterable; interface Windows.Foundation.Collections.IIterable; interface Windows.Foundation.Collections.IIterable; interface Windows.Foundation.Collections.IIterator; interface Windows.Foundation.Collections.IIterator; interface Windows.Foundation.Collections.IIterator; interface Windows.Foundation.Collections.IIterator; interface Windows.Foundation.Collections.IVectorView; interface Windows.Foundation.Collections.IVectorView; interface Windows.Foundation.Collections.IVectorView; interface Windows.Foundation.Collections.IVectorView; interface Windows.Foundation.Collections.IVector; interface Windows.Foundation.Collections.IVector; interface Windows.Foundation.Collections.IVector; interface Windows.Foundation.IAsyncOperation*>; interface Windows.Foundation.IAsyncOperation; interface Windows.Foundation.IAsyncOperation; } } } } } // Type definition namespace Windows { namespace Security { namespace Cryptography { namespace Certificates { [contract(Windows.Foundation.UniversalApiContract, 1.0)] enum CertificateChainPolicy { Base = 0, Ssl = 1, NTAuthentication = 2, MicrosoftRoot = 3 }; [contract(Windows.Foundation.UniversalApiContract, 1.0)] enum ChainValidationResult { Success = 0, Untrusted = 1, Revoked = 2, Expired = 3, IncompleteChain = 4, InvalidSignature = 5, WrongUsage = 6, InvalidName = 7, InvalidCertificateAuthorityPolicy = 8, BasicConstraintsError = 9, UnknownCriticalExtension = 10, RevocationInformationMissing = 11, RevocationFailure = 12, OtherErrors = 13 }; [contract(Windows.Foundation.UniversalApiContract, 1.0)] [flags] enum EnrollKeyUsages { None = 0x0, Decryption = 0x1, Signing = 0x2, KeyAgreement = 0x4, All = 0xFFFFFF }; [contract(Windows.Foundation.UniversalApiContract, 1.0)] enum ExportOption { NotExportable = 0, Exportable = 1 }; [contract(Windows.Foundation.UniversalApiContract, 1.0)] [flags] enum InstallOptions { None = 0x0, DeleteExpired = 0x1 }; [contract(Windows.Foundation.UniversalApiContract, 1.0)] enum KeyProtectionLevel { NoConsent = 0, ConsentOnly = 1, ConsentWithPassword = 2, [contract(Windows.Foundation.UniversalApiContract, 1.0)] ConsentWithFingerprint = 3 }; [contract(Windows.Foundation.UniversalApiContract, 1.0)] enum KeySize { Invalid = 0, Rsa2048 = 2048, Rsa4096 = 4096 }; [contract(Windows.Foundation.UniversalApiContract, 1.0)] enum SignatureValidationResult { Success = 0, InvalidParameter = 1, BadMessage = 2, InvalidSignature = 3, OtherErrors = 4 }; [contract(Windows.Foundation.UniversalApiContract, 1.0)] [exclusiveto(Windows.Security.Cryptography.Certificates.Certificate)] [uuid(333F740C-04D8-43B3-B278-8C5FCC9BE5A0)] interface ICertificate : IInspectable { [overload("BuildChainAsync")] HRESULT BuildChainAsync([in] Windows.Foundation.Collections.IIterable* certificates, [out] [retval] Windows.Foundation.IAsyncOperation** value); [overload("BuildChainAsync")] HRESULT BuildChainWithParametersAsync([in] Windows.Foundation.Collections.IIterable* certificates, [in] Windows.Security.Cryptography.Certificates.ChainBuildingParameters* parameters, [out] [retval] Windows.Foundation.IAsyncOperation** value); [propget] HRESULT SerialNumber([out] UINT32* __valueSize, [out] [retval] [size_is(, *__valueSize)] BYTE** value); [overload("GetHashValue")] HRESULT GetHashValue([out] UINT32* __valueSize, [out] [retval] [size_is(, *__valueSize)] BYTE** value); [overload("GetHashValue")] HRESULT GetHashValueWithAlgorithm([in] HSTRING hashAlgorithmName, [out] UINT32* __valueSize, [out] [retval] [size_is(, *__valueSize)] BYTE** value); HRESULT GetCertificateBlob([out] [retval] Windows.Storage.Streams.IBuffer** value); [propget] HRESULT Subject([out] [retval] HSTRING* value); [propget] HRESULT Issuer([out] [retval] HSTRING* value); [propget] HRESULT HasPrivateKey([out] [retval] boolean* value); [propget] HRESULT IsStronglyProtected([out] [retval] boolean* value); [propget] HRESULT ValidFrom([out] [retval] Windows.Foundation.DateTime* value); [propget] HRESULT ValidTo([out] [retval] Windows.Foundation.DateTime* value); [propget] HRESULT EnhancedKeyUsages([out] [retval] Windows.Foundation.Collections.IVectorView** value); [propput] HRESULT FriendlyName([in] HSTRING value); [propget] HRESULT FriendlyName([out] [retval] HSTRING* value); } [contract(Windows.Foundation.UniversalApiContract, 1.0)] [exclusiveto(Windows.Security.Cryptography.Certificates.Certificate)] [uuid(17B8374C-8A25-4D96-A492-8FC29AC4FDA6)] interface ICertificate2 : IInspectable { [propget] HRESULT IsSecurityDeviceBound([out] [retval] boolean* value); [propget] HRESULT KeyUsages([out] [retval] Windows.Security.Cryptography.Certificates.CertificateKeyUsages** value); [propget] HRESULT KeyAlgorithmName([out] [retval] HSTRING* value); [propget] HRESULT SignatureAlgorithmName([out] [retval] HSTRING* value); [propget] HRESULT SignatureHashAlgorithmName([out] [retval] HSTRING* value); [propget] HRESULT SubjectAlternativeName([out] [retval] Windows.Security.Cryptography.Certificates.SubjectAlternativeNameInfo** value); } [contract(Windows.Foundation.UniversalApiContract, 3.0)] [exclusiveto(Windows.Security.Cryptography.Certificates.Certificate)] [uuid(BE51A966-AE5F-4652-ACE7-C6D7E7724CF3)] interface ICertificate3 : IInspectable { [propget] HRESULT IsPerUser([out] [retval] boolean* value); [propget] HRESULT StoreName([out] [retval] HSTRING* value); [propget] HRESULT KeyStorageProviderName([out] [retval] HSTRING* value); } [contract(Windows.Foundation.UniversalApiContract, 1.0)] [exclusiveto(Windows.Security.Cryptography.Certificates.CertificateChain)] [uuid(20BF5385-3691-4501-A62C-FD97278B31EE)] interface ICertificateChain : IInspectable { [overload("Validate")] HRESULT Validate([out] [retval] Windows.Security.Cryptography.Certificates.ChainValidationResult* status); [overload("Validate")] HRESULT ValidateWithParameters([in] Windows.Security.Cryptography.Certificates.ChainValidationParameters* parameter, [out] [retval] Windows.Security.Cryptography.Certificates.ChainValidationResult* status); HRESULT GetCertificates([in] boolean includeRoot, [out] [retval] Windows.Foundation.Collections.IVectorView** certificates); } [contract(Windows.Foundation.UniversalApiContract, 1.0)] [exclusiveto(Windows.Security.Cryptography.Certificates.CertificateEnrollmentManager)] [uuid(8846EF3F-A986-48FB-9FD7-9AEC06935BF1)] interface ICertificateEnrollmentManagerStatics : IInspectable { HRESULT CreateRequestAsync([in] Windows.Security.Cryptography.Certificates.CertificateRequestProperties* request, [out] [retval] Windows.Foundation.IAsyncOperation** value); HRESULT InstallCertificateAsync([in] HSTRING certificate, [in] Windows.Security.Cryptography.Certificates.InstallOptions installOption, [out] [retval] Windows.Foundation.IAsyncAction** value); [overload("ImportPfxDataAsync")] HRESULT ImportPfxDataAsync([in] HSTRING pfxData, [in] HSTRING password, [in] Windows.Security.Cryptography.Certificates.ExportOption exportable, [in] Windows.Security.Cryptography.Certificates.KeyProtectionLevel keyProtectionLevel, [in] Windows.Security.Cryptography.Certificates.InstallOptions installOption, [in] HSTRING friendlyName, [out] [retval] Windows.Foundation.IAsyncAction** value); } [contract(Windows.Foundation.UniversalApiContract, 1.0)] [exclusiveto(Windows.Security.Cryptography.Certificates.CertificateEnrollmentManager)] [uuid(DC5B1C33-6429-4014-999C-5D9735802D1D)] interface ICertificateEnrollmentManagerStatics2 : IInspectable { [propget] HRESULT UserCertificateEnrollmentManager([out] [retval] Windows.Security.Cryptography.Certificates.UserCertificateEnrollmentManager** value); [overload("ImportPfxDataAsync")] HRESULT ImportPfxDataToKspAsync([in] HSTRING pfxData, [in] HSTRING password, [in] Windows.Security.Cryptography.Certificates.ExportOption exportable, [in] Windows.Security.Cryptography.Certificates.KeyProtectionLevel keyProtectionLevel, [in] Windows.Security.Cryptography.Certificates.InstallOptions installOption, [in] HSTRING friendlyName, [in] HSTRING keyStorageProvider, [out] [retval] Windows.Foundation.IAsyncAction** value); } [contract(Windows.Foundation.UniversalApiContract, 1.0)] [exclusiveto(Windows.Security.Cryptography.Certificates.CertificateEnrollmentManager)] [uuid(FDEC82BE-617C-425A-B72D-398B26AC7264)] interface ICertificateEnrollmentManagerStatics3 : IInspectable { [overload("ImportPfxDataAsync")] HRESULT ImportPfxDataToKspWithParametersAsync([in] HSTRING pfxData, [in] HSTRING password, [in] Windows.Security.Cryptography.Certificates.PfxImportParameters* pfxImportParameters, [out] [retval] Windows.Foundation.IAsyncAction** value); } [contract(Windows.Foundation.UniversalApiContract, 4.0)] [exclusiveto(Windows.Security.Cryptography.Certificates.CertificateExtension)] [uuid(84CF0656-A9E6-454D-8E45-2EA7C4BCD53B)] interface ICertificateExtension : IInspectable { [propget] HRESULT ObjectId([out] [retval] HSTRING* value); [propput] HRESULT ObjectId([in] HSTRING value); [propget] HRESULT IsCritical([out] [retval] boolean* value); [propput] HRESULT IsCritical([in] boolean value); HRESULT EncodeValue([in] HSTRING value); [propget] HRESULT Value([out] UINT32* __valueSize, [out] [retval] [size_is(, *__valueSize)] BYTE** value); [propput] HRESULT Value([in] UINT32 __valueSize, [in] [size_is(__valueSize)] BYTE* value); } [contract(Windows.Foundation.UniversalApiContract, 1.0)] [exclusiveto(Windows.Security.Cryptography.Certificates.Certificate)] [uuid(17B4221C-4BAF-44A2-9608-04FB62B16942)] interface ICertificateFactory : IInspectable { HRESULT CreateCertificate([in] Windows.Storage.Streams.IBuffer* certBlob, [out] [retval] Windows.Security.Cryptography.Certificates.Certificate** certificate); } [contract(Windows.Foundation.UniversalApiContract, 1.0)] [exclusiveto(Windows.Security.Cryptography.Certificates.CertificateKeyUsages)] [uuid(6AC6206F-E1CF-486A-B485-A69C83E46FD1)] interface ICertificateKeyUsages : IInspectable { [propget] HRESULT EncipherOnly([out] [retval] boolean* value); [propput] HRESULT EncipherOnly([in] boolean value); [propget] HRESULT CrlSign([out] [retval] boolean* value); [propput] HRESULT CrlSign([in] boolean value); [propget] HRESULT KeyCertificateSign([out] [retval] boolean* value); [propput] HRESULT KeyCertificateSign([in] boolean value); [propget] HRESULT KeyAgreement([out] [retval] boolean* value); [propput] HRESULT KeyAgreement([in] boolean value); [propget] HRESULT DataEncipherment([out] [retval] boolean* value); [propput] HRESULT DataEncipherment([in] boolean value); [propget] HRESULT KeyEncipherment([out] [retval] boolean* value); [propput] HRESULT KeyEncipherment([in] boolean value); [propget] HRESULT NonRepudiation([out] [retval] boolean* value); [propput] HRESULT NonRepudiation([in] boolean value); [propget] HRESULT DigitalSignature([out] [retval] boolean* value); [propput] HRESULT DigitalSignature([in] boolean value); } [contract(Windows.Foundation.UniversalApiContract, 1.0)] [exclusiveto(Windows.Security.Cryptography.Certificates.CertificateQuery)] [uuid(5B082A31-A728-4916-B5EE-FFCB8ACF2417)] interface ICertificateQuery : IInspectable { [propget] HRESULT EnhancedKeyUsages([out] [retval] Windows.Foundation.Collections.IVector** value); [propget] HRESULT IssuerName([out] [retval] HSTRING* value); [propput] HRESULT IssuerName([in] HSTRING value); [propget] HRESULT FriendlyName([out] [retval] HSTRING* value); [propput] HRESULT FriendlyName([in] HSTRING value); [propget] HRESULT Thumbprint([out] UINT32* __valueSize, [out] [retval] [size_is(, *__valueSize)] BYTE** value); [propput] HRESULT Thumbprint([in] UINT32 __valueSize, [in] [size_is(__valueSize)] BYTE* value); [propget] HRESULT HardwareOnly([out] [retval] boolean* value); [propput] HRESULT HardwareOnly([in] boolean value); } [contract(Windows.Foundation.UniversalApiContract, 1.0)] [exclusiveto(Windows.Security.Cryptography.Certificates.CertificateQuery)] [uuid(935A0AF7-0BD9-4F75-B8C2-E27A7F74EECD)] interface ICertificateQuery2 : IInspectable { [propget] HRESULT IncludeDuplicates([out] [retval] boolean* value); [propput] HRESULT IncludeDuplicates([in] boolean value); [propget] HRESULT IncludeExpiredCertificates([out] [retval] boolean* value); [propput] HRESULT IncludeExpiredCertificates([in] boolean value); [propget] HRESULT StoreName([out] [retval] HSTRING* value); [propput] HRESULT StoreName([in] HSTRING value); } [contract(Windows.Foundation.UniversalApiContract, 1.0)] [exclusiveto(Windows.Security.Cryptography.Certificates.CertificateRequestProperties)] [uuid(487E84F6-94E2-4DCE-8833-1A700A37A29A)] interface ICertificateRequestProperties : IInspectable { [propget] HRESULT Subject([out] [retval] HSTRING* value); [propput] HRESULT Subject([in] HSTRING value); [propget] HRESULT KeyAlgorithmName([out] [retval] HSTRING* value); [propput] HRESULT KeyAlgorithmName([in] HSTRING value); [propget] HRESULT KeySize([out] [retval] UINT32* value); [propput] HRESULT KeySize([in] UINT32 value); [propget] HRESULT FriendlyName([out] [retval] HSTRING* value); [propput] HRESULT FriendlyName([in] HSTRING value); [propget] HRESULT HashAlgorithmName([out] [retval] HSTRING* value); [propput] HRESULT HashAlgorithmName([in] HSTRING value); [propget] HRESULT Exportable([out] [retval] Windows.Security.Cryptography.Certificates.ExportOption* value); [propput] HRESULT Exportable([in] Windows.Security.Cryptography.Certificates.ExportOption value); [propget] HRESULT KeyUsages([out] [retval] Windows.Security.Cryptography.Certificates.EnrollKeyUsages* value); [propput] HRESULT KeyUsages([in] Windows.Security.Cryptography.Certificates.EnrollKeyUsages value); [propget] HRESULT KeyProtectionLevel([out] [retval] Windows.Security.Cryptography.Certificates.KeyProtectionLevel* value); [propput] HRESULT KeyProtectionLevel([in] Windows.Security.Cryptography.Certificates.KeyProtectionLevel value); [propget] HRESULT KeyStorageProviderName([out] [retval] HSTRING* value); [propput] HRESULT KeyStorageProviderName([in] HSTRING value); } [contract(Windows.Foundation.UniversalApiContract, 1.0)] [exclusiveto(Windows.Security.Cryptography.Certificates.CertificateRequestProperties)] [uuid(3DA0C954-D73F-4FF3-A0A6-0677C0ADA05B)] interface ICertificateRequestProperties2 : IInspectable { [propget] HRESULT SmartcardReaderName([out] [retval] HSTRING* value); [propput] HRESULT SmartcardReaderName([in] HSTRING value); [propget] HRESULT SigningCertificate([out] [retval] Windows.Security.Cryptography.Certificates.Certificate** value); [propput] HRESULT SigningCertificate([in] Windows.Security.Cryptography.Certificates.Certificate* value); [propget] HRESULT AttestationCredentialCertificate([out] [retval] Windows.Security.Cryptography.Certificates.Certificate** value); [propput] HRESULT AttestationCredentialCertificate([in] Windows.Security.Cryptography.Certificates.Certificate* value); } [contract(Windows.Foundation.UniversalApiContract, 1.0)] [exclusiveto(Windows.Security.Cryptography.Certificates.CertificateRequestProperties)] [uuid(E687F616-734D-46B1-9D4C-6EDFDBFC845B)] interface ICertificateRequestProperties3 : IInspectable { [propget] HRESULT CurveName([out] [retval] HSTRING* value); [propput] HRESULT CurveName([in] HSTRING value); [propget] HRESULT CurveParameters([out] UINT32* __valueSize, [out] [retval] [size_is(, *__valueSize)] BYTE** value); [propput] HRESULT CurveParameters([in] UINT32 __valueSize, [in] [size_is(__valueSize)] BYTE* value); [propget] HRESULT ContainerNamePrefix([out] [retval] HSTRING* value); [propput] HRESULT ContainerNamePrefix([in] HSTRING value); [propget] HRESULT ContainerName([out] [retval] HSTRING* value); [propput] HRESULT ContainerName([in] HSTRING value); [propget] HRESULT UseExistingKey([out] [retval] boolean* value); [propput] HRESULT UseExistingKey([in] boolean value); } [contract(Windows.Foundation.UniversalApiContract, 4.0)] [exclusiveto(Windows.Security.Cryptography.Certificates.CertificateRequestProperties)] [uuid(4E429AD2-1C61-4FEA-B8FE-135FB19CDCE4)] interface ICertificateRequestProperties4 : IInspectable { [propget] HRESULT SuppressedDefaults([out] [retval] Windows.Foundation.Collections.IVector** value); [propget] HRESULT SubjectAlternativeName([out] [retval] Windows.Security.Cryptography.Certificates.SubjectAlternativeNameInfo** value); [propget] HRESULT Extensions([out] [retval] Windows.Foundation.Collections.IVector** value); } [contract(Windows.Foundation.UniversalApiContract, 1.0)] [exclusiveto(Windows.Security.Cryptography.Certificates.CertificateStore)] [uuid(B0BFF720-344E-4331-AF14-A7F7A7EBC93A)] interface ICertificateStore : IInspectable { HRESULT Add([in] Windows.Security.Cryptography.Certificates.Certificate* certificate); HRESULT Delete([in] Windows.Security.Cryptography.Certificates.Certificate* certificate); } [contract(Windows.Foundation.UniversalApiContract, 1.0)] [exclusiveto(Windows.Security.Cryptography.Certificates.CertificateStore)] [uuid(C7E68E4A-417D-4D1A-BABD-15687E549974)] interface ICertificateStore2 : IInspectable { [propget] HRESULT Name([out] [retval] HSTRING* value); } [contract(Windows.Foundation.UniversalApiContract, 1.0)] [exclusiveto(Windows.Security.Cryptography.Certificates.CertificateStores)] [uuid(FBECC739-C6FE-4DE7-99CF-74C3E596E032)] interface ICertificateStoresStatics : IInspectable { [overload("FindAllAsync")] HRESULT FindAllAsync([out] [retval] Windows.Foundation.IAsyncOperation*>** value); [overload("FindAllAsync")] HRESULT FindAllWithQueryAsync([in] Windows.Security.Cryptography.Certificates.CertificateQuery* query, [out] [retval] Windows.Foundation.IAsyncOperation*>** value); [propget] HRESULT TrustedRootCertificationAuthorities([out] [retval] Windows.Security.Cryptography.Certificates.CertificateStore** value); [propget] HRESULT IntermediateCertificationAuthorities([out] [retval] Windows.Security.Cryptography.Certificates.CertificateStore** value); HRESULT GetStoreByName([in] HSTRING storeName, [out] [retval] Windows.Security.Cryptography.Certificates.CertificateStore** value); } [contract(Windows.Foundation.UniversalApiContract, 3.0)] [exclusiveto(Windows.Security.Cryptography.Certificates.CertificateStores)] [uuid(FA900B79-A0D4-4B8C-BC55-C0A37EB141ED)] interface ICertificateStoresStatics2 : IInspectable { HRESULT GetUserStoreByName([in] HSTRING storeName, [out] [retval] Windows.Security.Cryptography.Certificates.UserCertificateStore** result); } [contract(Windows.Foundation.UniversalApiContract, 1.0)] [exclusiveto(Windows.Security.Cryptography.Certificates.ChainBuildingParameters)] [uuid(422BA922-7C8D-47B7-B59B-B12703733AC3)] interface IChainBuildingParameters : IInspectable { [propget] HRESULT EnhancedKeyUsages([out] [retval] Windows.Foundation.Collections.IVector** value); [propget] HRESULT ValidationTimestamp([out] [retval] Windows.Foundation.DateTime* value); [propput] HRESULT ValidationTimestamp([in] Windows.Foundation.DateTime value); [propget] HRESULT RevocationCheckEnabled([out] [retval] boolean* value); [propput] HRESULT RevocationCheckEnabled([in] boolean value); [propget] HRESULT NetworkRetrievalEnabled([out] [retval] boolean* value); [propput] HRESULT NetworkRetrievalEnabled([in] boolean value); [propget] HRESULT AuthorityInformationAccessEnabled([out] [retval] boolean* value); [propput] HRESULT AuthorityInformationAccessEnabled([in] boolean value); [propget] HRESULT CurrentTimeValidationEnabled([out] [retval] boolean* value); [propput] HRESULT CurrentTimeValidationEnabled([in] boolean value); [propget] HRESULT ExclusiveTrustRoots([out] [retval] Windows.Foundation.Collections.IVector** certificates); } [contract(Windows.Foundation.UniversalApiContract, 1.0)] [exclusiveto(Windows.Security.Cryptography.Certificates.ChainValidationParameters)] [uuid(C4743B4A-7EB0-4B56-A040-B9C8E655DDF3)] interface IChainValidationParameters : IInspectable { [propget] HRESULT CertificateChainPolicy([out] [retval] Windows.Security.Cryptography.Certificates.CertificateChainPolicy* value); [propput] HRESULT CertificateChainPolicy([in] Windows.Security.Cryptography.Certificates.CertificateChainPolicy value); [propget] HRESULT ServerDnsName([out] [retval] Windows.Networking.HostName** value); [propput] HRESULT ServerDnsName([in] Windows.Networking.HostName* value); } [contract(Windows.Foundation.UniversalApiContract, 1.0)] [exclusiveto(Windows.Security.Cryptography.Certificates.CmsAttachedSignature)] [uuid(61899D9D-3757-4ECB-BDDC-0CA357D7A936)] interface ICmsAttachedSignature : IInspectable { [propget] HRESULT Certificates([out] [retval] Windows.Foundation.Collections.IVectorView** value); [propget] HRESULT Content([out] UINT32* __valueSize, [out] [retval] [size_is(, *__valueSize)] BYTE** value); [propget] HRESULT Signers([out] [retval] Windows.Foundation.Collections.IVectorView** value); HRESULT VerifySignature([out] [retval] Windows.Security.Cryptography.Certificates.SignatureValidationResult* value); } [contract(Windows.Foundation.UniversalApiContract, 1.0)] [exclusiveto(Windows.Security.Cryptography.Certificates.CmsAttachedSignature)] [uuid(D0C8FC15-F757-4C64-A362-52CC1C77CFFB)] interface ICmsAttachedSignatureFactory : IInspectable { HRESULT CreateCmsAttachedSignature([in] Windows.Storage.Streams.IBuffer* inputBlob, [out] [retval] Windows.Security.Cryptography.Certificates.CmsAttachedSignature** cmsSignedData); } [contract(Windows.Foundation.UniversalApiContract, 1.0)] [exclusiveto(Windows.Security.Cryptography.Certificates.CmsAttachedSignature)] [uuid(87989C8E-B0AD-498D-A7F5-78B59BCE4B36)] interface ICmsAttachedSignatureStatics : IInspectable { HRESULT GenerateSignatureAsync([in] Windows.Storage.Streams.IBuffer* data, [in] Windows.Foundation.Collections.IIterable* signers, [in] Windows.Foundation.Collections.IIterable* certificates, [out] [retval] Windows.Foundation.IAsyncOperation** outputBlob); } [contract(Windows.Foundation.UniversalApiContract, 1.0)] [exclusiveto(Windows.Security.Cryptography.Certificates.CmsDetachedSignature)] [uuid(0F1EF154-F65E-4536-8339-5944081DB2CA)] interface ICmsDetachedSignature : IInspectable { [propget] HRESULT Certificates([out] [retval] Windows.Foundation.Collections.IVectorView** value); [propget] HRESULT Signers([out] [retval] Windows.Foundation.Collections.IVectorView** value); HRESULT VerifySignatureAsync([in] Windows.Storage.Streams.IInputStream* data, [out] [retval] Windows.Foundation.IAsyncOperation** value); } [contract(Windows.Foundation.UniversalApiContract, 1.0)] [exclusiveto(Windows.Security.Cryptography.Certificates.CmsDetachedSignature)] [uuid(C4AB3503-AE7F-4387-AD19-00F150E48EBB)] interface ICmsDetachedSignatureFactory : IInspectable { HRESULT CreateCmsDetachedSignature([in] Windows.Storage.Streams.IBuffer* inputBlob, [out] [retval] Windows.Security.Cryptography.Certificates.CmsDetachedSignature** cmsSignedData); } [contract(Windows.Foundation.UniversalApiContract, 1.0)] [exclusiveto(Windows.Security.Cryptography.Certificates.CmsDetachedSignature)] [uuid(3D114CFD-BF9B-4682-9BE6-91F57C053808)] interface ICmsDetachedSignatureStatics : IInspectable { HRESULT GenerateSignatureAsync([in] Windows.Storage.Streams.IInputStream* data, [in] Windows.Foundation.Collections.IIterable* signers, [in] Windows.Foundation.Collections.IIterable* certificates, [out] [retval] Windows.Foundation.IAsyncOperation** outputBlob); } [contract(Windows.Foundation.UniversalApiContract, 1.0)] [exclusiveto(Windows.Security.Cryptography.Certificates.CmsSignerInfo)] [uuid(50D020DB-1D2F-4C1A-B5C5-D0188FF91F47)] interface ICmsSignerInfo : IInspectable { [propget] HRESULT Certificate([out] [retval] Windows.Security.Cryptography.Certificates.Certificate** value); [propput] HRESULT Certificate([in] Windows.Security.Cryptography.Certificates.Certificate* value); [propget] HRESULT HashAlgorithmName([out] [retval] HSTRING* value); [propput] HRESULT HashAlgorithmName([in] HSTRING value); [propget] HRESULT TimestampInfo([out] [retval] Windows.Security.Cryptography.Certificates.CmsTimestampInfo** value); } [contract(Windows.Foundation.UniversalApiContract, 1.0)] [exclusiveto(Windows.Security.Cryptography.Certificates.CmsTimestampInfo)] [uuid(2F5F00F2-2C18-4F88-8435-C534086076F5)] interface ICmsTimestampInfo : IInspectable { [propget] HRESULT SigningCertificate([out] [retval] Windows.Security.Cryptography.Certificates.Certificate** value); [propget] HRESULT Certificates([out] [retval] Windows.Foundation.Collections.IVectorView** value); [propget] HRESULT Timestamp([out] [retval] Windows.Foundation.DateTime* value); } [contract(Windows.Foundation.UniversalApiContract, 1.0)] [exclusiveto(Windows.Security.Cryptography.Certificates.KeyAlgorithmNames)] [uuid(479065D7-7AC7-4581-8C3B-D07027140448)] interface IKeyAlgorithmNamesStatics : IInspectable { [propget] HRESULT Rsa([out] [retval] HSTRING* value); [propget] HRESULT Dsa([out] [retval] HSTRING* value); [propget] HRESULT Ecdh256([out] [retval] HSTRING* value); [propget] HRESULT Ecdh384([out] [retval] HSTRING* value); [propget] HRESULT Ecdh521([out] [retval] HSTRING* value); [propget] HRESULT Ecdsa256([out] [retval] HSTRING* value); [propget] HRESULT Ecdsa384([out] [retval] HSTRING* value); [propget] HRESULT Ecdsa521([out] [retval] HSTRING* value); } [contract(Windows.Foundation.UniversalApiContract, 1.0)] [exclusiveto(Windows.Security.Cryptography.Certificates.KeyAlgorithmNames)] [uuid(C99B5686-E1FD-4A4A-893D-A26F33DD8BB4)] interface IKeyAlgorithmNamesStatics2 : IInspectable { [propget] HRESULT Ecdsa([out] [retval] HSTRING* value); [propget] HRESULT Ecdh([out] [retval] HSTRING* value); } [contract(Windows.Foundation.UniversalApiContract, 1.0)] [exclusiveto(Windows.Security.Cryptography.Certificates.KeyAttestationHelper)] [uuid(1648E246-F644-4326-88BE-3AF102D30E0C)] interface IKeyAttestationHelperStatics : IInspectable { [overload("DecryptTpmAttestationCredentialAsync")] HRESULT DecryptTpmAttestationCredentialAsync([in] HSTRING credential, [out] [retval] Windows.Foundation.IAsyncOperation** value); HRESULT GetTpmAttestationCredentialId([in] HSTRING credential, [out] [retval] HSTRING* value); } [contract(Windows.Foundation.UniversalApiContract, 1.0)] [exclusiveto(Windows.Security.Cryptography.Certificates.KeyAttestationHelper)] [uuid(9C590B2C-A6C6-4A5E-9E64-E85D5279DF97)] interface IKeyAttestationHelperStatics2 : IInspectable { [overload("DecryptTpmAttestationCredentialAsync")] HRESULT DecryptTpmAttestationCredentialWithContainerNameAsync([in] HSTRING credential, [in] HSTRING containerName, [out] [retval] Windows.Foundation.IAsyncOperation** value); } [contract(Windows.Foundation.UniversalApiContract, 1.0)] [exclusiveto(Windows.Security.Cryptography.Certificates.KeyStorageProviderNames)] [uuid(AF186AE0-5529-4602-BD94-0AAB91957B5C)] interface IKeyStorageProviderNamesStatics : IInspectable { [propget] HRESULT SoftwareKeyStorageProvider([out] [retval] HSTRING* value); [propget] HRESULT SmartcardKeyStorageProvider([out] [retval] HSTRING* value); [propget] HRESULT PlatformKeyStorageProvider([out] [retval] HSTRING* value); } [contract(Windows.Foundation.UniversalApiContract, 1.0)] [exclusiveto(Windows.Security.Cryptography.Certificates.KeyStorageProviderNames)] [uuid(262D743D-9C2E-41CC-8812-C4D971DD7C60)] interface IKeyStorageProviderNamesStatics2 : IInspectable { [propget] HRESULT PassportKeyStorageProvider([out] [retval] HSTRING* value); } [contract(Windows.Foundation.UniversalApiContract, 1.0)] [exclusiveto(Windows.Security.Cryptography.Certificates.PfxImportParameters)] [uuid(680D3511-9A08-47C8-864A-2EDD4D8EB46C)] interface IPfxImportParameters : IInspectable { [propget] HRESULT Exportable([out] [retval] Windows.Security.Cryptography.Certificates.ExportOption* value); [propput] HRESULT Exportable([in] Windows.Security.Cryptography.Certificates.ExportOption value); [propget] HRESULT KeyProtectionLevel([out] [retval] Windows.Security.Cryptography.Certificates.KeyProtectionLevel* value); [propput] HRESULT KeyProtectionLevel([in] Windows.Security.Cryptography.Certificates.KeyProtectionLevel value); [propget] HRESULT InstallOptions([out] [retval] Windows.Security.Cryptography.Certificates.InstallOptions* value); [propput] HRESULT InstallOptions([in] Windows.Security.Cryptography.Certificates.InstallOptions value); [propget] HRESULT FriendlyName([out] [retval] HSTRING* value); [propput] HRESULT FriendlyName([in] HSTRING value); [propget] HRESULT KeyStorageProviderName([out] [retval] HSTRING* value); [propput] HRESULT KeyStorageProviderName([in] HSTRING value); [propget] HRESULT ContainerNamePrefix([out] [retval] HSTRING* value); [propput] HRESULT ContainerNamePrefix([in] HSTRING value); [propget] HRESULT ReaderName([out] [retval] HSTRING* value); [propput] HRESULT ReaderName([in] HSTRING value); } [contract(Windows.Foundation.UniversalApiContract, 3.0)] [exclusiveto(Windows.Security.Cryptography.Certificates.StandardCertificateStoreNames)] [uuid(0C154ADB-A496-41F8-8FE5-9E96F36EFBF8)] interface IStandardCertificateStoreNamesStatics : IInspectable { [propget] HRESULT Personal([out] [retval] HSTRING* value); [propget] HRESULT TrustedRootCertificationAuthorities([out] [retval] HSTRING* value); [propget] HRESULT IntermediateCertificationAuthorities([out] [retval] HSTRING* value); } [contract(Windows.Foundation.UniversalApiContract, 1.0)] [exclusiveto(Windows.Security.Cryptography.Certificates.SubjectAlternativeNameInfo)] [uuid(582859F1-569D-4C20-BE7B-4E1C9A0BC52B)] interface ISubjectAlternativeNameInfo : IInspectable { [propget] HRESULT EmailName([out] [retval] Windows.Foundation.Collections.IVectorView** value); [propget] HRESULT IPAddress([out] [retval] Windows.Foundation.Collections.IVectorView** value); [propget] HRESULT Url([out] [retval] Windows.Foundation.Collections.IVectorView** value); [propget] HRESULT DnsName([out] [retval] Windows.Foundation.Collections.IVectorView** value); [propget] HRESULT DistinguishedName([out] [retval] Windows.Foundation.Collections.IVectorView** value); [propget] HRESULT PrincipalName([out] [retval] Windows.Foundation.Collections.IVectorView** value); } [contract(Windows.Foundation.UniversalApiContract, 4.0)] [exclusiveto(Windows.Security.Cryptography.Certificates.SubjectAlternativeNameInfo)] [uuid(437A78C6-1C51-41EA-B34A-3D654398A370)] interface ISubjectAlternativeNameInfo2 : IInspectable { [propget] HRESULT EmailNames([out] [retval] Windows.Foundation.Collections.IVector** value); [propget] HRESULT IPAddresses([out] [retval] Windows.Foundation.Collections.IVector** value); [propget] HRESULT Urls([out] [retval] Windows.Foundation.Collections.IVector** value); [propget] HRESULT DnsNames([out] [retval] Windows.Foundation.Collections.IVector** value); [propget] HRESULT DistinguishedNames([out] [retval] Windows.Foundation.Collections.IVector** value); [propget] HRESULT PrincipalNames([out] [retval] Windows.Foundation.Collections.IVector** value); [propget] HRESULT Extension([out] [retval] Windows.Security.Cryptography.Certificates.CertificateExtension** value); } [contract(Windows.Foundation.UniversalApiContract, 1.0)] [exclusiveto(Windows.Security.Cryptography.Certificates.UserCertificateEnrollmentManager)] [uuid(96313718-22E1-4819-B20B-AB46A6ECA06E)] interface IUserCertificateEnrollmentManager : IInspectable { HRESULT CreateRequestAsync([in] Windows.Security.Cryptography.Certificates.CertificateRequestProperties* request, [out] [retval] Windows.Foundation.IAsyncOperation** value); HRESULT InstallCertificateAsync([in] HSTRING certificate, [in] Windows.Security.Cryptography.Certificates.InstallOptions installOption, [out] [retval] Windows.Foundation.IAsyncAction** value); [overload("ImportPfxDataAsync")] HRESULT ImportPfxDataAsync([in] HSTRING pfxData, [in] HSTRING password, [in] Windows.Security.Cryptography.Certificates.ExportOption exportable, [in] Windows.Security.Cryptography.Certificates.KeyProtectionLevel keyProtectionLevel, [in] Windows.Security.Cryptography.Certificates.InstallOptions installOption, [in] HSTRING friendlyName, [out] [retval] Windows.Foundation.IAsyncAction** value); [overload("ImportPfxDataAsync")] HRESULT ImportPfxDataToKspAsync([in] HSTRING pfxData, [in] HSTRING password, [in] Windows.Security.Cryptography.Certificates.ExportOption exportable, [in] Windows.Security.Cryptography.Certificates.KeyProtectionLevel keyProtectionLevel, [in] Windows.Security.Cryptography.Certificates.InstallOptions installOption, [in] HSTRING friendlyName, [in] HSTRING keyStorageProvider, [out] [retval] Windows.Foundation.IAsyncAction** value); } [contract(Windows.Foundation.UniversalApiContract, 1.0)] [exclusiveto(Windows.Security.Cryptography.Certificates.UserCertificateEnrollmentManager)] [uuid(0DAD9CB1-65DE-492A-B86D-FC5C482C3747)] interface IUserCertificateEnrollmentManager2 : IInspectable { [overload("ImportPfxDataAsync")] HRESULT ImportPfxDataToKspWithParametersAsync([in] HSTRING pfxData, [in] HSTRING password, [in] Windows.Security.Cryptography.Certificates.PfxImportParameters* pfxImportParameters, [out] [retval] Windows.Foundation.IAsyncAction** value); } [contract(Windows.Foundation.UniversalApiContract, 3.0)] [exclusiveto(Windows.Security.Cryptography.Certificates.UserCertificateStore)] [uuid(C9FB1D83-789F-4B4E-9180-045A757AAC6D)] interface IUserCertificateStore : IInspectable { HRESULT RequestAddAsync([in] Windows.Security.Cryptography.Certificates.Certificate* certificate, [out] [retval] Windows.Foundation.IAsyncOperation** result); HRESULT RequestDeleteAsync([in] Windows.Security.Cryptography.Certificates.Certificate* certificate, [out] [retval] Windows.Foundation.IAsyncOperation** result); [propget] HRESULT Name([out] [retval] HSTRING* value); } [activatable(Windows.Security.Cryptography.Certificates.ICertificateFactory, Windows.Foundation.UniversalApiContract, 1.0)] [contract(Windows.Foundation.UniversalApiContract, 1.0)] [marshaling_behavior(agile)] [threading(both)] runtimeclass Certificate { [default] interface Windows.Security.Cryptography.Certificates.ICertificate; [contract(Windows.Foundation.UniversalApiContract, 1.0)] interface Windows.Security.Cryptography.Certificates.ICertificate2; [contract(Windows.Foundation.UniversalApiContract, 3.0)] interface Windows.Security.Cryptography.Certificates.ICertificate3; } [contract(Windows.Foundation.UniversalApiContract, 1.0)] [marshaling_behavior(agile)] [threading(both)] runtimeclass CertificateChain { [default] interface Windows.Security.Cryptography.Certificates.ICertificateChain; } [contract(Windows.Foundation.UniversalApiContract, 1.0)] [marshaling_behavior(agile)] [static(Windows.Security.Cryptography.Certificates.ICertificateEnrollmentManagerStatics, Windows.Foundation.UniversalApiContract, 1.0)] [static(Windows.Security.Cryptography.Certificates.ICertificateEnrollmentManagerStatics2, Windows.Foundation.UniversalApiContract, 1.0)] [static(Windows.Security.Cryptography.Certificates.ICertificateEnrollmentManagerStatics3, Windows.Foundation.UniversalApiContract, 1.0)] [threading(both)] runtimeclass CertificateEnrollmentManager { } [activatable(Windows.Foundation.UniversalApiContract, 4.0)] [contract(Windows.Foundation.UniversalApiContract, 4.0)] [marshaling_behavior(agile)] [threading(both)] runtimeclass CertificateExtension { [default] interface Windows.Security.Cryptography.Certificates.ICertificateExtension; } [activatable(Windows.Foundation.UniversalApiContract, 1.0)] [contract(Windows.Foundation.UniversalApiContract, 1.0)] [marshaling_behavior(agile)] [threading(both)] runtimeclass CertificateKeyUsages { [default] interface Windows.Security.Cryptography.Certificates.ICertificateKeyUsages; } [activatable(Windows.Foundation.UniversalApiContract, 1.0)] [contract(Windows.Foundation.UniversalApiContract, 1.0)] [marshaling_behavior(agile)] [threading(both)] runtimeclass CertificateQuery { [default] interface Windows.Security.Cryptography.Certificates.ICertificateQuery; [contract(Windows.Foundation.UniversalApiContract, 1.0)] interface Windows.Security.Cryptography.Certificates.ICertificateQuery2; } [activatable(Windows.Foundation.UniversalApiContract, 1.0)] [contract(Windows.Foundation.UniversalApiContract, 1.0)] [marshaling_behavior(agile)] [threading(both)] runtimeclass CertificateRequestProperties { [default] interface Windows.Security.Cryptography.Certificates.ICertificateRequestProperties; [contract(Windows.Foundation.UniversalApiContract, 1.0)] interface Windows.Security.Cryptography.Certificates.ICertificateRequestProperties2; [contract(Windows.Foundation.UniversalApiContract, 1.0)] interface Windows.Security.Cryptography.Certificates.ICertificateRequestProperties3; [contract(Windows.Foundation.UniversalApiContract, 4.0)] interface Windows.Security.Cryptography.Certificates.ICertificateRequestProperties4; } [contract(Windows.Foundation.UniversalApiContract, 1.0)] [marshaling_behavior(agile)] [threading(both)] runtimeclass CertificateStore { [default] interface Windows.Security.Cryptography.Certificates.ICertificateStore; [contract(Windows.Foundation.UniversalApiContract, 1.0)] interface Windows.Security.Cryptography.Certificates.ICertificateStore2; } [contract(Windows.Foundation.UniversalApiContract, 1.0)] [marshaling_behavior(agile)] [static(Windows.Security.Cryptography.Certificates.ICertificateStoresStatics, Windows.Foundation.UniversalApiContract, 1.0)] [static(Windows.Security.Cryptography.Certificates.ICertificateStoresStatics2, Windows.Foundation.UniversalApiContract, 3.0)] [threading(both)] runtimeclass CertificateStores { } [activatable(Windows.Foundation.UniversalApiContract, 1.0)] [contract(Windows.Foundation.UniversalApiContract, 1.0)] [marshaling_behavior(agile)] [threading(both)] runtimeclass ChainBuildingParameters { [default] interface Windows.Security.Cryptography.Certificates.IChainBuildingParameters; } [activatable(Windows.Foundation.UniversalApiContract, 1.0)] [contract(Windows.Foundation.UniversalApiContract, 1.0)] [marshaling_behavior(agile)] [threading(both)] runtimeclass ChainValidationParameters { [default] interface Windows.Security.Cryptography.Certificates.IChainValidationParameters; } [activatable(Windows.Security.Cryptography.Certificates.ICmsAttachedSignatureFactory, Windows.Foundation.UniversalApiContract, 1.0)] [contract(Windows.Foundation.UniversalApiContract, 1.0)] [marshaling_behavior(agile)] [static(Windows.Security.Cryptography.Certificates.ICmsAttachedSignatureStatics, Windows.Foundation.UniversalApiContract, 1.0)] [threading(both)] runtimeclass CmsAttachedSignature { [default] interface Windows.Security.Cryptography.Certificates.ICmsAttachedSignature; } [activatable(Windows.Security.Cryptography.Certificates.ICmsDetachedSignatureFactory, Windows.Foundation.UniversalApiContract, 1.0)] [contract(Windows.Foundation.UniversalApiContract, 1.0)] [marshaling_behavior(agile)] [static(Windows.Security.Cryptography.Certificates.ICmsDetachedSignatureStatics, Windows.Foundation.UniversalApiContract, 1.0)] [threading(both)] runtimeclass CmsDetachedSignature { [default] interface Windows.Security.Cryptography.Certificates.ICmsDetachedSignature; } [activatable(Windows.Foundation.UniversalApiContract, 1.0)] [contract(Windows.Foundation.UniversalApiContract, 1.0)] [marshaling_behavior(agile)] [threading(both)] runtimeclass CmsSignerInfo { [default] interface Windows.Security.Cryptography.Certificates.ICmsSignerInfo; } [contract(Windows.Foundation.UniversalApiContract, 1.0)] [marshaling_behavior(agile)] [threading(both)] runtimeclass CmsTimestampInfo { [default] interface Windows.Security.Cryptography.Certificates.ICmsTimestampInfo; } [contract(Windows.Foundation.UniversalApiContract, 1.0)] [marshaling_behavior(agile)] [static(Windows.Security.Cryptography.Certificates.IKeyAlgorithmNamesStatics, Windows.Foundation.UniversalApiContract, 1.0)] [static(Windows.Security.Cryptography.Certificates.IKeyAlgorithmNamesStatics2, Windows.Foundation.UniversalApiContract, 1.0)] [threading(both)] runtimeclass KeyAlgorithmNames { } [contract(Windows.Foundation.UniversalApiContract, 1.0)] [marshaling_behavior(agile)] [static(Windows.Security.Cryptography.Certificates.IKeyAttestationHelperStatics, Windows.Foundation.UniversalApiContract, 1.0)] [static(Windows.Security.Cryptography.Certificates.IKeyAttestationHelperStatics2, Windows.Foundation.UniversalApiContract, 1.0)] [threading(both)] runtimeclass KeyAttestationHelper { } [contract(Windows.Foundation.UniversalApiContract, 1.0)] [marshaling_behavior(agile)] [static(Windows.Security.Cryptography.Certificates.IKeyStorageProviderNamesStatics, Windows.Foundation.UniversalApiContract, 1.0)] [static(Windows.Security.Cryptography.Certificates.IKeyStorageProviderNamesStatics2, Windows.Foundation.UniversalApiContract, 1.0)] [threading(both)] runtimeclass KeyStorageProviderNames { } [activatable(Windows.Foundation.UniversalApiContract, 1.0)] [contract(Windows.Foundation.UniversalApiContract, 1.0)] [marshaling_behavior(agile)] [threading(both)] runtimeclass PfxImportParameters { [default] interface Windows.Security.Cryptography.Certificates.IPfxImportParameters; } [contract(Windows.Foundation.UniversalApiContract, 3.0)] [marshaling_behavior(agile)] [static(Windows.Security.Cryptography.Certificates.IStandardCertificateStoreNamesStatics, Windows.Foundation.UniversalApiContract, 3.0)] [threading(both)] runtimeclass StandardCertificateStoreNames { } [activatable(Windows.Foundation.UniversalApiContract, 1.0)] [contract(Windows.Foundation.UniversalApiContract, 1.0)] [marshaling_behavior(agile)] [threading(both)] runtimeclass SubjectAlternativeNameInfo { [default] interface Windows.Security.Cryptography.Certificates.ISubjectAlternativeNameInfo; [contract(Windows.Foundation.UniversalApiContract, 4.0)] interface Windows.Security.Cryptography.Certificates.ISubjectAlternativeNameInfo2; } [contract(Windows.Foundation.UniversalApiContract, 1.0)] [marshaling_behavior(agile)] [threading(both)] runtimeclass UserCertificateEnrollmentManager { [default] interface Windows.Security.Cryptography.Certificates.IUserCertificateEnrollmentManager; [contract(Windows.Foundation.UniversalApiContract, 1.0)] interface Windows.Security.Cryptography.Certificates.IUserCertificateEnrollmentManager2; } [contract(Windows.Foundation.UniversalApiContract, 3.0)] [marshaling_behavior(agile)] [threading(both)] runtimeclass UserCertificateStore { [default] interface Windows.Security.Cryptography.Certificates.IUserCertificateStore; } } } } }