Leaked source code of windows server 2003
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

372 lines
10 KiB

  1. //+-------------------------------------------------------------------------
  2. //
  3. // Microsoft Windows
  4. //
  5. // Copyright (C) Microsoft Corporation, 1996 - 1999
  6. //
  7. // File: crypt32.src
  8. //
  9. //--------------------------------------------------------------------------
  10. LIBRARY CRYPT32
  11. EXPORTS
  12. #ifdef PRIVATE_VERSION
  13. #define CRYPTPRIVATE
  14. #else
  15. #define CRYPTPRIVATE PRIVATE
  16. #endif
  17. #define EXPORT_ALTERNATE_FILETYPES 1
  18. #define CMS_PKCS7 1
  19. #ifdef CMS_PKCS7
  20. CryptVerifyCertificateSignatureEx
  21. CryptMsgVerifyCountersignatureEncodedEx
  22. #endif
  23. CryptEncodeObject
  24. CryptDecodeObject
  25. CryptEncodeObjectEx
  26. CryptDecodeObjectEx
  27. CryptFormatObject
  28. CryptQueryObject
  29. CryptInitOIDFunctionSet
  30. CryptInstallOIDFunctionAddress
  31. CryptGetOIDFunctionAddress
  32. CryptGetDefaultOIDDllList
  33. CryptGetDefaultOIDFunctionAddress
  34. CryptFreeOIDFunctionAddress
  35. CryptSetOIDFunctionValue
  36. CryptGetOIDFunctionValue
  37. CryptRegisterOIDFunction
  38. CryptUnregisterOIDFunction
  39. CryptRegisterDefaultOIDFunction
  40. CryptUnregisterDefaultOIDFunction
  41. CryptFindOIDInfo
  42. CryptEnumOIDInfo
  43. CryptRegisterOIDInfo
  44. CryptUnregisterOIDInfo
  45. CryptEnumOIDFunction
  46. CryptFindLocalizedName
  47. CertVerifyRevocation
  48. CryptLoadSip
  49. CryptSIPLoad
  50. CryptSIPRetrieveSubjectGuid
  51. CryptSIPRetrieveSubjectGuidForCatalogFile
  52. CryptSIPAddProvider
  53. CryptSIPRemoveProvider
  54. CryptSIPPutSignedDataMsg
  55. CryptSIPGetSignedDataMsg
  56. CryptSIPRemoveSignedDataMsg
  57. CryptSIPCreateIndirectData
  58. CryptSIPVerifyIndirectData
  59. I_CryptInstallOssGlobal CRYPTPRIVATE
  60. I_CryptUninstallOssGlobal CRYPTPRIVATE
  61. I_CryptGetOssGlobal CRYPTPRIVATE
  62. I_CryptAllocTls CRYPTPRIVATE
  63. I_CryptFreeTls CRYPTPRIVATE
  64. I_CryptDetachTls CRYPTPRIVATE
  65. I_CryptSetTls CRYPTPRIVATE
  66. I_CryptGetTls CRYPTPRIVATE
  67. I_CryptInstallAsn1Module CRYPTPRIVATE
  68. I_CryptUninstallAsn1Module CRYPTPRIVATE
  69. I_CryptGetAsn1Encoder CRYPTPRIVATE
  70. I_CryptGetAsn1Decoder CRYPTPRIVATE
  71. I_CryptGetDefaultCryptProv CRYPTPRIVATE
  72. I_CryptGetDefaultCryptProvForEncrypt CRYPTPRIVATE
  73. I_CryptGetFileVersion CRYPTPRIVATE
  74. I_CertSyncStore CRYPTPRIVATE
  75. I_CertUpdateStore CRYPTPRIVATE
  76. I_CryptRegisterSmartCardStore CRYPTPRIVATE
  77. I_CryptUnregisterSmartCardStore CRYPTPRIVATE
  78. I_CryptFindSmartCardCertInStore CRYPTPRIVATE
  79. I_CryptAddSmartCardCertToStore CRYPTPRIVATE
  80. I_CryptCreateLruCache CRYPTPRIVATE
  81. I_CryptFlushLruCache CRYPTPRIVATE
  82. I_CryptFreeLruCache CRYPTPRIVATE
  83. I_CryptCreateLruEntry CRYPTPRIVATE
  84. I_CryptGetLruEntryIdentifier CRYPTPRIVATE
  85. I_CryptGetLruEntryData CRYPTPRIVATE
  86. I_CryptAddRefLruEntry CRYPTPRIVATE
  87. I_CryptReleaseLruEntry CRYPTPRIVATE
  88. I_CryptInsertLruEntry CRYPTPRIVATE
  89. I_CryptRemoveLruEntry CRYPTPRIVATE
  90. I_CryptTouchLruEntry CRYPTPRIVATE
  91. I_CryptFindLruEntry CRYPTPRIVATE
  92. I_CryptFindLruEntryData CRYPTPRIVATE
  93. I_CryptEnumMatchingLruEntries CRYPTPRIVATE
  94. I_CryptEnableLruOfEntries CRYPTPRIVATE
  95. I_CryptDisableLruOfEntries CRYPTPRIVATE
  96. I_CryptWalkAllLruCacheEntries CRYPTPRIVATE
  97. I_CertProtectFunction CRYPTPRIVATE
  98. I_CertSrvProtectFunction CRYPTPRIVATE
  99. I_CryptReadTrustedPublisherDWORDValueFromRegistry CRYPTPRIVATE
  100. CertOpenStore
  101. CertCloseStore
  102. CertSaveStore
  103. CertDuplicateStore
  104. CertAddEncodedCertificateToStore
  105. CertAddCertificateContextToStore
  106. CertAddEncodedCRLToStore
  107. CertAddCRLContextToStore
  108. CertDeleteCertificateFromStore
  109. CertDeleteCRLFromStore
  110. CertEnumCertificatesInStore
  111. CertFindCertificateInStore
  112. CertGetSubjectCertificateFromStore
  113. CertGetCRLFromStore
  114. CertEnumCRLsInStore
  115. CertFindCRLInStore
  116. CertGetIssuerCertificateFromStore
  117. CertVerifySubjectCertificateContext
  118. CertCreateCertificateContext
  119. CertDuplicateCertificateContext
  120. CertSetCertificateContextProperty
  121. CertGetCertificateContextProperty
  122. CertFreeCertificateContext
  123. CertCreateCRLContext
  124. CertDuplicateCRLContext
  125. CertFreeCRLContext
  126. CertSetCRLContextProperty
  127. CertGetCRLContextProperty
  128. CertAddSerializedElementToStore
  129. CertSerializeCertificateStoreElement
  130. CertSerializeCRLStoreElement
  131. CertEnumCertificateContextProperties
  132. CertCreateCTLEntryFromCertificateContextProperties
  133. CertSetCertificateContextPropertiesFromCTLEntry
  134. CertEnumCRLContextProperties
  135. CertDuplicateCTLContext
  136. CertCreateCTLContext
  137. CertFreeCTLContext
  138. CertSetCTLContextProperty
  139. CertGetCTLContextProperty
  140. CertEnumCTLContextProperties
  141. CertEnumCTLsInStore
  142. CertFindSubjectInCTL
  143. CertFindCTLInStore
  144. CertAddEncodedCTLToStore
  145. CertAddCTLContextToStore
  146. CertSerializeCTLStoreElement
  147. CertDeleteCTLFromStore
  148. CertVerifyCTLUsage
  149. CertCreateContext
  150. CertFindSubjectInSortedCTL
  151. CertEnumSubjectInSortedCTL
  152. CertFindCertificateInCRL
  153. CertIsValidCRLForCertificate
  154. CertControlStore
  155. CertAddStoreToCollection
  156. CertRemoveStoreFromCollection
  157. CertAddCertificateLinkToStore
  158. CertAddCRLLinkToStore
  159. CertAddCTLLinkToStore
  160. CertSetStoreProperty
  161. CertGetStoreProperty
  162. CertRegisterSystemStore
  163. CertRegisterPhysicalStore
  164. CertUnregisterSystemStore
  165. CertUnregisterPhysicalStore
  166. CertEnumSystemStoreLocation
  167. CertEnumSystemStore
  168. CertEnumPhysicalStore
  169. CertGetEnhancedKeyUsage
  170. CertSetEnhancedKeyUsage
  171. CertAddEnhancedKeyUsageIdentifier
  172. CertRemoveEnhancedKeyUsageIdentifier
  173. CertGetValidUsages
  174. CertCreateSelfSignCertificate
  175. CryptMsgGetAndVerifySigner
  176. CryptMsgSignCTL
  177. CryptMsgEncodeAndSignCTL
  178. CertOpenSystemStoreA
  179. CertOpenSystemStoreW
  180. CertAddEncodedCertificateToSystemStoreA
  181. CertAddEncodedCertificateToSystemStoreW
  182. CryptImportPublicKeyInfo
  183. CryptExportPublicKeyInfo
  184. CryptHashCertificate
  185. CryptHashToBeSigned
  186. CryptHashPublicKeyInfo
  187. CryptSignCertificate
  188. CryptSignAndEncodeCertificate
  189. CryptVerifyCertificateSignature
  190. CryptInstallDefaultContext
  191. CryptUninstallDefaultContext
  192. CryptImportPublicKeyInfoEx
  193. CryptExportPublicKeyInfoEx
  194. CryptAcquireCertificatePrivateKey
  195. CryptFindCertificateKeyProvInfo
  196. CryptGetKeyIdentifierProperty
  197. CryptSetKeyIdentifierProperty
  198. CryptEnumKeyIdentifierProperties
  199. CryptCreateKeyIdentifierFromCSP
  200. CryptImportPKCS8
  201. CryptExportPKCS8
  202. CertCompareIntegerBlob
  203. CertCompareCertificate
  204. CertCompareCertificateName
  205. CertIsRDNAttrsInCertificateName
  206. CertComparePublicKeyInfo
  207. CertGetPublicKeyLength
  208. CertVerifyTimeValidity
  209. CertVerifyCRLTimeValidity
  210. CertVerifyValidityNesting
  211. CertVerifyCRLRevocation
  212. CertAlgIdToOID
  213. CertOIDToAlgId
  214. CertFindExtension
  215. CertFindAttribute
  216. CertFindRDNAttr
  217. CertGetIntendedKeyUsage
  218. CertRDNValueToStrA
  219. CertRDNValueToStrW
  220. CertNameToStrA
  221. CertNameToStrW
  222. CertStrToNameA
  223. CertStrToNameW
  224. CertGetNameStringA
  225. CertGetNameStringW
  226. CryptEncryptMessage
  227. CryptDecryptMessage
  228. CryptSignMessage
  229. CryptVerifyMessageSignature
  230. CryptGetMessageSignerCount
  231. CryptGetMessageCertificates
  232. CryptSignAndEncryptMessage
  233. CryptDecryptAndVerifyMessageSignature
  234. CryptHashMessage
  235. CryptVerifyMessageHash
  236. CryptSignMessageWithKey
  237. CryptVerifyMessageSignatureWithKey
  238. CryptVerifyDetachedMessageHash
  239. CryptVerifyDetachedMessageSignature
  240. CryptDecodeMessage
  241. CryptMsgCalculateEncodedLength
  242. CryptMsgClose
  243. CryptMsgDuplicate
  244. CryptMsgGetParam
  245. CryptMsgOpenToDecode
  246. CryptMsgOpenToEncode
  247. CryptMsgUpdate
  248. CryptMsgControl
  249. CryptMsgCountersign
  250. CryptMsgCountersignEncoded
  251. CryptMsgVerifyCountersignatureEncoded
  252. PFXImportCertStore
  253. PFXExportCertStore
  254. PFXIsPFXBlob
  255. PFXExportCertStoreEx
  256. PFXVerifyPassword
  257. CryptMemAlloc
  258. CryptMemRealloc
  259. CryptMemFree
  260. CryptCreateAsyncHandle
  261. CryptSetAsyncParam
  262. CryptGetAsyncParam
  263. CryptCloseAsyncHandle
  264. CertCreateCertificateChainEngine
  265. CertFreeCertificateChainEngine
  266. CertResyncCertificateChainEngine
  267. CertGetCertificateChain
  268. CertFreeCertificateChain
  269. CertDuplicateCertificateChain
  270. ChainWlxLogoffEvent CRYPTPRIVATE
  271. CertFindChainInStore
  272. CertVerifyCertificateChainPolicy
  273. CryptProtectData
  274. CryptUnprotectData
  275. CryptProtectMemory
  276. CryptUnprotectMemory
  277. OpenCertPerformanceData CRYPTPRIVATE
  278. CollectCertPerformanceData CRYPTPRIVATE
  279. CloseCertPerformanceData CRYPTPRIVATE
  280. CryptStringToBinaryA
  281. CryptStringToBinaryW
  282. CryptBinaryToStringA
  283. CryptBinaryToStringW
  284. #ifdef _M_IX86
  285. RegCreateKeyExU CRYPTPRIVATE
  286. RegCreateHKCUKeyExU CRYPTPRIVATE
  287. RegOpenKeyExU CRYPTPRIVATE
  288. RegOpenHKCUKeyExU CRYPTPRIVATE
  289. RegEnumValueU CRYPTPRIVATE
  290. RegSetValueExU CRYPTPRIVATE
  291. RegDeleteValueU CRYPTPRIVATE
  292. RegQueryInfoKeyU CRYPTPRIVATE
  293. RegQueryValueExU CRYPTPRIVATE
  294. CreateFileU CRYPTPRIVATE
  295. CryptAcquireContextU CRYPTPRIVATE
  296. CryptEnumProvidersU CRYPTPRIVATE
  297. CryptSignHashU CRYPTPRIVATE
  298. CryptVerifySignatureU CRYPTPRIVATE
  299. CryptSetProviderU CRYPTPRIVATE
  300. #endif
  301. // Debug prints, do nothing in retail builds
  302. DbgInitOSS @1001 NONAME
  303. DbgPrintf @1002 NONAME
  304. // Forward to advapi32 so old bits that import ordinals work. However, don't
  305. // put the exports in the implib (there s/b exactly one place for normal
  306. // code to find the Reg api's).
  307. RegCreateKeyW =advapi32.RegCreateKeyW @1003 NONAME PRIVATE
  308. RegCreateKeyExW =advapi32.RegCreateKeyExW @1004 NONAME PRIVATE
  309. RegOpenKeyW =advapi32.RegOpenKeyW @1005 NONAME PRIVATE
  310. RegOpenKeyExW =advapi32.RegOpenKeyExW @1006 NONAME PRIVATE
  311. RegCreateKeyA =advapi32.RegCreateKeyA @1007 NONAME PRIVATE
  312. RegCreateKeyExA =advapi32.RegCreateKeyExA @1008 NONAME PRIVATE
  313. RegOpenKeyA =advapi32.RegOpenKeyA @1009 NONAME PRIVATE
  314. RegOpenKeyExA =advapi32.RegOpenKeyExA @1010 NONAME PRIVATE
  315. RegCloseKey =advapi32.RegCloseKey @1011 NONAME PRIVATE