windows: Adding crypt32 api for SSL certificate loading.
parent
aac36d1af8
commit
f3eca53bf5
|
@ -0,0 +1 @@
|
|||
Doug Coleman
|
|
@ -0,0 +1,376 @@
|
|||
! Copyright (C) 2016 Doug Coleman.
|
||||
! See http://factorcode.org/license.txt for BSD license.
|
||||
USING: alien.syntax classes.struct windows.kernel32
|
||||
windows.types ;
|
||||
IN: windows.crypt32
|
||||
|
||||
LIBRARY: crypt32
|
||||
|
||||
TYPEDEF: HANDLE HCERTSTORE
|
||||
TYPEDEF: ULONG_PTR HCRYPTPROV
|
||||
TYPEDEF: HANDLE HCRYPTPROV_LEGACY
|
||||
|
||||
STRUCT: CRYPT_BIT_BLOB
|
||||
{ cbData DWORD }
|
||||
{ pbData BYTE* }
|
||||
{ cUnusedBits DWORD } ;
|
||||
TYPEDEF: CRYPT_BIT_BLOB* PCRYPT_BIT_BLOB
|
||||
|
||||
STRUCT: CRYPTOAPI_BLOB
|
||||
{ cbData DWORD }
|
||||
{ pbData BYTE* } ;
|
||||
|
||||
TYPEDEF: CRYPTOAPI_BLOB CRYPT_INTEGER_BLOB
|
||||
TYPEDEF: CRYPTOAPI_BLOB CRYPT_UINT_BLOB
|
||||
TYPEDEF: CRYPTOAPI_BLOB CRYPT_OBJID_BLOB
|
||||
TYPEDEF: CRYPTOAPI_BLOB CERT_NAME_BLOB
|
||||
TYPEDEF: CRYPTOAPI_BLOB CERT_RDN_VALUE_BLOB
|
||||
TYPEDEF: CRYPTOAPI_BLOB CERT_BLOB
|
||||
TYPEDEF: CRYPTOAPI_BLOB CRL_BLOB
|
||||
TYPEDEF: CRYPTOAPI_BLOB DATA_BLOB
|
||||
TYPEDEF: CRYPTOAPI_BLOB CRYPT_DATA_BLOB
|
||||
TYPEDEF: CRYPTOAPI_BLOB CRYPT_HASH_BLOB
|
||||
TYPEDEF: CRYPTOAPI_BLOB CRYPT_DIGEST_BLOB
|
||||
TYPEDEF: CRYPTOAPI_BLOB CRYPT_DER_BLOB
|
||||
TYPEDEF: CRYPTOAPI_BLOB CRYPT_ATTR_BLOB
|
||||
|
||||
STRUCT: CRYPT_ALGORITHM_IDENTIFIER
|
||||
{ pszObjId LPSTR }
|
||||
{ Parameters CRYPT_OBJID_BLOB } ;
|
||||
TYPEDEF: CRYPT_ALGORITHM_IDENTIFIER* PCRYPT_ALGORITHM_IDENTIFIER
|
||||
|
||||
STRUCT: CERT_PUBLIC_KEY_INFO
|
||||
{ Algorithm CRYPT_ALGORITHM_IDENTIFIER }
|
||||
{ PublicKey CRYPT_BIT_BLOB } ;
|
||||
TYPEDEF: CERT_PUBLIC_KEY_INFO* PCERT_PUBLIC_KEY_INFO
|
||||
|
||||
STRUCT: CERT_EXTENSION
|
||||
{ pszObjId LPSTR }
|
||||
{ fCritical BOOL }
|
||||
{ Value CRYPT_OBJID_BLOB } ;
|
||||
TYPEDEF: CERT_EXTENSION* PCERT_EXTENSION
|
||||
|
||||
STRUCT: CERT_INFO
|
||||
{ dwVersion DWORD }
|
||||
{ SerialNumber CRYPT_INTEGER_BLOB }
|
||||
{ SignatureAlgorithm CRYPT_ALGORITHM_IDENTIFIER }
|
||||
{ Issuer CERT_NAME_BLOB }
|
||||
{ NotBefore FILETIME }
|
||||
{ NotAfter FILETIME }
|
||||
{ Subject CERT_NAME_BLOB }
|
||||
{ SubjectPublicKeyInfo CERT_PUBLIC_KEY_INFO }
|
||||
{ IssuerUniqueId CRYPT_BIT_BLOB }
|
||||
{ SubjectUniqueId CRYPT_BIT_BLOB }
|
||||
{ cExtension DWORD }
|
||||
{ rgExtension PCERT_EXTENSION } ;
|
||||
TYPEDEF: CERT_INFO* PCERT_INFO
|
||||
|
||||
STRUCT: CERT_CONTEXT
|
||||
{ dwCertEncodingType DWORD }
|
||||
{ pbCertEncoded BYTE* }
|
||||
{ cbCertEncoded DWORD }
|
||||
{ pCertInfo PCERT_INFO }
|
||||
{ hCertStore HCERTSTORE } ;
|
||||
TYPEDEF: CERT_CONTEXT* PCCERT_CONTEXT
|
||||
|
||||
|
||||
! CryptObjectLocatorFree
|
||||
! CryptObjectLocatorGet
|
||||
! CryptObjectLocatorGetContent
|
||||
! CryptObjectLocatorGetUpdated
|
||||
! CryptObjectLocatorInitialize
|
||||
! CryptObjectLocatorIsChanged
|
||||
! CryptObjectLocatorRelease
|
||||
! I_PFXImportCertStoreEx
|
||||
! CertAddCRLContextToStore
|
||||
! CertAddCRLLinkToStore
|
||||
! CertAddCTLContextToStore
|
||||
! CertAddCTLLinkToStore
|
||||
! CertAddCertificateContextToStore
|
||||
! CertAddCertificateLinkToStore
|
||||
! CertAddEncodedCRLToStore
|
||||
! CertAddEncodedCTLToStore
|
||||
! CertAddEncodedCertificateToStore
|
||||
! CertAddEncodedCertificateToSystemStoreA
|
||||
! CertAddEncodedCertificateToSystemStoreW
|
||||
! CertAddEnhancedKeyUsageIdentifier
|
||||
! CertAddRefServerOcspResponse
|
||||
! CertAddRefServerOcspResponseContext
|
||||
! CertAddSerializedElementToStore
|
||||
! CertAddStoreToCollection
|
||||
! CertAlgIdToOID
|
||||
! CertCloseServerOcspResponse
|
||||
FUNCTION: BOOL CertCloseStore ( HCERTSTORE hCertStore, DWORD dwFlags )
|
||||
! CertCompareCertificate
|
||||
! CertCompareCertificateName
|
||||
! CertCompareIntegerBlob
|
||||
! CertComparePublicKeyInfo
|
||||
! CertControlStore
|
||||
! CertCreateCRLContext
|
||||
! CertCreateCTLContext
|
||||
! CertCreateCTLEntryFromCertificateContextProperties
|
||||
! CertCreateCertificateChainEngine
|
||||
! CertCreateCertificateContext
|
||||
! CertCreateContext
|
||||
! CertCreateSelfSignCertificate
|
||||
! CertDeleteCRLFromStore
|
||||
! CertDeleteCTLFromStore
|
||||
! CertDeleteCertificateFromStore
|
||||
! CertDuplicateCRLContext
|
||||
! CertDuplicateCTLContext
|
||||
! CertDuplicateCertificateChain
|
||||
! CertDuplicateCertificateContext
|
||||
! CertDuplicateStore
|
||||
! CertEnumCRLContextProperties
|
||||
! CertEnumCRLsInStore
|
||||
! CertEnumCTLContextProperties
|
||||
! CertEnumCTLsInStore
|
||||
! CertEnumCertificateContextProperties
|
||||
FUNCTION: PCCERT_CONTEXT CertEnumCertificatesInStore (
|
||||
HCERTSTORE hCertStore,
|
||||
PCCERT_CONTEXT pPrevCertContext
|
||||
)
|
||||
! CertEnumPhysicalStore
|
||||
! CertEnumSubjectInSortedCTL
|
||||
! CertEnumSystemStore
|
||||
! CertEnumSystemStoreLocation
|
||||
! CertFindAttribute
|
||||
! CertFindCRLInStore
|
||||
! CertFindCTLInStore
|
||||
! CertFindCertificateInCRL
|
||||
! CertFindCertificateInStore
|
||||
! CertFindChainInStore
|
||||
! CertFindExtension
|
||||
! CertFindRDNAttr
|
||||
! CertFindSubjectInCTL
|
||||
! CertFindSubjectInSortedCTL
|
||||
! CertFreeCRLContext
|
||||
! CertFreeCTLContext
|
||||
! CertFreeCertificateChain
|
||||
! CertFreeCertificateChainEngine
|
||||
! CertFreeCertificateChainList
|
||||
FUNCTION: BOOL CertFreeCertificateContext ( PCCERT_CONTEXT pCertContext )
|
||||
! CertFreeServerOcspResponseContext
|
||||
! CertGetCRLContextProperty
|
||||
! CertGetCRLFromStore
|
||||
! CertGetCTLContextProperty
|
||||
! CertGetCertificateChain
|
||||
! CertGetCertificateContextProperty
|
||||
! CertGetEnhancedKeyUsage
|
||||
! CertGetIntendedKeyUsage
|
||||
! CertGetIssuerCertificateFromStore
|
||||
! CertGetNameStringA
|
||||
! CertGetNameStringW
|
||||
! CertGetPublicKeyLength
|
||||
! CertGetServerOcspResponseContext
|
||||
! CertGetStoreProperty
|
||||
! CertGetSubjectCertificateFromStore
|
||||
! CertGetValidUsages
|
||||
! CertIsRDNAttrsInCertificateName
|
||||
! CertIsStrongHashToSign
|
||||
! CertIsValidCRLForCertificate
|
||||
! CertIsWeakHash
|
||||
! CertNameToStrA
|
||||
! CertNameToStrW
|
||||
! CertOIDToAlgId
|
||||
! CertOpenServerOcspResponse
|
||||
! CertOpenStore
|
||||
! protocols: CA, MY, ROOT, SPC
|
||||
|
||||
FUNCTION: HCERTSTORE CertOpenSystemStoreW (
|
||||
HCRYPTPROV_LEGACY hprov,
|
||||
LPTCSTR szSubsystemProtocol
|
||||
)
|
||||
|
||||
ALIAS: CertOpenSystemStore CertOpenSystemStoreW
|
||||
|
||||
! CertRDNValueToStrA
|
||||
! CertRDNValueToStrW
|
||||
! CertRegisterPhysicalStore
|
||||
! CertRegisterSystemStore
|
||||
! CertRemoveEnhancedKeyUsageIdentifier
|
||||
! CertRemoveStoreFromCollection
|
||||
! CertResyncCertificateChainEngine
|
||||
! CertRetrieveLogoOrBiometricInfo
|
||||
! CertSaveStore
|
||||
! CertSelectCertificateChains
|
||||
! CertSerializeCRLStoreElement
|
||||
! CertSerializeCTLStoreElement
|
||||
! CertSerializeCertificateStoreElement
|
||||
! CertSetCRLContextProperty
|
||||
! CertSetCTLContextProperty
|
||||
! CertSetCertificateContextPropertiesFromCTLEntry
|
||||
! CertSetCertificateContextProperty
|
||||
! CertSetEnhancedKeyUsage
|
||||
! CertSetStoreProperty
|
||||
! CertStrToNameA
|
||||
! CertStrToNameW
|
||||
! CertUnregisterPhysicalStore
|
||||
! CertUnregisterSystemStore
|
||||
! CertVerifyCRLRevocation
|
||||
! CertVerifyCRLTimeValidity
|
||||
! CertVerifyCTLUsage
|
||||
! CertVerifyCertificateChainPolicy
|
||||
! CertVerifyRevocation
|
||||
! CertVerifySubjectCertificateContext
|
||||
! CertVerifyTimeValidity
|
||||
! CertVerifyValidityNesting
|
||||
! CryptAcquireCertificatePrivateKey
|
||||
! CryptBinaryToStringA
|
||||
! CryptBinaryToStringW
|
||||
! CryptCloseAsyncHandle
|
||||
! CryptCreateAsyncHandle
|
||||
! CryptCreateKeyIdentifierFromCSP
|
||||
! CryptDecodeMessage
|
||||
! CryptDecodeObject
|
||||
! CryptDecodeObjectEx
|
||||
! CryptDecryptAndVerifyMessageSignature
|
||||
! CryptDecryptMessage
|
||||
! CryptEncodeObject
|
||||
! CryptEncodeObjectEx
|
||||
! CryptEncryptMessage
|
||||
! CryptEnumKeyIdentifierProperties
|
||||
! CryptEnumOIDFunction
|
||||
! CryptEnumOIDInfo
|
||||
! CryptExportPKCS8
|
||||
! CryptExportPublicKeyInfo
|
||||
! CryptExportPublicKeyInfoEx
|
||||
! CryptExportPublicKeyInfoFromBCryptKeyHandle
|
||||
! CryptFindCertificateKeyProvInfo
|
||||
! CryptFindLocalizedName
|
||||
! CryptFindOIDInfo
|
||||
! CryptFormatObject
|
||||
! CryptFreeOIDFunctionAddress
|
||||
! CryptGetAsyncParam
|
||||
! CryptGetDefaultOIDDllList
|
||||
! CryptGetDefaultOIDFunctionAddress
|
||||
! CryptGetKeyIdentifierProperty
|
||||
! CryptGetMessageCertificates
|
||||
! CryptGetMessageSignerCount
|
||||
! CryptGetOIDFunctionAddress
|
||||
! CryptGetOIDFunctionValue
|
||||
! CryptHashCertificate
|
||||
! CryptHashCertificate2
|
||||
! CryptHashMessage
|
||||
! CryptHashPublicKeyInfo
|
||||
! CryptHashToBeSigned
|
||||
! CryptImportPKCS8
|
||||
! CryptImportPublicKeyInfo
|
||||
! CryptImportPublicKeyInfoEx
|
||||
! CryptImportPublicKeyInfoEx2
|
||||
! CryptInitOIDFunctionSet
|
||||
! CryptInstallDefaultContext
|
||||
! CryptInstallOIDFunctionAddress
|
||||
! CryptLoadSip
|
||||
! CryptMemAlloc
|
||||
! CryptMemFree
|
||||
! CryptMemRealloc
|
||||
! CryptMsgCalculateEncodedLength
|
||||
! CryptMsgClose
|
||||
! CryptMsgControl
|
||||
! CryptMsgCountersign
|
||||
! CryptMsgCountersignEncoded
|
||||
! CryptMsgDuplicate
|
||||
! CryptMsgEncodeAndSignCTL
|
||||
! CryptMsgGetAndVerifySigner
|
||||
! CryptMsgGetParam
|
||||
! CryptMsgOpenToDecode
|
||||
! CryptMsgOpenToEncode
|
||||
! CryptMsgSignCTL
|
||||
! CryptMsgUpdate
|
||||
! CryptMsgVerifyCountersignatureEncoded
|
||||
! CryptMsgVerifyCountersignatureEncodedEx
|
||||
! CryptProtectData
|
||||
! CryptProtectMemory
|
||||
! CryptQueryObject
|
||||
! CryptRegisterDefaultOIDFunction
|
||||
! CryptRegisterOIDFunction
|
||||
! CryptRegisterOIDInfo
|
||||
! CryptRetrieveTimeStamp
|
||||
! CryptSIPAddProvider
|
||||
! CryptSIPCreateIndirectData
|
||||
! CryptSIPGetCaps
|
||||
! CryptSIPGetSealedDigest
|
||||
! CryptSIPGetSignedDataMsg
|
||||
! CryptSIPLoad
|
||||
! CryptSIPPutSignedDataMsg
|
||||
! CryptSIPRemoveProvider
|
||||
! CryptSIPRemoveSignedDataMsg
|
||||
! CryptSIPRetrieveSubjectGuid
|
||||
! CryptSIPRetrieveSubjectGuidForCatalogFile
|
||||
! CryptSIPVerifyIndirectData
|
||||
! CryptSetAsyncParam
|
||||
! CryptSetKeyIdentifierProperty
|
||||
! CryptSetOIDFunctionValue
|
||||
! CryptSignAndEncodeCertificate
|
||||
! CryptSignAndEncryptMessage
|
||||
! CryptSignCertificate
|
||||
! CryptSignMessage
|
||||
! CryptSignMessageWithKey
|
||||
! CryptStringToBinaryA
|
||||
! CryptStringToBinaryW
|
||||
! CryptUninstallDefaultContext
|
||||
! CryptUnprotectData
|
||||
! CryptUnprotectMemory
|
||||
! CryptUnregisterDefaultOIDFunction
|
||||
! CryptUnregisterOIDFunction
|
||||
! CryptUnregisterOIDInfo
|
||||
! CryptUpdateProtectedState
|
||||
! CryptVerifyCertificateSignature
|
||||
! CryptVerifyCertificateSignatureEx
|
||||
! CryptVerifyDetachedMessageHash
|
||||
! CryptVerifyDetachedMessageSignature
|
||||
! CryptVerifyMessageHash
|
||||
! CryptVerifyMessageSignature
|
||||
! CryptVerifyMessageSignatureWithKey
|
||||
! CryptVerifyTimeStampSignature
|
||||
! I_CertChainEngineIsDisallowedCertificate
|
||||
! I_CertDiagControl
|
||||
! I_CertProtectFunction
|
||||
! I_CertSrvProtectFunction
|
||||
! I_CertSyncStore
|
||||
! I_CertUpdateStore
|
||||
! I_CryptAddRefLruEntry
|
||||
! I_CryptAddSmartCardCertToStore
|
||||
! I_CryptAllocTls
|
||||
! I_CryptAllocTlsEx
|
||||
! I_CryptCreateLruCache
|
||||
! I_CryptCreateLruEntry
|
||||
! I_CryptDetachTls
|
||||
! I_CryptDisableLruOfEntries
|
||||
! I_CryptEnableLruOfEntries
|
||||
! I_CryptEnumMatchingLruEntries
|
||||
! I_CryptFindLruEntry
|
||||
! I_CryptFindLruEntryData
|
||||
! I_CryptFindSmartCardCertInStore
|
||||
! I_CryptFlushLruCache
|
||||
! I_CryptFreeLruCache
|
||||
! I_CryptFreeTls
|
||||
! I_CryptGetAsn1Decoder
|
||||
! I_CryptGetAsn1Encoder
|
||||
! I_CryptGetDefaultCryptProv
|
||||
! I_CryptGetDefaultCryptProvForEncrypt
|
||||
! I_CryptGetFileVersion
|
||||
! I_CryptGetLruEntryData
|
||||
! I_CryptGetLruEntryIdentifier
|
||||
! I_CryptGetOssGlobal
|
||||
! I_CryptGetTls
|
||||
! I_CryptInsertLruEntry
|
||||
! I_CryptInstallAsn1Module
|
||||
! I_CryptInstallOssGlobal
|
||||
! I_CryptReadTrustedPublisherDWORDValueFromRegistry
|
||||
! I_CryptRegisterSmartCardStore
|
||||
! I_CryptReleaseLruEntry
|
||||
! I_CryptRemoveLruEntry
|
||||
! I_CryptSetTls
|
||||
! I_CryptTouchLruEntry
|
||||
! I_CryptUninstallAsn1Module
|
||||
! I_CryptUninstallOssGlobal
|
||||
! I_CryptUnregisterSmartCardStore
|
||||
! I_CryptWalkAllLruCacheEntries
|
||||
! PFXExportCertStore
|
||||
! PFXExportCertStore2
|
||||
! PFXExportCertStoreEx
|
||||
! PFXImportCertStore
|
||||
! PFXIsPFXBlob
|
||||
! PFXVerifyPassword
|
|
@ -24,4 +24,5 @@ CONSTANT: MAX_UNICODE_PATH 32768
|
|||
{ "psapi" "psapi.dll" stdcall }
|
||||
{ "winmm" "winmm.dll" stdcall }
|
||||
{ "ntdll" "ntdll.dll" stdcall }
|
||||
{ "crypt32" "crypt32.dll" stdcall }
|
||||
} [ first3 add-library ] each
|
||||
|
|
Loading…
Reference in New Issue