virgil-crypto 2.0.2b0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (879) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +11 -0
  3. data/.gitmodules +3 -0
  4. data/Gemfile +4 -0
  5. data/README.md +36 -0
  6. data/Rakefile +12 -0
  7. data/bin/console +14 -0
  8. data/bin/setup +8 -0
  9. data/ext/native/extconf.rb +25 -0
  10. data/ext/native/src/.gitignore +17 -0
  11. data/ext/native/src/.travis.yml +50 -0
  12. data/ext/native/src/CMakeLists.txt +336 -0
  13. data/ext/native/src/ChangeLog +440 -0
  14. data/ext/native/src/Jenkinsfile +208 -0
  15. data/ext/native/src/LICENSE +33 -0
  16. data/ext/native/src/README.md +195 -0
  17. data/ext/native/src/VERSION +1 -0
  18. data/ext/native/src/benchmark/CMakeLists.txt +52 -0
  19. data/ext/native/src/benchmark/benchmark_cipher.cxx +99 -0
  20. data/ext/native/src/benchmark/benchmark_hash.cxx +85 -0
  21. data/ext/native/src/benchmark/benchmark_signer.cxx +89 -0
  22. data/ext/native/src/benchmark/benchpress.hpp +464 -0
  23. data/ext/native/src/benchmark/cxxopts.hpp +1312 -0
  24. data/ext/native/src/ci/configure.sh +71 -0
  25. data/ext/native/src/ci/install-cmake.sh +48 -0
  26. data/ext/native/src/ci/install-credentials.sh +45 -0
  27. data/ext/native/src/ci/install-doxygen.sh +48 -0
  28. data/ext/native/src/ci/install-phpunit.sh +47 -0
  29. data/ext/native/src/ci/install-swig.sh +47 -0
  30. data/ext/native/src/ci/publish-docs.sh +125 -0
  31. data/ext/native/src/ci/run.sh +55 -0
  32. data/ext/native/src/ci/travis_ci_rsa.enc +0 -0
  33. data/ext/native/src/cmake/android.toolchain.cmake +1697 -0
  34. data/ext/native/src/cmake/apple.toolchain.cmake +323 -0
  35. data/ext/native/src/cmake/aux_source_directory_to_file.cmake +70 -0
  36. data/ext/native/src/cmake/check_pointer_size.cmake +64 -0
  37. data/ext/native/src/cmake/cmake_args.cmake +64 -0
  38. data/ext/native/src/cmake/copy_all_files.cmake +70 -0
  39. data/ext/native/src/cmake/file_regex_replace.cmake +69 -0
  40. data/ext/native/src/cmake/find_host_utils.cmake +54 -0
  41. data/ext/native/src/cmake/pnacl.toolchain.cmake +87 -0
  42. data/ext/native/src/cmake/uppercase_first_char.cmake +45 -0
  43. data/ext/native/src/cmake/uppercase_namespaces.cmake +86 -0
  44. data/ext/native/src/cmake/virgil_depends.cmake +53 -0
  45. data/ext/native/src/cmake/virgil_depends_local.cmake +325 -0
  46. data/ext/native/src/docs/.gitignore +0 -0
  47. data/ext/native/src/lib/CMakeLists.txt +162 -0
  48. data/ext/native/src/lib/Doxyfile.in +2310 -0
  49. data/ext/native/src/lib/cmake/config.cmake.in +40 -0
  50. data/ext/native/src/lib/include/CMakeLists.txt +68 -0
  51. data/ext/native/src/lib/include/virgil/crypto/VirgilByteArray.h +143 -0
  52. data/ext/native/src/lib/include/virgil/crypto/VirgilByteArrayUtils.h +121 -0
  53. data/ext/native/src/lib/include/virgil/crypto/VirgilChunkCipher.h +117 -0
  54. data/ext/native/src/lib/include/virgil/crypto/VirgilCipher.h +93 -0
  55. data/ext/native/src/lib/include/virgil/crypto/VirgilCipherBase.h +302 -0
  56. data/ext/native/src/lib/include/virgil/crypto/VirgilCryptoError.h +136 -0
  57. data/ext/native/src/lib/include/virgil/crypto/VirgilCryptoException.h +117 -0
  58. data/ext/native/src/lib/include/virgil/crypto/VirgilCustomParams.h +159 -0
  59. data/ext/native/src/lib/include/virgil/crypto/VirgilDataSink.h +77 -0
  60. data/ext/native/src/lib/include/virgil/crypto/VirgilDataSource.h +66 -0
  61. data/ext/native/src/lib/include/virgil/crypto/VirgilKeyPair.h +274 -0
  62. data/ext/native/src/lib/include/virgil/crypto/VirgilSigner.h +84 -0
  63. data/ext/native/src/lib/include/virgil/crypto/VirgilStreamCipher.h +99 -0
  64. data/ext/native/src/lib/include/virgil/crypto/VirgilStreamSigner.h +80 -0
  65. data/ext/native/src/lib/include/virgil/crypto/VirgilTinyCipher.h +283 -0
  66. data/ext/native/src/lib/include/virgil/crypto/VirgilVersion.h +88 -0
  67. data/ext/native/src/lib/include/virgil/crypto/foundation/VirgilAsymmetricCipher.h +395 -0
  68. data/ext/native/src/lib/include/virgil/crypto/foundation/VirgilBase64.h +70 -0
  69. data/ext/native/src/lib/include/virgil/crypto/foundation/VirgilHash.h +261 -0
  70. data/ext/native/src/lib/include/virgil/crypto/foundation/VirgilKDF.h +175 -0
  71. data/ext/native/src/lib/include/virgil/crypto/foundation/VirgilPBE.h +164 -0
  72. data/ext/native/src/lib/include/virgil/crypto/foundation/VirgilPBKDF.h +198 -0
  73. data/ext/native/src/lib/include/virgil/crypto/foundation/VirgilRandom.h +121 -0
  74. data/ext/native/src/lib/include/virgil/crypto/foundation/VirgilSymmetricCipher.h +305 -0
  75. data/ext/native/src/lib/include/virgil/crypto/foundation/VirgilSystemCryptoError.h +149 -0
  76. data/ext/native/src/lib/include/virgil/crypto/foundation/asn1/VirgilAsn1Compatible.h +100 -0
  77. data/ext/native/src/lib/include/virgil/crypto/foundation/asn1/VirgilAsn1Reader.h +179 -0
  78. data/ext/native/src/lib/include/virgil/crypto/foundation/asn1/VirgilAsn1Writer.h +241 -0
  79. data/ext/native/src/lib/include/virgil/crypto/foundation/asn1/internal/VirgilAsn1Alg.h +114 -0
  80. data/ext/native/src/lib/include/virgil/crypto/foundation/cms/VirgilCMSContent.h +113 -0
  81. data/ext/native/src/lib/include/virgil/crypto/foundation/cms/VirgilCMSContentInfo.h +91 -0
  82. data/ext/native/src/lib/include/virgil/crypto/foundation/cms/VirgilCMSEncryptedContent.h +90 -0
  83. data/ext/native/src/lib/include/virgil/crypto/foundation/cms/VirgilCMSEnvelopedData.h +116 -0
  84. data/ext/native/src/lib/include/virgil/crypto/foundation/cms/VirgilCMSKeyTransRecipient.h +103 -0
  85. data/ext/native/src/lib/include/virgil/crypto/foundation/cms/VirgilCMSPasswordRecipient.h +98 -0
  86. data/ext/native/src/lib/include/virgil/crypto/foundation/internal/VirgilOID.h +81 -0
  87. data/ext/native/src/lib/include/virgil/crypto/foundation/internal/VirgilTagFilter.h +95 -0
  88. data/ext/native/src/lib/include/virgil/crypto/foundation/internal/mbedtls_context.h +93 -0
  89. data/ext/native/src/lib/include/virgil/crypto/foundation/internal/mbedtls_context_policy_spec.h +231 -0
  90. data/ext/native/src/lib/include/virgil/crypto/foundation/internal/mbedtls_type_utils.h +407 -0
  91. data/ext/native/src/lib/include/virgil/crypto/internal/utils.h +58 -0
  92. data/ext/native/src/lib/include/virgil/crypto/stream/VirgilBytesDataSink.h +84 -0
  93. data/ext/native/src/lib/include/virgil/crypto/stream/VirgilBytesDataSource.h +90 -0
  94. data/ext/native/src/lib/include/virgil/crypto/stream/VirgilStreamDataSink.h +79 -0
  95. data/ext/native/src/lib/include/virgil/crypto/stream/VirgilStreamDataSource.h +84 -0
  96. data/ext/native/src/lib/mainpage.dox +60 -0
  97. data/ext/native/src/lib/src/VirgilAsn1Alg.cxx +122 -0
  98. data/ext/native/src/lib/src/VirgilAsn1Compatible.cxx +67 -0
  99. data/ext/native/src/lib/src/VirgilAsn1Reader.cxx +190 -0
  100. data/ext/native/src/lib/src/VirgilAsn1Writer.cxx +329 -0
  101. data/ext/native/src/lib/src/VirgilAsymmetricCipher.cxx +633 -0
  102. data/ext/native/src/lib/src/VirgilBase64.cxx +94 -0
  103. data/ext/native/src/lib/src/VirgilByteArrayUtils.cxx +222 -0
  104. data/ext/native/src/lib/src/VirgilCMSContent.cxx +124 -0
  105. data/ext/native/src/lib/src/VirgilCMSContentInfo.cxx +111 -0
  106. data/ext/native/src/lib/src/VirgilCMSEncryptedContent.cxx +84 -0
  107. data/ext/native/src/lib/src/VirgilCMSEnvelopedData.cxx +131 -0
  108. data/ext/native/src/lib/src/VirgilCMSKeyTransRecipient.cxx +96 -0
  109. data/ext/native/src/lib/src/VirgilCMSPasswordRecipient.cxx +93 -0
  110. data/ext/native/src/lib/src/VirgilChunkCipher.cxx +215 -0
  111. data/ext/native/src/lib/src/VirgilCipher.cxx +92 -0
  112. data/ext/native/src/lib/src/VirgilCipherBase.cxx +340 -0
  113. data/ext/native/src/lib/src/VirgilCryptoError.cxx +88 -0
  114. data/ext/native/src/lib/src/VirgilCryptoException.cxx +84 -0
  115. data/ext/native/src/lib/src/VirgilCustomParams.cxx +193 -0
  116. data/ext/native/src/lib/src/VirgilDataSink.cxx +46 -0
  117. data/ext/native/src/lib/src/VirgilHash.cxx +269 -0
  118. data/ext/native/src/lib/src/VirgilKDF.cxx +209 -0
  119. data/ext/native/src/lib/src/VirgilKeyPair.cxx +165 -0
  120. data/ext/native/src/lib/src/VirgilPBE.cxx +215 -0
  121. data/ext/native/src/lib/src/VirgilPBKDF.cxx +286 -0
  122. data/ext/native/src/lib/src/VirgilRandom.cxx +112 -0
  123. data/ext/native/src/lib/src/VirgilSigner.cxx +91 -0
  124. data/ext/native/src/lib/src/VirgilStreamCipher.cxx +116 -0
  125. data/ext/native/src/lib/src/VirgilStreamSigner.cxx +98 -0
  126. data/ext/native/src/lib/src/VirgilSymmetricCipher.cxx +369 -0
  127. data/ext/native/src/lib/src/VirgilSystemCryptoError.cxx +58 -0
  128. data/ext/native/src/lib/src/VirgilTagFilter.cxx +76 -0
  129. data/ext/native/src/lib/src/VirgilTinyCipher.cxx +648 -0
  130. data/ext/native/src/lib/src/VirgilVersion.cxx.in +28 -0
  131. data/ext/native/src/lib/src/stream/VirgilBytesDataSink.cxx +61 -0
  132. data/ext/native/src/lib/src/stream/VirgilBytesDataSource.cxx +68 -0
  133. data/ext/native/src/lib/src/stream/VirgilStreamDataSink.cxx +57 -0
  134. data/ext/native/src/lib/src/stream/VirgilStreamDataSource.cxx +68 -0
  135. data/ext/native/src/libs_ext/mbedtls/configs/config.h +84 -0
  136. data/ext/native/src/libs_ext/mbedtls/configs/config_desktop.h +13 -0
  137. data/ext/native/src/libs_ext/mbedtls/configs/config_pnacl.h +8 -0
  138. data/ext/native/src/libs_ext/mbedtls/mbedtls.cmake +102 -0
  139. data/ext/native/src/libs_ext/rapidjson/rapidjson.cmake +61 -0
  140. data/ext/native/src/libs_ext/tinyformat/cmake/config.cmake.in +43 -0
  141. data/ext/native/src/libs_ext/tinyformat/src/tinyformat.h +1003 -0
  142. data/ext/native/src/libs_ext/tinyformat/tinyformat.cmake +77 -0
  143. data/ext/native/src/migration-2.0.md +108 -0
  144. data/ext/native/src/tests/CMakeLists.txt +50 -0
  145. data/ext/native/src/tests/catch.hpp +10200 -0
  146. data/ext/native/src/tests/test_asn1_writer.cxx +268 -0
  147. data/ext/native/src/tests/test_asymmetric_cipher.cxx +140 -0
  148. data/ext/native/src/tests/test_base64.cxx +102 -0
  149. data/ext/native/src/tests/test_byte_array_utils.cxx +102 -0
  150. data/ext/native/src/tests/test_chunk_cipher.cxx +310 -0
  151. data/ext/native/src/tests/test_cipher.cxx +402 -0
  152. data/ext/native/src/tests/test_cipher_base.cxx +353 -0
  153. data/ext/native/src/tests/test_contract_copy_move.cxx +131 -0
  154. data/ext/native/src/tests/test_hash.cxx +153 -0
  155. data/ext/native/src/tests/test_key_pair.cxx +204 -0
  156. data/ext/native/src/tests/test_pbe.cxx +95 -0
  157. data/ext/native/src/tests/test_pbkdf.cxx +368 -0
  158. data/ext/native/src/tests/test_random.cxx +93 -0
  159. data/ext/native/src/tests/test_runner.cxx +43 -0
  160. data/ext/native/src/tests/test_signer.cxx +111 -0
  161. data/ext/native/src/tests/test_stream_cipher.cxx +277 -0
  162. data/ext/native/src/tests/test_symmetric_cipher.cxx +105 -0
  163. data/ext/native/src/tests/test_tag_filter.cxx +74 -0
  164. data/ext/native/src/tests/test_tiny_cipher.cxx +172 -0
  165. data/ext/native/src/utils/build.bat +274 -0
  166. data/ext/native/src/utils/build.sh +354 -0
  167. data/ext/native/src/utils/env.sh +39 -0
  168. data/ext/native/src/utils/zip.vbs +45 -0
  169. data/ext/native/src/wrappers/CMakeLists.txt +63 -0
  170. data/ext/native/src/wrappers/asmjs/CMakeLists.txt +109 -0
  171. data/ext/native/src/wrappers/asmjs/error.js +41 -0
  172. data/ext/native/src/wrappers/asmjs/example.html +77 -0
  173. data/ext/native/src/wrappers/asmjs/helpers.js +155 -0
  174. data/ext/native/src/wrappers/asmjs/patch_embind.pl +115 -0
  175. data/ext/native/src/wrappers/asmjs/wrapper.cxx +340 -0
  176. data/ext/native/src/wrappers/java/CMakeLists.txt +156 -0
  177. data/ext/native/src/wrappers/java/src/VirgilStreamDataSink.java +62 -0
  178. data/ext/native/src/wrappers/java/src/VirgilStreamDataSource.java +72 -0
  179. data/ext/native/src/wrappers/net/CMakeLists.txt +170 -0
  180. data/ext/native/src/wrappers/net/cmake/FindCSharp.cmake +72 -0
  181. data/ext/native/src/wrappers/net/cmake/FindDotNetFrameworkSdk.cmake +92 -0
  182. data/ext/native/src/wrappers/net/cmake/FindMono.cmake +162 -0
  183. data/ext/native/src/wrappers/net/cmake/UseCSharp.cmake +119 -0
  184. data/ext/native/src/wrappers/net/cmake/UseDotNetFrameworkSdk.cmake +12 -0
  185. data/ext/native/src/wrappers/net/cmake/UseMono.cmake +16 -0
  186. data/ext/native/src/wrappers/net/src/AssemblyInfo.cs +56 -0
  187. data/ext/native/src/wrappers/net/src/VirgilStreamDataSink.cs +63 -0
  188. data/ext/native/src/wrappers/net/src/VirgilStreamDataSource.cs +74 -0
  189. data/ext/native/src/wrappers/nodejs/CMakeLists.txt +134 -0
  190. data/ext/native/src/wrappers/nodejs/node-v0.12.7/include/android-ifaddrs.h +54 -0
  191. data/ext/native/src/wrappers/nodejs/node-v0.12.7/include/ares.h +636 -0
  192. data/ext/native/src/wrappers/nodejs/node-v0.12.7/include/ares_version.h +24 -0
  193. data/ext/native/src/wrappers/nodejs/node-v0.12.7/include/libplatform/libplatform.h +38 -0
  194. data/ext/native/src/wrappers/nodejs/node-v0.12.7/include/nameser.h +211 -0
  195. data/ext/native/src/wrappers/nodejs/node-v0.12.7/include/node.h +447 -0
  196. data/ext/native/src/wrappers/nodejs/node-v0.12.7/include/node_buffer.h +125 -0
  197. data/ext/native/src/wrappers/nodejs/node-v0.12.7/include/node_internals.h +236 -0
  198. data/ext/native/src/wrappers/nodejs/node-v0.12.7/include/node_object_wrap.h +137 -0
  199. data/ext/native/src/wrappers/nodejs/node-v0.12.7/include/node_version.h +69 -0
  200. data/ext/native/src/wrappers/nodejs/node-v0.12.7/include/openssl/aes.h +149 -0
  201. data/ext/native/src/wrappers/nodejs/node-v0.12.7/include/openssl/asn1.h +1417 -0
  202. data/ext/native/src/wrappers/nodejs/node-v0.12.7/include/openssl/asn1_mac.h +579 -0
  203. data/ext/native/src/wrappers/nodejs/node-v0.12.7/include/openssl/asn1t.h +973 -0
  204. data/ext/native/src/wrappers/nodejs/node-v0.12.7/include/openssl/bio.h +875 -0
  205. data/ext/native/src/wrappers/nodejs/node-v0.12.7/include/openssl/blowfish.h +130 -0
  206. data/ext/native/src/wrappers/nodejs/node-v0.12.7/include/openssl/bn.h +957 -0
  207. data/ext/native/src/wrappers/nodejs/node-v0.12.7/include/openssl/buffer.h +118 -0
  208. data/ext/native/src/wrappers/nodejs/node-v0.12.7/include/openssl/camellia.h +132 -0
  209. data/ext/native/src/wrappers/nodejs/node-v0.12.7/include/openssl/cast.h +107 -0
  210. data/ext/native/src/wrappers/nodejs/node-v0.12.7/include/openssl/cmac.h +82 -0
  211. data/ext/native/src/wrappers/nodejs/node-v0.12.7/include/openssl/cms.h +505 -0
  212. data/ext/native/src/wrappers/nodejs/node-v0.12.7/include/openssl/comp.h +79 -0
  213. data/ext/native/src/wrappers/nodejs/node-v0.12.7/include/openssl/conf.h +267 -0
  214. data/ext/native/src/wrappers/nodejs/node-v0.12.7/include/openssl/conf_api.h +89 -0
  215. data/ext/native/src/wrappers/nodejs/node-v0.12.7/include/openssl/crypto.h +661 -0
  216. data/ext/native/src/wrappers/nodejs/node-v0.12.7/include/openssl/des.h +257 -0
  217. data/ext/native/src/wrappers/nodejs/node-v0.12.7/include/openssl/des_old.h +497 -0
  218. data/ext/native/src/wrappers/nodejs/node-v0.12.7/include/openssl/dh.h +287 -0
  219. data/ext/native/src/wrappers/nodejs/node-v0.12.7/include/openssl/dsa.h +329 -0
  220. data/ext/native/src/wrappers/nodejs/node-v0.12.7/include/openssl/dso.h +451 -0
  221. data/ext/native/src/wrappers/nodejs/node-v0.12.7/include/openssl/dtls1.h +268 -0
  222. data/ext/native/src/wrappers/nodejs/node-v0.12.7/include/openssl/e_os2.h +328 -0
  223. data/ext/native/src/wrappers/nodejs/node-v0.12.7/include/openssl/ebcdic.h +26 -0
  224. data/ext/native/src/wrappers/nodejs/node-v0.12.7/include/openssl/ec.h +1193 -0
  225. data/ext/native/src/wrappers/nodejs/node-v0.12.7/include/openssl/ecdh.h +127 -0
  226. data/ext/native/src/wrappers/nodejs/node-v0.12.7/include/openssl/ecdsa.h +260 -0
  227. data/ext/native/src/wrappers/nodejs/node-v0.12.7/include/openssl/engine.h +961 -0
  228. data/ext/native/src/wrappers/nodejs/node-v0.12.7/include/openssl/err.h +389 -0
  229. data/ext/native/src/wrappers/nodejs/node-v0.12.7/include/openssl/evp.h +1480 -0
  230. data/ext/native/src/wrappers/nodejs/node-v0.12.7/include/openssl/hmac.h +109 -0
  231. data/ext/native/src/wrappers/nodejs/node-v0.12.7/include/openssl/idea.h +105 -0
  232. data/ext/native/src/wrappers/nodejs/node-v0.12.7/include/openssl/krb5_asn.h +240 -0
  233. data/ext/native/src/wrappers/nodejs/node-v0.12.7/include/openssl/kssl.h +197 -0
  234. data/ext/native/src/wrappers/nodejs/node-v0.12.7/include/openssl/lhash.h +240 -0
  235. data/ext/native/src/wrappers/nodejs/node-v0.12.7/include/openssl/md4.h +119 -0
  236. data/ext/native/src/wrappers/nodejs/node-v0.12.7/include/openssl/md5.h +119 -0
  237. data/ext/native/src/wrappers/nodejs/node-v0.12.7/include/openssl/mdc2.h +94 -0
  238. data/ext/native/src/wrappers/nodejs/node-v0.12.7/include/openssl/modes.h +153 -0
  239. data/ext/native/src/wrappers/nodejs/node-v0.12.7/include/openssl/obj_mac.h +4031 -0
  240. data/ext/native/src/wrappers/nodejs/node-v0.12.7/include/openssl/objects.h +1143 -0
  241. data/ext/native/src/wrappers/nodejs/node-v0.12.7/include/openssl/ocsp.h +626 -0
  242. data/ext/native/src/wrappers/nodejs/node-v0.12.7/include/openssl/opensslconf.h +333 -0
  243. data/ext/native/src/wrappers/nodejs/node-v0.12.7/include/openssl/opensslv.h +97 -0
  244. data/ext/native/src/wrappers/nodejs/node-v0.12.7/include/openssl/ossl_typ.h +209 -0
  245. data/ext/native/src/wrappers/nodejs/node-v0.12.7/include/openssl/pem.h +611 -0
  246. data/ext/native/src/wrappers/nodejs/node-v0.12.7/include/openssl/pem2.h +70 -0
  247. data/ext/native/src/wrappers/nodejs/node-v0.12.7/include/openssl/pkcs12.h +342 -0
  248. data/ext/native/src/wrappers/nodejs/node-v0.12.7/include/openssl/pkcs7.h +481 -0
  249. data/ext/native/src/wrappers/nodejs/node-v0.12.7/include/openssl/pqueue.h +99 -0
  250. data/ext/native/src/wrappers/nodejs/node-v0.12.7/include/openssl/rand.h +150 -0
  251. data/ext/native/src/wrappers/nodejs/node-v0.12.7/include/openssl/rc2.h +103 -0
  252. data/ext/native/src/wrappers/nodejs/node-v0.12.7/include/openssl/rc4.h +88 -0
  253. data/ext/native/src/wrappers/nodejs/node-v0.12.7/include/openssl/ripemd.h +105 -0
  254. data/ext/native/src/wrappers/nodejs/node-v0.12.7/include/openssl/rsa.h +610 -0
  255. data/ext/native/src/wrappers/nodejs/node-v0.12.7/include/openssl/safestack.h +2536 -0
  256. data/ext/native/src/wrappers/nodejs/node-v0.12.7/include/openssl/seed.h +149 -0
  257. data/ext/native/src/wrappers/nodejs/node-v0.12.7/include/openssl/sha.h +214 -0
  258. data/ext/native/src/wrappers/nodejs/node-v0.12.7/include/openssl/srp.h +169 -0
  259. data/ext/native/src/wrappers/nodejs/node-v0.12.7/include/openssl/srtp.h +148 -0
  260. data/ext/native/src/wrappers/nodejs/node-v0.12.7/include/openssl/ssl.h +2766 -0
  261. data/ext/native/src/wrappers/nodejs/node-v0.12.7/include/openssl/ssl2.h +265 -0
  262. data/ext/native/src/wrappers/nodejs/node-v0.12.7/include/openssl/ssl23.h +84 -0
  263. data/ext/native/src/wrappers/nodejs/node-v0.12.7/include/openssl/ssl3.h +730 -0
  264. data/ext/native/src/wrappers/nodejs/node-v0.12.7/include/openssl/stack.h +106 -0
  265. data/ext/native/src/wrappers/nodejs/node-v0.12.7/include/openssl/symhacks.h +486 -0
  266. data/ext/native/src/wrappers/nodejs/node-v0.12.7/include/openssl/tls1.h +788 -0
  267. data/ext/native/src/wrappers/nodejs/node-v0.12.7/include/openssl/ts.h +862 -0
  268. data/ext/native/src/wrappers/nodejs/node-v0.12.7/include/openssl/txt_db.h +112 -0
  269. data/ext/native/src/wrappers/nodejs/node-v0.12.7/include/openssl/ui.h +415 -0
  270. data/ext/native/src/wrappers/nodejs/node-v0.12.7/include/openssl/ui_compat.h +88 -0
  271. data/ext/native/src/wrappers/nodejs/node-v0.12.7/include/openssl/whrlpool.h +41 -0
  272. data/ext/native/src/wrappers/nodejs/node-v0.12.7/include/openssl/x509.h +1301 -0
  273. data/ext/native/src/wrappers/nodejs/node-v0.12.7/include/openssl/x509_vfy.h +595 -0
  274. data/ext/native/src/wrappers/nodejs/node-v0.12.7/include/openssl/x509v3.h +1015 -0
  275. data/ext/native/src/wrappers/nodejs/node-v0.12.7/include/pthread-fixes.h +72 -0
  276. data/ext/native/src/wrappers/nodejs/node-v0.12.7/include/smalloc.h +153 -0
  277. data/ext/native/src/wrappers/nodejs/node-v0.12.7/include/stdint-msvc2008.h +247 -0
  278. data/ext/native/src/wrappers/nodejs/node-v0.12.7/include/tree.h +768 -0
  279. data/ext/native/src/wrappers/nodejs/node-v0.12.7/include/uv-aix.h +32 -0
  280. data/ext/native/src/wrappers/nodejs/node-v0.12.7/include/uv-bsd.h +34 -0
  281. data/ext/native/src/wrappers/nodejs/node-v0.12.7/include/uv-darwin.h +61 -0
  282. data/ext/native/src/wrappers/nodejs/node-v0.12.7/include/uv-errno.h +418 -0
  283. data/ext/native/src/wrappers/nodejs/node-v0.12.7/include/uv-linux.h +34 -0
  284. data/ext/native/src/wrappers/nodejs/node-v0.12.7/include/uv-sunos.h +44 -0
  285. data/ext/native/src/wrappers/nodejs/node-v0.12.7/include/uv-threadpool.h +37 -0
  286. data/ext/native/src/wrappers/nodejs/node-v0.12.7/include/uv-unix.h +383 -0
  287. data/ext/native/src/wrappers/nodejs/node-v0.12.7/include/uv-version.h +39 -0
  288. data/ext/native/src/wrappers/nodejs/node-v0.12.7/include/uv-win.h +647 -0
  289. data/ext/native/src/wrappers/nodejs/node-v0.12.7/include/uv.h +1467 -0
  290. data/ext/native/src/wrappers/nodejs/node-v0.12.7/include/v8-debug.h +267 -0
  291. data/ext/native/src/wrappers/nodejs/node-v0.12.7/include/v8-platform.h +62 -0
  292. data/ext/native/src/wrappers/nodejs/node-v0.12.7/include/v8-profiler.h +611 -0
  293. data/ext/native/src/wrappers/nodejs/node-v0.12.7/include/v8-testing.h +48 -0
  294. data/ext/native/src/wrappers/nodejs/node-v0.12.7/include/v8-util.h +487 -0
  295. data/ext/native/src/wrappers/nodejs/node-v0.12.7/include/v8-version.h +20 -0
  296. data/ext/native/src/wrappers/nodejs/node-v0.12.7/include/v8.h +6741 -0
  297. data/ext/native/src/wrappers/nodejs/node-v0.12.7/include/v8config.h +451 -0
  298. data/ext/native/src/wrappers/nodejs/node-v0.12.7/include/v8stdint.h +33 -0
  299. data/ext/native/src/wrappers/nodejs/node-v0.12.7/include/zconf.h +511 -0
  300. data/ext/native/src/wrappers/nodejs/node-v0.12.7/include/zlib.h +1768 -0
  301. data/ext/native/src/wrappers/nodejs/node-v0.12.7/lib/win/x64/node.lib +0 -0
  302. data/ext/native/src/wrappers/nodejs/node-v0.12.7/lib/win/x86/node.lib +0 -0
  303. data/ext/native/src/wrappers/nodejs/node-v4.1.0/include/android-ifaddrs.h +54 -0
  304. data/ext/native/src/wrappers/nodejs/node-v4.1.0/include/ares.h +589 -0
  305. data/ext/native/src/wrappers/nodejs/node-v4.1.0/include/ares_version.h +24 -0
  306. data/ext/native/src/wrappers/nodejs/node-v4.1.0/include/libplatform/libplatform.h +38 -0
  307. data/ext/native/src/wrappers/nodejs/node-v4.1.0/include/nameser.h +211 -0
  308. data/ext/native/src/wrappers/nodejs/node-v4.1.0/include/node.h +470 -0
  309. data/ext/native/src/wrappers/nodejs/node-v4.1.0/include/node_buffer.h +65 -0
  310. data/ext/native/src/wrappers/nodejs/node-v4.1.0/include/node_internals.h +339 -0
  311. data/ext/native/src/wrappers/nodejs/node-v4.1.0/include/node_object_wrap.h +116 -0
  312. data/ext/native/src/wrappers/nodejs/node-v4.1.0/include/node_version.h +45 -0
  313. data/ext/native/src/wrappers/nodejs/node-v4.1.0/include/openssl/aes.h +149 -0
  314. data/ext/native/src/wrappers/nodejs/node-v4.1.0/include/openssl/archs/BSD-x86/opensslconf.h +258 -0
  315. data/ext/native/src/wrappers/nodejs/node-v4.1.0/include/openssl/archs/BSD-x86_64/opensslconf.h +258 -0
  316. data/ext/native/src/wrappers/nodejs/node-v4.1.0/include/openssl/archs/VC-WIN32/opensslconf.h +259 -0
  317. data/ext/native/src/wrappers/nodejs/node-v4.1.0/include/openssl/archs/VC-WIN64A/opensslconf.h +259 -0
  318. data/ext/native/src/wrappers/nodejs/node-v4.1.0/include/openssl/archs/aix-gcc/opensslconf.h +261 -0
  319. data/ext/native/src/wrappers/nodejs/node-v4.1.0/include/openssl/archs/aix64-gcc/opensslconf.h +261 -0
  320. data/ext/native/src/wrappers/nodejs/node-v4.1.0/include/openssl/archs/darwin-i386-cc/opensslconf.h +261 -0
  321. data/ext/native/src/wrappers/nodejs/node-v4.1.0/include/openssl/archs/darwin64-x86_64-cc/opensslconf.h +261 -0
  322. data/ext/native/src/wrappers/nodejs/node-v4.1.0/include/openssl/archs/linux-aarch64/opensslconf.h +258 -0
  323. data/ext/native/src/wrappers/nodejs/node-v4.1.0/include/openssl/archs/linux-armv4/opensslconf.h +258 -0
  324. data/ext/native/src/wrappers/nodejs/node-v4.1.0/include/openssl/archs/linux-elf/opensslconf.h +258 -0
  325. data/ext/native/src/wrappers/nodejs/node-v4.1.0/include/openssl/archs/linux-ppc/opensslconf.h +258 -0
  326. data/ext/native/src/wrappers/nodejs/node-v4.1.0/include/openssl/archs/linux-ppc64/opensslconf.h +258 -0
  327. data/ext/native/src/wrappers/nodejs/node-v4.1.0/include/openssl/archs/linux-x32/opensslconf.h +258 -0
  328. data/ext/native/src/wrappers/nodejs/node-v4.1.0/include/openssl/archs/linux-x86_64/opensslconf.h +258 -0
  329. data/ext/native/src/wrappers/nodejs/node-v4.1.0/include/openssl/archs/solaris-x86-gcc/opensslconf.h +258 -0
  330. data/ext/native/src/wrappers/nodejs/node-v4.1.0/include/openssl/archs/solaris64-x86_64-gcc/opensslconf.h +258 -0
  331. data/ext/native/src/wrappers/nodejs/node-v4.1.0/include/openssl/asn1.h +1419 -0
  332. data/ext/native/src/wrappers/nodejs/node-v4.1.0/include/openssl/asn1_mac.h +579 -0
  333. data/ext/native/src/wrappers/nodejs/node-v4.1.0/include/openssl/asn1t.h +973 -0
  334. data/ext/native/src/wrappers/nodejs/node-v4.1.0/include/openssl/bio.h +879 -0
  335. data/ext/native/src/wrappers/nodejs/node-v4.1.0/include/openssl/blowfish.h +130 -0
  336. data/ext/native/src/wrappers/nodejs/node-v4.1.0/include/openssl/bn.h +939 -0
  337. data/ext/native/src/wrappers/nodejs/node-v4.1.0/include/openssl/buffer.h +119 -0
  338. data/ext/native/src/wrappers/nodejs/node-v4.1.0/include/openssl/camellia.h +132 -0
  339. data/ext/native/src/wrappers/nodejs/node-v4.1.0/include/openssl/cast.h +107 -0
  340. data/ext/native/src/wrappers/nodejs/node-v4.1.0/include/openssl/cmac.h +82 -0
  341. data/ext/native/src/wrappers/nodejs/node-v4.1.0/include/openssl/cms.h +555 -0
  342. data/ext/native/src/wrappers/nodejs/node-v4.1.0/include/openssl/comp.h +79 -0
  343. data/ext/native/src/wrappers/nodejs/node-v4.1.0/include/openssl/conf.h +267 -0
  344. data/ext/native/src/wrappers/nodejs/node-v4.1.0/include/openssl/conf_api.h +89 -0
  345. data/ext/native/src/wrappers/nodejs/node-v4.1.0/include/openssl/crypto.h +661 -0
  346. data/ext/native/src/wrappers/nodejs/node-v4.1.0/include/openssl/des.h +257 -0
  347. data/ext/native/src/wrappers/nodejs/node-v4.1.0/include/openssl/des_old.h +497 -0
  348. data/ext/native/src/wrappers/nodejs/node-v4.1.0/include/openssl/dh.h +392 -0
  349. data/ext/native/src/wrappers/nodejs/node-v4.1.0/include/openssl/dsa.h +332 -0
  350. data/ext/native/src/wrappers/nodejs/node-v4.1.0/include/openssl/dso.h +451 -0
  351. data/ext/native/src/wrappers/nodejs/node-v4.1.0/include/openssl/dtls1.h +272 -0
  352. data/ext/native/src/wrappers/nodejs/node-v4.1.0/include/openssl/e_os2.h +328 -0
  353. data/ext/native/src/wrappers/nodejs/node-v4.1.0/include/openssl/ebcdic.h +26 -0
  354. data/ext/native/src/wrappers/nodejs/node-v4.1.0/include/openssl/ec.h +1282 -0
  355. data/ext/native/src/wrappers/nodejs/node-v4.1.0/include/openssl/ecdh.h +134 -0
  356. data/ext/native/src/wrappers/nodejs/node-v4.1.0/include/openssl/ecdsa.h +335 -0
  357. data/ext/native/src/wrappers/nodejs/node-v4.1.0/include/openssl/engine.h +960 -0
  358. data/ext/native/src/wrappers/nodejs/node-v4.1.0/include/openssl/err.h +389 -0
  359. data/ext/native/src/wrappers/nodejs/node-v4.1.0/include/openssl/evp.h +1534 -0
  360. data/ext/native/src/wrappers/nodejs/node-v4.1.0/include/openssl/hmac.h +109 -0
  361. data/ext/native/src/wrappers/nodejs/node-v4.1.0/include/openssl/idea.h +105 -0
  362. data/ext/native/src/wrappers/nodejs/node-v4.1.0/include/openssl/krb5_asn.h +240 -0
  363. data/ext/native/src/wrappers/nodejs/node-v4.1.0/include/openssl/kssl.h +197 -0
  364. data/ext/native/src/wrappers/nodejs/node-v4.1.0/include/openssl/lhash.h +240 -0
  365. data/ext/native/src/wrappers/nodejs/node-v4.1.0/include/openssl/md4.h +119 -0
  366. data/ext/native/src/wrappers/nodejs/node-v4.1.0/include/openssl/md5.h +119 -0
  367. data/ext/native/src/wrappers/nodejs/node-v4.1.0/include/openssl/mdc2.h +94 -0
  368. data/ext/native/src/wrappers/nodejs/node-v4.1.0/include/openssl/modes.h +163 -0
  369. data/ext/native/src/wrappers/nodejs/node-v4.1.0/include/openssl/obj_mac.h +4194 -0
  370. data/ext/native/src/wrappers/nodejs/node-v4.1.0/include/openssl/objects.h +1143 -0
  371. data/ext/native/src/wrappers/nodejs/node-v4.1.0/include/openssl/ocsp.h +637 -0
  372. data/ext/native/src/wrappers/nodejs/node-v4.1.0/include/openssl/opensslconf.h +138 -0
  373. data/ext/native/src/wrappers/nodejs/node-v4.1.0/include/openssl/opensslv.h +97 -0
  374. data/ext/native/src/wrappers/nodejs/node-v4.1.0/include/openssl/ossl_typ.h +211 -0
  375. data/ext/native/src/wrappers/nodejs/node-v4.1.0/include/openssl/pem.h +615 -0
  376. data/ext/native/src/wrappers/nodejs/node-v4.1.0/include/openssl/pem2.h +70 -0
  377. data/ext/native/src/wrappers/nodejs/node-v4.1.0/include/openssl/pkcs12.h +342 -0
  378. data/ext/native/src/wrappers/nodejs/node-v4.1.0/include/openssl/pkcs7.h +481 -0
  379. data/ext/native/src/wrappers/nodejs/node-v4.1.0/include/openssl/pqueue.h +99 -0
  380. data/ext/native/src/wrappers/nodejs/node-v4.1.0/include/openssl/rand.h +150 -0
  381. data/ext/native/src/wrappers/nodejs/node-v4.1.0/include/openssl/rc2.h +103 -0
  382. data/ext/native/src/wrappers/nodejs/node-v4.1.0/include/openssl/rc4.h +88 -0
  383. data/ext/native/src/wrappers/nodejs/node-v4.1.0/include/openssl/ripemd.h +105 -0
  384. data/ext/native/src/wrappers/nodejs/node-v4.1.0/include/openssl/rsa.h +664 -0
  385. data/ext/native/src/wrappers/nodejs/node-v4.1.0/include/openssl/safestack.h +2672 -0
  386. data/ext/native/src/wrappers/nodejs/node-v4.1.0/include/openssl/seed.h +149 -0
  387. data/ext/native/src/wrappers/nodejs/node-v4.1.0/include/openssl/sha.h +214 -0
  388. data/ext/native/src/wrappers/nodejs/node-v4.1.0/include/openssl/srp.h +169 -0
  389. data/ext/native/src/wrappers/nodejs/node-v4.1.0/include/openssl/srtp.h +147 -0
  390. data/ext/native/src/wrappers/nodejs/node-v4.1.0/include/openssl/ssl.h +3164 -0
  391. data/ext/native/src/wrappers/nodejs/node-v4.1.0/include/openssl/ssl2.h +265 -0
  392. data/ext/native/src/wrappers/nodejs/node-v4.1.0/include/openssl/ssl23.h +84 -0
  393. data/ext/native/src/wrappers/nodejs/node-v4.1.0/include/openssl/ssl3.h +774 -0
  394. data/ext/native/src/wrappers/nodejs/node-v4.1.0/include/openssl/stack.h +107 -0
  395. data/ext/native/src/wrappers/nodejs/node-v4.1.0/include/openssl/symhacks.h +516 -0
  396. data/ext/native/src/wrappers/nodejs/node-v4.1.0/include/openssl/tls1.h +813 -0
  397. data/ext/native/src/wrappers/nodejs/node-v4.1.0/include/openssl/ts.h +862 -0
  398. data/ext/native/src/wrappers/nodejs/node-v4.1.0/include/openssl/txt_db.h +112 -0
  399. data/ext/native/src/wrappers/nodejs/node-v4.1.0/include/openssl/ui.h +415 -0
  400. data/ext/native/src/wrappers/nodejs/node-v4.1.0/include/openssl/ui_compat.h +88 -0
  401. data/ext/native/src/wrappers/nodejs/node-v4.1.0/include/openssl/whrlpool.h +41 -0
  402. data/ext/native/src/wrappers/nodejs/node-v4.1.0/include/openssl/x509.h +1327 -0
  403. data/ext/native/src/wrappers/nodejs/node-v4.1.0/include/openssl/x509_vfy.h +647 -0
  404. data/ext/native/src/wrappers/nodejs/node-v4.1.0/include/openssl/x509v3.h +1055 -0
  405. data/ext/native/src/wrappers/nodejs/node-v4.1.0/include/pthread-fixes.h +72 -0
  406. data/ext/native/src/wrappers/nodejs/node-v4.1.0/include/stdint-msvc2008.h +247 -0
  407. data/ext/native/src/wrappers/nodejs/node-v4.1.0/include/tree.h +768 -0
  408. data/ext/native/src/wrappers/nodejs/node-v4.1.0/include/uv-aix.h +32 -0
  409. data/ext/native/src/wrappers/nodejs/node-v4.1.0/include/uv-bsd.h +34 -0
  410. data/ext/native/src/wrappers/nodejs/node-v4.1.0/include/uv-darwin.h +61 -0
  411. data/ext/native/src/wrappers/nodejs/node-v4.1.0/include/uv-errno.h +418 -0
  412. data/ext/native/src/wrappers/nodejs/node-v4.1.0/include/uv-linux.h +34 -0
  413. data/ext/native/src/wrappers/nodejs/node-v4.1.0/include/uv-sunos.h +44 -0
  414. data/ext/native/src/wrappers/nodejs/node-v4.1.0/include/uv-threadpool.h +37 -0
  415. data/ext/native/src/wrappers/nodejs/node-v4.1.0/include/uv-unix.h +383 -0
  416. data/ext/native/src/wrappers/nodejs/node-v4.1.0/include/uv-version.h +43 -0
  417. data/ext/native/src/wrappers/nodejs/node-v4.1.0/include/uv-win.h +655 -0
  418. data/ext/native/src/wrappers/nodejs/node-v4.1.0/include/uv.h +1472 -0
  419. data/ext/native/src/wrappers/nodejs/node-v4.1.0/include/v8-debug.h +280 -0
  420. data/ext/native/src/wrappers/nodejs/node-v4.1.0/include/v8-platform.h +82 -0
  421. data/ext/native/src/wrappers/nodejs/node-v4.1.0/include/v8-profiler.h +648 -0
  422. data/ext/native/src/wrappers/nodejs/node-v4.1.0/include/v8-testing.h +48 -0
  423. data/ext/native/src/wrappers/nodejs/node-v4.1.0/include/v8-util.h +640 -0
  424. data/ext/native/src/wrappers/nodejs/node-v4.1.0/include/v8-version.h +20 -0
  425. data/ext/native/src/wrappers/nodejs/node-v4.1.0/include/v8.h +8366 -0
  426. data/ext/native/src/wrappers/nodejs/node-v4.1.0/include/v8config.h +424 -0
  427. data/ext/native/src/wrappers/nodejs/node-v4.1.0/include/zconf.h +511 -0
  428. data/ext/native/src/wrappers/nodejs/node-v4.1.0/include/zlib.h +1768 -0
  429. data/ext/native/src/wrappers/nodejs/node-v4.1.0/lib/win/x64/node.lib +0 -0
  430. data/ext/native/src/wrappers/nodejs/node-v4.1.0/lib/win/x86/node.lib +0 -0
  431. data/ext/native/src/wrappers/nodejs/node-v4.4.4/include/android-ifaddrs.h +54 -0
  432. data/ext/native/src/wrappers/nodejs/node-v4.4.4/include/ares.h +589 -0
  433. data/ext/native/src/wrappers/nodejs/node-v4.4.4/include/ares_version.h +24 -0
  434. data/ext/native/src/wrappers/nodejs/node-v4.4.4/include/common.gypi +337 -0
  435. data/ext/native/src/wrappers/nodejs/node-v4.4.4/include/config.gypi +44 -0
  436. data/ext/native/src/wrappers/nodejs/node-v4.4.4/include/libplatform/libplatform.h +38 -0
  437. data/ext/native/src/wrappers/nodejs/node-v4.4.4/include/nameser.h +211 -0
  438. data/ext/native/src/wrappers/nodejs/node-v4.4.4/include/node.h +470 -0
  439. data/ext/native/src/wrappers/nodejs/node-v4.4.4/include/node_buffer.h +65 -0
  440. data/ext/native/src/wrappers/nodejs/node-v4.4.4/include/node_internals.h +333 -0
  441. data/ext/native/src/wrappers/nodejs/node-v4.4.4/include/node_object_wrap.h +116 -0
  442. data/ext/native/src/wrappers/nodejs/node-v4.4.4/include/node_version.h +57 -0
  443. data/ext/native/src/wrappers/nodejs/node-v4.4.4/include/openssl/aes.h +149 -0
  444. data/ext/native/src/wrappers/nodejs/node-v4.4.4/include/openssl/archs/BSD-x86/opensslconf.h +270 -0
  445. data/ext/native/src/wrappers/nodejs/node-v4.4.4/include/openssl/archs/BSD-x86_64/opensslconf.h +270 -0
  446. data/ext/native/src/wrappers/nodejs/node-v4.4.4/include/openssl/archs/VC-WIN32/opensslconf.h +271 -0
  447. data/ext/native/src/wrappers/nodejs/node-v4.4.4/include/openssl/archs/VC-WIN64A/opensslconf.h +271 -0
  448. data/ext/native/src/wrappers/nodejs/node-v4.4.4/include/openssl/archs/aix-gcc/opensslconf.h +273 -0
  449. data/ext/native/src/wrappers/nodejs/node-v4.4.4/include/openssl/archs/aix64-gcc/opensslconf.h +273 -0
  450. data/ext/native/src/wrappers/nodejs/node-v4.4.4/include/openssl/archs/darwin-i386-cc/opensslconf.h +273 -0
  451. data/ext/native/src/wrappers/nodejs/node-v4.4.4/include/openssl/archs/darwin64-x86_64-cc/opensslconf.h +273 -0
  452. data/ext/native/src/wrappers/nodejs/node-v4.4.4/include/openssl/archs/linux-aarch64/opensslconf.h +270 -0
  453. data/ext/native/src/wrappers/nodejs/node-v4.4.4/include/openssl/archs/linux-armv4/opensslconf.h +270 -0
  454. data/ext/native/src/wrappers/nodejs/node-v4.4.4/include/openssl/archs/linux-elf/opensslconf.h +270 -0
  455. data/ext/native/src/wrappers/nodejs/node-v4.4.4/include/openssl/archs/linux-ppc/opensslconf.h +270 -0
  456. data/ext/native/src/wrappers/nodejs/node-v4.4.4/include/openssl/archs/linux-ppc64/opensslconf.h +270 -0
  457. data/ext/native/src/wrappers/nodejs/node-v4.4.4/include/openssl/archs/linux-x32/opensslconf.h +270 -0
  458. data/ext/native/src/wrappers/nodejs/node-v4.4.4/include/openssl/archs/linux-x86_64/opensslconf.h +270 -0
  459. data/ext/native/src/wrappers/nodejs/node-v4.4.4/include/openssl/archs/solaris-x86-gcc/opensslconf.h +270 -0
  460. data/ext/native/src/wrappers/nodejs/node-v4.4.4/include/openssl/archs/solaris64-x86_64-gcc/opensslconf.h +270 -0
  461. data/ext/native/src/wrappers/nodejs/node-v4.4.4/include/openssl/asn1.h +1419 -0
  462. data/ext/native/src/wrappers/nodejs/node-v4.4.4/include/openssl/asn1_mac.h +579 -0
  463. data/ext/native/src/wrappers/nodejs/node-v4.4.4/include/openssl/asn1t.h +973 -0
  464. data/ext/native/src/wrappers/nodejs/node-v4.4.4/include/openssl/bio.h +883 -0
  465. data/ext/native/src/wrappers/nodejs/node-v4.4.4/include/openssl/blowfish.h +130 -0
  466. data/ext/native/src/wrappers/nodejs/node-v4.4.4/include/openssl/bn.h +949 -0
  467. data/ext/native/src/wrappers/nodejs/node-v4.4.4/include/openssl/buffer.h +125 -0
  468. data/ext/native/src/wrappers/nodejs/node-v4.4.4/include/openssl/camellia.h +132 -0
  469. data/ext/native/src/wrappers/nodejs/node-v4.4.4/include/openssl/cast.h +107 -0
  470. data/ext/native/src/wrappers/nodejs/node-v4.4.4/include/openssl/cmac.h +82 -0
  471. data/ext/native/src/wrappers/nodejs/node-v4.4.4/include/openssl/cms.h +555 -0
  472. data/ext/native/src/wrappers/nodejs/node-v4.4.4/include/openssl/comp.h +83 -0
  473. data/ext/native/src/wrappers/nodejs/node-v4.4.4/include/openssl/conf.h +267 -0
  474. data/ext/native/src/wrappers/nodejs/node-v4.4.4/include/openssl/conf_api.h +89 -0
  475. data/ext/native/src/wrappers/nodejs/node-v4.4.4/include/openssl/crypto.h +661 -0
  476. data/ext/native/src/wrappers/nodejs/node-v4.4.4/include/openssl/des.h +257 -0
  477. data/ext/native/src/wrappers/nodejs/node-v4.4.4/include/openssl/des_old.h +497 -0
  478. data/ext/native/src/wrappers/nodejs/node-v4.4.4/include/openssl/dh.h +393 -0
  479. data/ext/native/src/wrappers/nodejs/node-v4.4.4/include/openssl/dsa.h +332 -0
  480. data/ext/native/src/wrappers/nodejs/node-v4.4.4/include/openssl/dso.h +451 -0
  481. data/ext/native/src/wrappers/nodejs/node-v4.4.4/include/openssl/dtls1.h +272 -0
  482. data/ext/native/src/wrappers/nodejs/node-v4.4.4/include/openssl/e_os2.h +328 -0
  483. data/ext/native/src/wrappers/nodejs/node-v4.4.4/include/openssl/ebcdic.h +26 -0
  484. data/ext/native/src/wrappers/nodejs/node-v4.4.4/include/openssl/ec.h +1282 -0
  485. data/ext/native/src/wrappers/nodejs/node-v4.4.4/include/openssl/ecdh.h +134 -0
  486. data/ext/native/src/wrappers/nodejs/node-v4.4.4/include/openssl/ecdsa.h +335 -0
  487. data/ext/native/src/wrappers/nodejs/node-v4.4.4/include/openssl/engine.h +960 -0
  488. data/ext/native/src/wrappers/nodejs/node-v4.4.4/include/openssl/err.h +389 -0
  489. data/ext/native/src/wrappers/nodejs/node-v4.4.4/include/openssl/evp.h +1534 -0
  490. data/ext/native/src/wrappers/nodejs/node-v4.4.4/include/openssl/hmac.h +109 -0
  491. data/ext/native/src/wrappers/nodejs/node-v4.4.4/include/openssl/idea.h +105 -0
  492. data/ext/native/src/wrappers/nodejs/node-v4.4.4/include/openssl/krb5_asn.h +240 -0
  493. data/ext/native/src/wrappers/nodejs/node-v4.4.4/include/openssl/kssl.h +197 -0
  494. data/ext/native/src/wrappers/nodejs/node-v4.4.4/include/openssl/lhash.h +240 -0
  495. data/ext/native/src/wrappers/nodejs/node-v4.4.4/include/openssl/md4.h +119 -0
  496. data/ext/native/src/wrappers/nodejs/node-v4.4.4/include/openssl/md5.h +119 -0
  497. data/ext/native/src/wrappers/nodejs/node-v4.4.4/include/openssl/mdc2.h +94 -0
  498. data/ext/native/src/wrappers/nodejs/node-v4.4.4/include/openssl/modes.h +163 -0
  499. data/ext/native/src/wrappers/nodejs/node-v4.4.4/include/openssl/obj_mac.h +4194 -0
  500. data/ext/native/src/wrappers/nodejs/node-v4.4.4/include/openssl/objects.h +1143 -0
  501. data/ext/native/src/wrappers/nodejs/node-v4.4.4/include/openssl/ocsp.h +637 -0
  502. data/ext/native/src/wrappers/nodejs/node-v4.4.4/include/openssl/opensslconf.h +138 -0
  503. data/ext/native/src/wrappers/nodejs/node-v4.4.4/include/openssl/opensslv.h +97 -0
  504. data/ext/native/src/wrappers/nodejs/node-v4.4.4/include/openssl/ossl_typ.h +211 -0
  505. data/ext/native/src/wrappers/nodejs/node-v4.4.4/include/openssl/pem.h +615 -0
  506. data/ext/native/src/wrappers/nodejs/node-v4.4.4/include/openssl/pem2.h +70 -0
  507. data/ext/native/src/wrappers/nodejs/node-v4.4.4/include/openssl/pkcs12.h +342 -0
  508. data/ext/native/src/wrappers/nodejs/node-v4.4.4/include/openssl/pkcs7.h +481 -0
  509. data/ext/native/src/wrappers/nodejs/node-v4.4.4/include/openssl/pqueue.h +99 -0
  510. data/ext/native/src/wrappers/nodejs/node-v4.4.4/include/openssl/rand.h +150 -0
  511. data/ext/native/src/wrappers/nodejs/node-v4.4.4/include/openssl/rc2.h +103 -0
  512. data/ext/native/src/wrappers/nodejs/node-v4.4.4/include/openssl/rc4.h +88 -0
  513. data/ext/native/src/wrappers/nodejs/node-v4.4.4/include/openssl/ripemd.h +105 -0
  514. data/ext/native/src/wrappers/nodejs/node-v4.4.4/include/openssl/rsa.h +664 -0
  515. data/ext/native/src/wrappers/nodejs/node-v4.4.4/include/openssl/safestack.h +2672 -0
  516. data/ext/native/src/wrappers/nodejs/node-v4.4.4/include/openssl/seed.h +149 -0
  517. data/ext/native/src/wrappers/nodejs/node-v4.4.4/include/openssl/sha.h +214 -0
  518. data/ext/native/src/wrappers/nodejs/node-v4.4.4/include/openssl/srp.h +179 -0
  519. data/ext/native/src/wrappers/nodejs/node-v4.4.4/include/openssl/srtp.h +147 -0
  520. data/ext/native/src/wrappers/nodejs/node-v4.4.4/include/openssl/ssl.h +3169 -0
  521. data/ext/native/src/wrappers/nodejs/node-v4.4.4/include/openssl/ssl2.h +265 -0
  522. data/ext/native/src/wrappers/nodejs/node-v4.4.4/include/openssl/ssl23.h +84 -0
  523. data/ext/native/src/wrappers/nodejs/node-v4.4.4/include/openssl/ssl3.h +774 -0
  524. data/ext/native/src/wrappers/nodejs/node-v4.4.4/include/openssl/stack.h +107 -0
  525. data/ext/native/src/wrappers/nodejs/node-v4.4.4/include/openssl/symhacks.h +516 -0
  526. data/ext/native/src/wrappers/nodejs/node-v4.4.4/include/openssl/tls1.h +810 -0
  527. data/ext/native/src/wrappers/nodejs/node-v4.4.4/include/openssl/ts.h +862 -0
  528. data/ext/native/src/wrappers/nodejs/node-v4.4.4/include/openssl/txt_db.h +112 -0
  529. data/ext/native/src/wrappers/nodejs/node-v4.4.4/include/openssl/ui.h +415 -0
  530. data/ext/native/src/wrappers/nodejs/node-v4.4.4/include/openssl/ui_compat.h +88 -0
  531. data/ext/native/src/wrappers/nodejs/node-v4.4.4/include/openssl/whrlpool.h +41 -0
  532. data/ext/native/src/wrappers/nodejs/node-v4.4.4/include/openssl/x509.h +1328 -0
  533. data/ext/native/src/wrappers/nodejs/node-v4.4.4/include/openssl/x509_vfy.h +647 -0
  534. data/ext/native/src/wrappers/nodejs/node-v4.4.4/include/openssl/x509v3.h +1055 -0
  535. data/ext/native/src/wrappers/nodejs/node-v4.4.4/include/pthread-fixes.h +72 -0
  536. data/ext/native/src/wrappers/nodejs/node-v4.4.4/include/stdint-msvc2008.h +247 -0
  537. data/ext/native/src/wrappers/nodejs/node-v4.4.4/include/tree.h +768 -0
  538. data/ext/native/src/wrappers/nodejs/node-v4.4.4/include/uv-aix.h +32 -0
  539. data/ext/native/src/wrappers/nodejs/node-v4.4.4/include/uv-bsd.h +34 -0
  540. data/ext/native/src/wrappers/nodejs/node-v4.4.4/include/uv-darwin.h +61 -0
  541. data/ext/native/src/wrappers/nodejs/node-v4.4.4/include/uv-errno.h +418 -0
  542. data/ext/native/src/wrappers/nodejs/node-v4.4.4/include/uv-linux.h +34 -0
  543. data/ext/native/src/wrappers/nodejs/node-v4.4.4/include/uv-sunos.h +44 -0
  544. data/ext/native/src/wrappers/nodejs/node-v4.4.4/include/uv-threadpool.h +37 -0
  545. data/ext/native/src/wrappers/nodejs/node-v4.4.4/include/uv-unix.h +383 -0
  546. data/ext/native/src/wrappers/nodejs/node-v4.4.4/include/uv-version.h +43 -0
  547. data/ext/native/src/wrappers/nodejs/node-v4.4.4/include/uv-win.h +653 -0
  548. data/ext/native/src/wrappers/nodejs/node-v4.4.4/include/uv.h +1482 -0
  549. data/ext/native/src/wrappers/nodejs/node-v4.4.4/include/v8-debug.h +280 -0
  550. data/ext/native/src/wrappers/nodejs/node-v4.4.4/include/v8-platform.h +82 -0
  551. data/ext/native/src/wrappers/nodejs/node-v4.4.4/include/v8-profiler.h +648 -0
  552. data/ext/native/src/wrappers/nodejs/node-v4.4.4/include/v8-testing.h +48 -0
  553. data/ext/native/src/wrappers/nodejs/node-v4.4.4/include/v8-util.h +640 -0
  554. data/ext/native/src/wrappers/nodejs/node-v4.4.4/include/v8-version.h +20 -0
  555. data/ext/native/src/wrappers/nodejs/node-v4.4.4/include/v8.h +8379 -0
  556. data/ext/native/src/wrappers/nodejs/node-v4.4.4/include/v8config.h +424 -0
  557. data/ext/native/src/wrappers/nodejs/node-v4.4.4/include/zconf.h +511 -0
  558. data/ext/native/src/wrappers/nodejs/node-v4.4.4/include/zlib.h +1768 -0
  559. data/ext/native/src/wrappers/nodejs/node-v4.4.4/lib/win/x64/node.lib +0 -0
  560. data/ext/native/src/wrappers/nodejs/node-v4.4.4/lib/win/x86/node.lib +0 -0
  561. data/ext/native/src/wrappers/nodejs/node-v5.9.1/include/android-ifaddrs.h +54 -0
  562. data/ext/native/src/wrappers/nodejs/node-v5.9.1/include/ares.h +627 -0
  563. data/ext/native/src/wrappers/nodejs/node-v5.9.1/include/ares_build.h +117 -0
  564. data/ext/native/src/wrappers/nodejs/node-v5.9.1/include/ares_rules.h +130 -0
  565. data/ext/native/src/wrappers/nodejs/node-v5.9.1/include/ares_version.h +24 -0
  566. data/ext/native/src/wrappers/nodejs/node-v5.9.1/include/common.gypi +335 -0
  567. data/ext/native/src/wrappers/nodejs/node-v5.9.1/include/config.gypi +45 -0
  568. data/ext/native/src/wrappers/nodejs/node-v5.9.1/include/libplatform/libplatform.h +38 -0
  569. data/ext/native/src/wrappers/nodejs/node-v5.9.1/include/nameser.h +211 -0
  570. data/ext/native/src/wrappers/nodejs/node-v5.9.1/include/node.h +470 -0
  571. data/ext/native/src/wrappers/nodejs/node-v5.9.1/include/node_buffer.h +65 -0
  572. data/ext/native/src/wrappers/nodejs/node-v5.9.1/include/node_internals.h +331 -0
  573. data/ext/native/src/wrappers/nodejs/node-v5.9.1/include/node_object_wrap.h +116 -0
  574. data/ext/native/src/wrappers/nodejs/node-v5.9.1/include/node_version.h +54 -0
  575. data/ext/native/src/wrappers/nodejs/node-v5.9.1/include/openssl/aes.h +149 -0
  576. data/ext/native/src/wrappers/nodejs/node-v5.9.1/include/openssl/archs/BSD-x86/opensslconf.h +270 -0
  577. data/ext/native/src/wrappers/nodejs/node-v5.9.1/include/openssl/archs/BSD-x86_64/opensslconf.h +270 -0
  578. data/ext/native/src/wrappers/nodejs/node-v5.9.1/include/openssl/archs/VC-WIN32/opensslconf.h +271 -0
  579. data/ext/native/src/wrappers/nodejs/node-v5.9.1/include/openssl/archs/VC-WIN64A/opensslconf.h +271 -0
  580. data/ext/native/src/wrappers/nodejs/node-v5.9.1/include/openssl/archs/aix-gcc/opensslconf.h +273 -0
  581. data/ext/native/src/wrappers/nodejs/node-v5.9.1/include/openssl/archs/aix64-gcc/opensslconf.h +273 -0
  582. data/ext/native/src/wrappers/nodejs/node-v5.9.1/include/openssl/archs/darwin-i386-cc/opensslconf.h +273 -0
  583. data/ext/native/src/wrappers/nodejs/node-v5.9.1/include/openssl/archs/darwin64-x86_64-cc/opensslconf.h +273 -0
  584. data/ext/native/src/wrappers/nodejs/node-v5.9.1/include/openssl/archs/linux-aarch64/opensslconf.h +270 -0
  585. data/ext/native/src/wrappers/nodejs/node-v5.9.1/include/openssl/archs/linux-armv4/opensslconf.h +270 -0
  586. data/ext/native/src/wrappers/nodejs/node-v5.9.1/include/openssl/archs/linux-elf/opensslconf.h +270 -0
  587. data/ext/native/src/wrappers/nodejs/node-v5.9.1/include/openssl/archs/linux-ppc/opensslconf.h +270 -0
  588. data/ext/native/src/wrappers/nodejs/node-v5.9.1/include/openssl/archs/linux-ppc64/opensslconf.h +270 -0
  589. data/ext/native/src/wrappers/nodejs/node-v5.9.1/include/openssl/archs/linux-x32/opensslconf.h +270 -0
  590. data/ext/native/src/wrappers/nodejs/node-v5.9.1/include/openssl/archs/linux-x86_64/opensslconf.h +270 -0
  591. data/ext/native/src/wrappers/nodejs/node-v5.9.1/include/openssl/archs/solaris-x86-gcc/opensslconf.h +270 -0
  592. data/ext/native/src/wrappers/nodejs/node-v5.9.1/include/openssl/archs/solaris64-x86_64-gcc/opensslconf.h +270 -0
  593. data/ext/native/src/wrappers/nodejs/node-v5.9.1/include/openssl/asn1.h +1419 -0
  594. data/ext/native/src/wrappers/nodejs/node-v5.9.1/include/openssl/asn1_mac.h +579 -0
  595. data/ext/native/src/wrappers/nodejs/node-v5.9.1/include/openssl/asn1t.h +973 -0
  596. data/ext/native/src/wrappers/nodejs/node-v5.9.1/include/openssl/bio.h +883 -0
  597. data/ext/native/src/wrappers/nodejs/node-v5.9.1/include/openssl/blowfish.h +130 -0
  598. data/ext/native/src/wrappers/nodejs/node-v5.9.1/include/openssl/bn.h +949 -0
  599. data/ext/native/src/wrappers/nodejs/node-v5.9.1/include/openssl/buffer.h +125 -0
  600. data/ext/native/src/wrappers/nodejs/node-v5.9.1/include/openssl/camellia.h +132 -0
  601. data/ext/native/src/wrappers/nodejs/node-v5.9.1/include/openssl/cast.h +107 -0
  602. data/ext/native/src/wrappers/nodejs/node-v5.9.1/include/openssl/cmac.h +82 -0
  603. data/ext/native/src/wrappers/nodejs/node-v5.9.1/include/openssl/cms.h +555 -0
  604. data/ext/native/src/wrappers/nodejs/node-v5.9.1/include/openssl/comp.h +79 -0
  605. data/ext/native/src/wrappers/nodejs/node-v5.9.1/include/openssl/conf.h +267 -0
  606. data/ext/native/src/wrappers/nodejs/node-v5.9.1/include/openssl/conf_api.h +89 -0
  607. data/ext/native/src/wrappers/nodejs/node-v5.9.1/include/openssl/crypto.h +661 -0
  608. data/ext/native/src/wrappers/nodejs/node-v5.9.1/include/openssl/des.h +257 -0
  609. data/ext/native/src/wrappers/nodejs/node-v5.9.1/include/openssl/des_old.h +497 -0
  610. data/ext/native/src/wrappers/nodejs/node-v5.9.1/include/openssl/dh.h +393 -0
  611. data/ext/native/src/wrappers/nodejs/node-v5.9.1/include/openssl/dsa.h +332 -0
  612. data/ext/native/src/wrappers/nodejs/node-v5.9.1/include/openssl/dso.h +451 -0
  613. data/ext/native/src/wrappers/nodejs/node-v5.9.1/include/openssl/dtls1.h +272 -0
  614. data/ext/native/src/wrappers/nodejs/node-v5.9.1/include/openssl/e_os2.h +328 -0
  615. data/ext/native/src/wrappers/nodejs/node-v5.9.1/include/openssl/ebcdic.h +26 -0
  616. data/ext/native/src/wrappers/nodejs/node-v5.9.1/include/openssl/ec.h +1282 -0
  617. data/ext/native/src/wrappers/nodejs/node-v5.9.1/include/openssl/ecdh.h +134 -0
  618. data/ext/native/src/wrappers/nodejs/node-v5.9.1/include/openssl/ecdsa.h +335 -0
  619. data/ext/native/src/wrappers/nodejs/node-v5.9.1/include/openssl/engine.h +960 -0
  620. data/ext/native/src/wrappers/nodejs/node-v5.9.1/include/openssl/err.h +389 -0
  621. data/ext/native/src/wrappers/nodejs/node-v5.9.1/include/openssl/evp.h +1534 -0
  622. data/ext/native/src/wrappers/nodejs/node-v5.9.1/include/openssl/hmac.h +109 -0
  623. data/ext/native/src/wrappers/nodejs/node-v5.9.1/include/openssl/idea.h +105 -0
  624. data/ext/native/src/wrappers/nodejs/node-v5.9.1/include/openssl/krb5_asn.h +240 -0
  625. data/ext/native/src/wrappers/nodejs/node-v5.9.1/include/openssl/kssl.h +197 -0
  626. data/ext/native/src/wrappers/nodejs/node-v5.9.1/include/openssl/lhash.h +240 -0
  627. data/ext/native/src/wrappers/nodejs/node-v5.9.1/include/openssl/md4.h +119 -0
  628. data/ext/native/src/wrappers/nodejs/node-v5.9.1/include/openssl/md5.h +119 -0
  629. data/ext/native/src/wrappers/nodejs/node-v5.9.1/include/openssl/mdc2.h +94 -0
  630. data/ext/native/src/wrappers/nodejs/node-v5.9.1/include/openssl/modes.h +163 -0
  631. data/ext/native/src/wrappers/nodejs/node-v5.9.1/include/openssl/obj_mac.h +4194 -0
  632. data/ext/native/src/wrappers/nodejs/node-v5.9.1/include/openssl/objects.h +1143 -0
  633. data/ext/native/src/wrappers/nodejs/node-v5.9.1/include/openssl/ocsp.h +637 -0
  634. data/ext/native/src/wrappers/nodejs/node-v5.9.1/include/openssl/opensslconf.h +138 -0
  635. data/ext/native/src/wrappers/nodejs/node-v5.9.1/include/openssl/opensslv.h +97 -0
  636. data/ext/native/src/wrappers/nodejs/node-v5.9.1/include/openssl/ossl_typ.h +211 -0
  637. data/ext/native/src/wrappers/nodejs/node-v5.9.1/include/openssl/pem.h +615 -0
  638. data/ext/native/src/wrappers/nodejs/node-v5.9.1/include/openssl/pem2.h +70 -0
  639. data/ext/native/src/wrappers/nodejs/node-v5.9.1/include/openssl/pkcs12.h +342 -0
  640. data/ext/native/src/wrappers/nodejs/node-v5.9.1/include/openssl/pkcs7.h +481 -0
  641. data/ext/native/src/wrappers/nodejs/node-v5.9.1/include/openssl/pqueue.h +99 -0
  642. data/ext/native/src/wrappers/nodejs/node-v5.9.1/include/openssl/rand.h +150 -0
  643. data/ext/native/src/wrappers/nodejs/node-v5.9.1/include/openssl/rc2.h +103 -0
  644. data/ext/native/src/wrappers/nodejs/node-v5.9.1/include/openssl/rc4.h +88 -0
  645. data/ext/native/src/wrappers/nodejs/node-v5.9.1/include/openssl/ripemd.h +105 -0
  646. data/ext/native/src/wrappers/nodejs/node-v5.9.1/include/openssl/rsa.h +664 -0
  647. data/ext/native/src/wrappers/nodejs/node-v5.9.1/include/openssl/safestack.h +2672 -0
  648. data/ext/native/src/wrappers/nodejs/node-v5.9.1/include/openssl/seed.h +149 -0
  649. data/ext/native/src/wrappers/nodejs/node-v5.9.1/include/openssl/sha.h +214 -0
  650. data/ext/native/src/wrappers/nodejs/node-v5.9.1/include/openssl/srp.h +179 -0
  651. data/ext/native/src/wrappers/nodejs/node-v5.9.1/include/openssl/srtp.h +147 -0
  652. data/ext/native/src/wrappers/nodejs/node-v5.9.1/include/openssl/ssl.h +3169 -0
  653. data/ext/native/src/wrappers/nodejs/node-v5.9.1/include/openssl/ssl2.h +265 -0
  654. data/ext/native/src/wrappers/nodejs/node-v5.9.1/include/openssl/ssl23.h +84 -0
  655. data/ext/native/src/wrappers/nodejs/node-v5.9.1/include/openssl/ssl3.h +774 -0
  656. data/ext/native/src/wrappers/nodejs/node-v5.9.1/include/openssl/stack.h +107 -0
  657. data/ext/native/src/wrappers/nodejs/node-v5.9.1/include/openssl/symhacks.h +516 -0
  658. data/ext/native/src/wrappers/nodejs/node-v5.9.1/include/openssl/tls1.h +810 -0
  659. data/ext/native/src/wrappers/nodejs/node-v5.9.1/include/openssl/ts.h +862 -0
  660. data/ext/native/src/wrappers/nodejs/node-v5.9.1/include/openssl/txt_db.h +112 -0
  661. data/ext/native/src/wrappers/nodejs/node-v5.9.1/include/openssl/ui.h +415 -0
  662. data/ext/native/src/wrappers/nodejs/node-v5.9.1/include/openssl/ui_compat.h +88 -0
  663. data/ext/native/src/wrappers/nodejs/node-v5.9.1/include/openssl/whrlpool.h +41 -0
  664. data/ext/native/src/wrappers/nodejs/node-v5.9.1/include/openssl/x509.h +1327 -0
  665. data/ext/native/src/wrappers/nodejs/node-v5.9.1/include/openssl/x509_vfy.h +647 -0
  666. data/ext/native/src/wrappers/nodejs/node-v5.9.1/include/openssl/x509v3.h +1055 -0
  667. data/ext/native/src/wrappers/nodejs/node-v5.9.1/include/pthread-fixes.h +72 -0
  668. data/ext/native/src/wrappers/nodejs/node-v5.9.1/include/stdint-msvc2008.h +247 -0
  669. data/ext/native/src/wrappers/nodejs/node-v5.9.1/include/tree.h +768 -0
  670. data/ext/native/src/wrappers/nodejs/node-v5.9.1/include/uv-aix.h +32 -0
  671. data/ext/native/src/wrappers/nodejs/node-v5.9.1/include/uv-bsd.h +34 -0
  672. data/ext/native/src/wrappers/nodejs/node-v5.9.1/include/uv-darwin.h +61 -0
  673. data/ext/native/src/wrappers/nodejs/node-v5.9.1/include/uv-errno.h +418 -0
  674. data/ext/native/src/wrappers/nodejs/node-v5.9.1/include/uv-linux.h +34 -0
  675. data/ext/native/src/wrappers/nodejs/node-v5.9.1/include/uv-sunos.h +44 -0
  676. data/ext/native/src/wrappers/nodejs/node-v5.9.1/include/uv-threadpool.h +37 -0
  677. data/ext/native/src/wrappers/nodejs/node-v5.9.1/include/uv-unix.h +383 -0
  678. data/ext/native/src/wrappers/nodejs/node-v5.9.1/include/uv-version.h +43 -0
  679. data/ext/native/src/wrappers/nodejs/node-v5.9.1/include/uv-win.h +653 -0
  680. data/ext/native/src/wrappers/nodejs/node-v5.9.1/include/uv.h +1482 -0
  681. data/ext/native/src/wrappers/nodejs/node-v5.9.1/include/v8-debug.h +280 -0
  682. data/ext/native/src/wrappers/nodejs/node-v5.9.1/include/v8-platform.h +114 -0
  683. data/ext/native/src/wrappers/nodejs/node-v5.9.1/include/v8-profiler.h +648 -0
  684. data/ext/native/src/wrappers/nodejs/node-v5.9.1/include/v8-testing.h +48 -0
  685. data/ext/native/src/wrappers/nodejs/node-v5.9.1/include/v8-util.h +643 -0
  686. data/ext/native/src/wrappers/nodejs/node-v5.9.1/include/v8-version.h +20 -0
  687. data/ext/native/src/wrappers/nodejs/node-v5.9.1/include/v8.h +8369 -0
  688. data/ext/native/src/wrappers/nodejs/node-v5.9.1/include/v8config.h +424 -0
  689. data/ext/native/src/wrappers/nodejs/node-v5.9.1/include/zconf.h +511 -0
  690. data/ext/native/src/wrappers/nodejs/node-v5.9.1/include/zlib.h +1768 -0
  691. data/ext/native/src/wrappers/nodejs/node-v5.9.1/lib/win/x64/node.lib +0 -0
  692. data/ext/native/src/wrappers/nodejs/node-v5.9.1/lib/win/x86/node.lib +0 -0
  693. data/ext/native/src/wrappers/nodejs/node-v6.1.0/include/android-ifaddrs.h +54 -0
  694. data/ext/native/src/wrappers/nodejs/node-v6.1.0/include/ares.h +635 -0
  695. data/ext/native/src/wrappers/nodejs/node-v6.1.0/include/ares_build.h +117 -0
  696. data/ext/native/src/wrappers/nodejs/node-v6.1.0/include/ares_rules.h +130 -0
  697. data/ext/native/src/wrappers/nodejs/node-v6.1.0/include/ares_version.h +24 -0
  698. data/ext/native/src/wrappers/nodejs/node-v6.1.0/include/common.gypi +361 -0
  699. data/ext/native/src/wrappers/nodejs/node-v6.1.0/include/config.gypi +47 -0
  700. data/ext/native/src/wrappers/nodejs/node-v6.1.0/include/libplatform/libplatform.h +38 -0
  701. data/ext/native/src/wrappers/nodejs/node-v6.1.0/include/nameser.h +211 -0
  702. data/ext/native/src/wrappers/nodejs/node-v6.1.0/include/node.h +489 -0
  703. data/ext/native/src/wrappers/nodejs/node-v6.1.0/include/node_buffer.h +68 -0
  704. data/ext/native/src/wrappers/nodejs/node-v6.1.0/include/node_internals.h +309 -0
  705. data/ext/native/src/wrappers/nodejs/node-v6.1.0/include/node_object_wrap.h +111 -0
  706. data/ext/native/src/wrappers/nodejs/node-v6.1.0/include/node_version.h +54 -0
  707. data/ext/native/src/wrappers/nodejs/node-v6.1.0/include/openssl/aes.h +149 -0
  708. data/ext/native/src/wrappers/nodejs/node-v6.1.0/include/openssl/archs/BSD-x86/opensslconf.h +270 -0
  709. data/ext/native/src/wrappers/nodejs/node-v6.1.0/include/openssl/archs/BSD-x86_64/opensslconf.h +270 -0
  710. data/ext/native/src/wrappers/nodejs/node-v6.1.0/include/openssl/archs/VC-WIN32/opensslconf.h +271 -0
  711. data/ext/native/src/wrappers/nodejs/node-v6.1.0/include/openssl/archs/VC-WIN64A/opensslconf.h +271 -0
  712. data/ext/native/src/wrappers/nodejs/node-v6.1.0/include/openssl/archs/aix-gcc/opensslconf.h +273 -0
  713. data/ext/native/src/wrappers/nodejs/node-v6.1.0/include/openssl/archs/aix64-gcc/opensslconf.h +273 -0
  714. data/ext/native/src/wrappers/nodejs/node-v6.1.0/include/openssl/archs/darwin-i386-cc/opensslconf.h +273 -0
  715. data/ext/native/src/wrappers/nodejs/node-v6.1.0/include/openssl/archs/darwin64-x86_64-cc/opensslconf.h +273 -0
  716. data/ext/native/src/wrappers/nodejs/node-v6.1.0/include/openssl/archs/linux-aarch64/opensslconf.h +270 -0
  717. data/ext/native/src/wrappers/nodejs/node-v6.1.0/include/openssl/archs/linux-armv4/opensslconf.h +270 -0
  718. data/ext/native/src/wrappers/nodejs/node-v6.1.0/include/openssl/archs/linux-elf/opensslconf.h +270 -0
  719. data/ext/native/src/wrappers/nodejs/node-v6.1.0/include/openssl/archs/linux-ppc/opensslconf.h +270 -0
  720. data/ext/native/src/wrappers/nodejs/node-v6.1.0/include/openssl/archs/linux-ppc64/opensslconf.h +270 -0
  721. data/ext/native/src/wrappers/nodejs/node-v6.1.0/include/openssl/archs/linux-x32/opensslconf.h +270 -0
  722. data/ext/native/src/wrappers/nodejs/node-v6.1.0/include/openssl/archs/linux-x86_64/opensslconf.h +270 -0
  723. data/ext/native/src/wrappers/nodejs/node-v6.1.0/include/openssl/archs/linux32-s390x/opensslconf.h +270 -0
  724. data/ext/native/src/wrappers/nodejs/node-v6.1.0/include/openssl/archs/linux64-s390x/opensslconf.h +270 -0
  725. data/ext/native/src/wrappers/nodejs/node-v6.1.0/include/openssl/archs/solaris-x86-gcc/opensslconf.h +270 -0
  726. data/ext/native/src/wrappers/nodejs/node-v6.1.0/include/openssl/archs/solaris64-x86_64-gcc/opensslconf.h +270 -0
  727. data/ext/native/src/wrappers/nodejs/node-v6.1.0/include/openssl/asn1.h +1419 -0
  728. data/ext/native/src/wrappers/nodejs/node-v6.1.0/include/openssl/asn1_mac.h +579 -0
  729. data/ext/native/src/wrappers/nodejs/node-v6.1.0/include/openssl/asn1t.h +973 -0
  730. data/ext/native/src/wrappers/nodejs/node-v6.1.0/include/openssl/bio.h +883 -0
  731. data/ext/native/src/wrappers/nodejs/node-v6.1.0/include/openssl/blowfish.h +130 -0
  732. data/ext/native/src/wrappers/nodejs/node-v6.1.0/include/openssl/bn.h +949 -0
  733. data/ext/native/src/wrappers/nodejs/node-v6.1.0/include/openssl/buffer.h +125 -0
  734. data/ext/native/src/wrappers/nodejs/node-v6.1.0/include/openssl/camellia.h +132 -0
  735. data/ext/native/src/wrappers/nodejs/node-v6.1.0/include/openssl/cast.h +107 -0
  736. data/ext/native/src/wrappers/nodejs/node-v6.1.0/include/openssl/cmac.h +82 -0
  737. data/ext/native/src/wrappers/nodejs/node-v6.1.0/include/openssl/cms.h +555 -0
  738. data/ext/native/src/wrappers/nodejs/node-v6.1.0/include/openssl/comp.h +83 -0
  739. data/ext/native/src/wrappers/nodejs/node-v6.1.0/include/openssl/conf.h +267 -0
  740. data/ext/native/src/wrappers/nodejs/node-v6.1.0/include/openssl/conf_api.h +89 -0
  741. data/ext/native/src/wrappers/nodejs/node-v6.1.0/include/openssl/crypto.h +661 -0
  742. data/ext/native/src/wrappers/nodejs/node-v6.1.0/include/openssl/des.h +257 -0
  743. data/ext/native/src/wrappers/nodejs/node-v6.1.0/include/openssl/des_old.h +497 -0
  744. data/ext/native/src/wrappers/nodejs/node-v6.1.0/include/openssl/dh.h +393 -0
  745. data/ext/native/src/wrappers/nodejs/node-v6.1.0/include/openssl/dsa.h +332 -0
  746. data/ext/native/src/wrappers/nodejs/node-v6.1.0/include/openssl/dso.h +451 -0
  747. data/ext/native/src/wrappers/nodejs/node-v6.1.0/include/openssl/dtls1.h +272 -0
  748. data/ext/native/src/wrappers/nodejs/node-v6.1.0/include/openssl/e_os2.h +328 -0
  749. data/ext/native/src/wrappers/nodejs/node-v6.1.0/include/openssl/ebcdic.h +26 -0
  750. data/ext/native/src/wrappers/nodejs/node-v6.1.0/include/openssl/ec.h +1282 -0
  751. data/ext/native/src/wrappers/nodejs/node-v6.1.0/include/openssl/ecdh.h +134 -0
  752. data/ext/native/src/wrappers/nodejs/node-v6.1.0/include/openssl/ecdsa.h +335 -0
  753. data/ext/native/src/wrappers/nodejs/node-v6.1.0/include/openssl/engine.h +960 -0
  754. data/ext/native/src/wrappers/nodejs/node-v6.1.0/include/openssl/err.h +389 -0
  755. data/ext/native/src/wrappers/nodejs/node-v6.1.0/include/openssl/evp.h +1534 -0
  756. data/ext/native/src/wrappers/nodejs/node-v6.1.0/include/openssl/hmac.h +109 -0
  757. data/ext/native/src/wrappers/nodejs/node-v6.1.0/include/openssl/idea.h +105 -0
  758. data/ext/native/src/wrappers/nodejs/node-v6.1.0/include/openssl/krb5_asn.h +240 -0
  759. data/ext/native/src/wrappers/nodejs/node-v6.1.0/include/openssl/kssl.h +197 -0
  760. data/ext/native/src/wrappers/nodejs/node-v6.1.0/include/openssl/lhash.h +240 -0
  761. data/ext/native/src/wrappers/nodejs/node-v6.1.0/include/openssl/md4.h +119 -0
  762. data/ext/native/src/wrappers/nodejs/node-v6.1.0/include/openssl/md5.h +119 -0
  763. data/ext/native/src/wrappers/nodejs/node-v6.1.0/include/openssl/mdc2.h +94 -0
  764. data/ext/native/src/wrappers/nodejs/node-v6.1.0/include/openssl/modes.h +163 -0
  765. data/ext/native/src/wrappers/nodejs/node-v6.1.0/include/openssl/obj_mac.h +4194 -0
  766. data/ext/native/src/wrappers/nodejs/node-v6.1.0/include/openssl/objects.h +1143 -0
  767. data/ext/native/src/wrappers/nodejs/node-v6.1.0/include/openssl/ocsp.h +637 -0
  768. data/ext/native/src/wrappers/nodejs/node-v6.1.0/include/openssl/opensslconf.h +146 -0
  769. data/ext/native/src/wrappers/nodejs/node-v6.1.0/include/openssl/opensslv.h +97 -0
  770. data/ext/native/src/wrappers/nodejs/node-v6.1.0/include/openssl/ossl_typ.h +211 -0
  771. data/ext/native/src/wrappers/nodejs/node-v6.1.0/include/openssl/pem.h +615 -0
  772. data/ext/native/src/wrappers/nodejs/node-v6.1.0/include/openssl/pem2.h +70 -0
  773. data/ext/native/src/wrappers/nodejs/node-v6.1.0/include/openssl/pkcs12.h +342 -0
  774. data/ext/native/src/wrappers/nodejs/node-v6.1.0/include/openssl/pkcs7.h +481 -0
  775. data/ext/native/src/wrappers/nodejs/node-v6.1.0/include/openssl/pqueue.h +99 -0
  776. data/ext/native/src/wrappers/nodejs/node-v6.1.0/include/openssl/rand.h +150 -0
  777. data/ext/native/src/wrappers/nodejs/node-v6.1.0/include/openssl/rc2.h +103 -0
  778. data/ext/native/src/wrappers/nodejs/node-v6.1.0/include/openssl/rc4.h +88 -0
  779. data/ext/native/src/wrappers/nodejs/node-v6.1.0/include/openssl/ripemd.h +105 -0
  780. data/ext/native/src/wrappers/nodejs/node-v6.1.0/include/openssl/rsa.h +664 -0
  781. data/ext/native/src/wrappers/nodejs/node-v6.1.0/include/openssl/safestack.h +2672 -0
  782. data/ext/native/src/wrappers/nodejs/node-v6.1.0/include/openssl/seed.h +149 -0
  783. data/ext/native/src/wrappers/nodejs/node-v6.1.0/include/openssl/sha.h +214 -0
  784. data/ext/native/src/wrappers/nodejs/node-v6.1.0/include/openssl/srp.h +179 -0
  785. data/ext/native/src/wrappers/nodejs/node-v6.1.0/include/openssl/srtp.h +147 -0
  786. data/ext/native/src/wrappers/nodejs/node-v6.1.0/include/openssl/ssl.h +3169 -0
  787. data/ext/native/src/wrappers/nodejs/node-v6.1.0/include/openssl/ssl2.h +265 -0
  788. data/ext/native/src/wrappers/nodejs/node-v6.1.0/include/openssl/ssl23.h +84 -0
  789. data/ext/native/src/wrappers/nodejs/node-v6.1.0/include/openssl/ssl3.h +774 -0
  790. data/ext/native/src/wrappers/nodejs/node-v6.1.0/include/openssl/stack.h +107 -0
  791. data/ext/native/src/wrappers/nodejs/node-v6.1.0/include/openssl/symhacks.h +516 -0
  792. data/ext/native/src/wrappers/nodejs/node-v6.1.0/include/openssl/tls1.h +810 -0
  793. data/ext/native/src/wrappers/nodejs/node-v6.1.0/include/openssl/ts.h +862 -0
  794. data/ext/native/src/wrappers/nodejs/node-v6.1.0/include/openssl/txt_db.h +112 -0
  795. data/ext/native/src/wrappers/nodejs/node-v6.1.0/include/openssl/ui.h +415 -0
  796. data/ext/native/src/wrappers/nodejs/node-v6.1.0/include/openssl/ui_compat.h +88 -0
  797. data/ext/native/src/wrappers/nodejs/node-v6.1.0/include/openssl/whrlpool.h +41 -0
  798. data/ext/native/src/wrappers/nodejs/node-v6.1.0/include/openssl/x509.h +1328 -0
  799. data/ext/native/src/wrappers/nodejs/node-v6.1.0/include/openssl/x509_vfy.h +647 -0
  800. data/ext/native/src/wrappers/nodejs/node-v6.1.0/include/openssl/x509v3.h +1055 -0
  801. data/ext/native/src/wrappers/nodejs/node-v6.1.0/include/pthread-fixes.h +72 -0
  802. data/ext/native/src/wrappers/nodejs/node-v6.1.0/include/stdint-msvc2008.h +247 -0
  803. data/ext/native/src/wrappers/nodejs/node-v6.1.0/include/tree.h +768 -0
  804. data/ext/native/src/wrappers/nodejs/node-v6.1.0/include/uv-aix.h +32 -0
  805. data/ext/native/src/wrappers/nodejs/node-v6.1.0/include/uv-bsd.h +34 -0
  806. data/ext/native/src/wrappers/nodejs/node-v6.1.0/include/uv-darwin.h +61 -0
  807. data/ext/native/src/wrappers/nodejs/node-v6.1.0/include/uv-errno.h +418 -0
  808. data/ext/native/src/wrappers/nodejs/node-v6.1.0/include/uv-linux.h +34 -0
  809. data/ext/native/src/wrappers/nodejs/node-v6.1.0/include/uv-sunos.h +44 -0
  810. data/ext/native/src/wrappers/nodejs/node-v6.1.0/include/uv-threadpool.h +37 -0
  811. data/ext/native/src/wrappers/nodejs/node-v6.1.0/include/uv-unix.h +383 -0
  812. data/ext/native/src/wrappers/nodejs/node-v6.1.0/include/uv-version.h +43 -0
  813. data/ext/native/src/wrappers/nodejs/node-v6.1.0/include/uv-win.h +648 -0
  814. data/ext/native/src/wrappers/nodejs/node-v6.1.0/include/uv.h +1495 -0
  815. data/ext/native/src/wrappers/nodejs/node-v6.1.0/include/v8-debug.h +288 -0
  816. data/ext/native/src/wrappers/nodejs/node-v6.1.0/include/v8-experimental.h +54 -0
  817. data/ext/native/src/wrappers/nodejs/node-v6.1.0/include/v8-platform.h +171 -0
  818. data/ext/native/src/wrappers/nodejs/node-v6.1.0/include/v8-profiler.h +782 -0
  819. data/ext/native/src/wrappers/nodejs/node-v6.1.0/include/v8-testing.h +48 -0
  820. data/ext/native/src/wrappers/nodejs/node-v6.1.0/include/v8-util.h +643 -0
  821. data/ext/native/src/wrappers/nodejs/node-v6.1.0/include/v8-version.h +20 -0
  822. data/ext/native/src/wrappers/nodejs/node-v6.1.0/include/v8.h +8586 -0
  823. data/ext/native/src/wrappers/nodejs/node-v6.1.0/include/v8config.h +438 -0
  824. data/ext/native/src/wrappers/nodejs/node-v6.1.0/include/zconf.h +511 -0
  825. data/ext/native/src/wrappers/nodejs/node-v6.1.0/include/zlib.h +1768 -0
  826. data/ext/native/src/wrappers/nodejs/node-v6.1.0/lib/win/x64/node.lib +0 -0
  827. data/ext/native/src/wrappers/nodejs/node-v6.1.0/lib/win/x86/node.lib +0 -0
  828. data/ext/native/src/wrappers/php/CMakeLists.txt +118 -0
  829. data/ext/native/src/wrappers/php/cmake/FindPHPLibs.cmake +49 -0
  830. data/ext/native/src/wrappers/php/tests/CMakeLists.txt +94 -0
  831. data/ext/native/src/wrappers/php/tests/StringSink.php.in +60 -0
  832. data/ext/native/src/wrappers/php/tests/StringSource.php.in +67 -0
  833. data/ext/native/src/wrappers/php/tests/VirgilAsn1Reader_Test.php.in +160 -0
  834. data/ext/native/src/wrappers/php/tests/VirgilAsn1Writer_Test.php.in +160 -0
  835. data/ext/native/src/wrappers/php/tests/VirgilAsymmetricCipher_EC_Test.php.in +337 -0
  836. data/ext/native/src/wrappers/php/tests/VirgilAsymmetricCipher_RSA_Test.php.in +340 -0
  837. data/ext/native/src/wrappers/php/tests/VirgilChunkCipher_Test.php.in +207 -0
  838. data/ext/native/src/wrappers/php/tests/VirgilCipher_Test.php.in +181 -0
  839. data/ext/native/src/wrappers/php/tests/VirgilCustomParams_Test.php.in +78 -0
  840. data/ext/native/src/wrappers/php/tests/VirgilHash_MD5_Test.php.in +159 -0
  841. data/ext/native/src/wrappers/php/tests/VirgilHash_SHA256_Test.php.in +159 -0
  842. data/ext/native/src/wrappers/php/tests/VirgilHash_SHA512_Test.php.in +167 -0
  843. data/ext/native/src/wrappers/php/tests/VirgilKDF_Test.php.in +123 -0
  844. data/ext/native/src/wrappers/php/tests/VirgilPBE_Test.php.in +84 -0
  845. data/ext/native/src/wrappers/php/tests/VirgilPBKDF_Test.php.in +66 -0
  846. data/ext/native/src/wrappers/php/tests/VirgilRandom_Test.php.in +56 -0
  847. data/ext/native/src/wrappers/php/tests/VirgilSigner_Test.php.in +211 -0
  848. data/ext/native/src/wrappers/php/tests/VirgilStreamCipher_Test.php.in +207 -0
  849. data/ext/native/src/wrappers/php/tests/VirgilStreamSigner_Test.php.in +212 -0
  850. data/ext/native/src/wrappers/php/tests/VirgilSymmetricCipher_Test.php.in +174 -0
  851. data/ext/native/src/wrappers/php/tests/VirgilVersion_Test.php.in +61 -0
  852. data/ext/native/src/wrappers/php/tests/data/CMakeLists.txt +50 -0
  853. data/ext/native/src/wrappers/php/tests/data/asn1_complex.der +0 -0
  854. data/ext/native/src/wrappers/php/tests/data/asn1_custom_tag.der +0 -0
  855. data/ext/native/src/wrappers/php/tests/data/asn1_integer.der +1 -0
  856. data/ext/native/src/wrappers/php/tests/data/asn1_octet_string.der +0 -0
  857. data/ext/native/src/wrappers/php/tests/data/asn1_sequence.der +0 -0
  858. data/ext/native/src/wrappers/php/tests/data/asn1_utf8_string.der +1 -0
  859. data/ext/native/src/wrappers/php/tests/data/certificate_public_key.pem +6 -0
  860. data/ext/native/src/wrappers/python/CMakeLists.txt +95 -0
  861. data/ext/native/src/wrappers/ruby/CMakeLists.txt +84 -0
  862. data/ext/native/src/wrappers/swig/common.i +119 -0
  863. data/ext/native/src/wrappers/swig/csharp/FixedArray.i +347 -0
  864. data/ext/native/src/wrappers/swig/csharp/VirgilByteArray.i +38 -0
  865. data/ext/native/src/wrappers/swig/csharp/common.i +48 -0
  866. data/ext/native/src/wrappers/swig/csharp/csharphead.swg.in +85 -0
  867. data/ext/native/src/wrappers/swig/java/VirgilByteArray.i +158 -0
  868. data/ext/native/src/wrappers/swig/java/common.i +70 -0
  869. data/ext/native/src/wrappers/swig/php/VirgilByteArray.i +107 -0
  870. data/ext/native/src/wrappers/swig/php/common.i +90 -0
  871. data/ext/native/src/wrappers/swig/util.i +85 -0
  872. data/ext/native/src/wrappers/swig/wrapper.i.in +158 -0
  873. data/lib/virgil/crypto.rb +10 -0
  874. data/lib/virgil/crypto/bytes.rb +57 -0
  875. data/lib/virgil/crypto/version.rb +5 -0
  876. data/lib/virgil/crypto/virgil_stream_data_sink.rb +53 -0
  877. data/lib/virgil/crypto/virgil_stream_data_source.rb +54 -0
  878. data/virgil-crypto.gemspec +53 -0
  879. metadata +978 -0
@@ -0,0 +1,389 @@
1
+ /* crypto/err/err.h */
2
+ /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
3
+ * All rights reserved.
4
+ *
5
+ * This package is an SSL implementation written
6
+ * by Eric Young (eay@cryptsoft.com).
7
+ * The implementation was written so as to conform with Netscapes SSL.
8
+ *
9
+ * This library is free for commercial and non-commercial use as long as
10
+ * the following conditions are aheared to. The following conditions
11
+ * apply to all code found in this distribution, be it the RC4, RSA,
12
+ * lhash, DES, etc., code; not just the SSL code. The SSL documentation
13
+ * included with this distribution is covered by the same copyright terms
14
+ * except that the holder is Tim Hudson (tjh@cryptsoft.com).
15
+ *
16
+ * Copyright remains Eric Young's, and as such any Copyright notices in
17
+ * the code are not to be removed.
18
+ * If this package is used in a product, Eric Young should be given attribution
19
+ * as the author of the parts of the library used.
20
+ * This can be in the form of a textual message at program startup or
21
+ * in documentation (online or textual) provided with the package.
22
+ *
23
+ * Redistribution and use in source and binary forms, with or without
24
+ * modification, are permitted provided that the following conditions
25
+ * are met:
26
+ * 1. Redistributions of source code must retain the copyright
27
+ * notice, this list of conditions and the following disclaimer.
28
+ * 2. Redistributions in binary form must reproduce the above copyright
29
+ * notice, this list of conditions and the following disclaimer in the
30
+ * documentation and/or other materials provided with the distribution.
31
+ * 3. All advertising materials mentioning features or use of this software
32
+ * must display the following acknowledgement:
33
+ * "This product includes cryptographic software written by
34
+ * Eric Young (eay@cryptsoft.com)"
35
+ * The word 'cryptographic' can be left out if the rouines from the library
36
+ * being used are not cryptographic related :-).
37
+ * 4. If you include any Windows specific code (or a derivative thereof) from
38
+ * the apps directory (application code) you must include an acknowledgement:
39
+ * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)"
40
+ *
41
+ * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND
42
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
43
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
44
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
45
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
46
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
47
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
48
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
49
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
50
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
51
+ * SUCH DAMAGE.
52
+ *
53
+ * The licence and distribution terms for any publically available version or
54
+ * derivative of this code cannot be changed. i.e. this code cannot simply be
55
+ * copied and put under another distribution licence
56
+ * [including the GNU Public Licence.]
57
+ */
58
+ /* ====================================================================
59
+ * Copyright (c) 1998-2006 The OpenSSL Project. All rights reserved.
60
+ *
61
+ * Redistribution and use in source and binary forms, with or without
62
+ * modification, are permitted provided that the following conditions
63
+ * are met:
64
+ *
65
+ * 1. Redistributions of source code must retain the above copyright
66
+ * notice, this list of conditions and the following disclaimer.
67
+ *
68
+ * 2. Redistributions in binary form must reproduce the above copyright
69
+ * notice, this list of conditions and the following disclaimer in
70
+ * the documentation and/or other materials provided with the
71
+ * distribution.
72
+ *
73
+ * 3. All advertising materials mentioning features or use of this
74
+ * software must display the following acknowledgment:
75
+ * "This product includes software developed by the OpenSSL Project
76
+ * for use in the OpenSSL Toolkit. (http://www.openssl.org/)"
77
+ *
78
+ * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to
79
+ * endorse or promote products derived from this software without
80
+ * prior written permission. For written permission, please contact
81
+ * openssl-core@openssl.org.
82
+ *
83
+ * 5. Products derived from this software may not be called "OpenSSL"
84
+ * nor may "OpenSSL" appear in their names without prior written
85
+ * permission of the OpenSSL Project.
86
+ *
87
+ * 6. Redistributions of any form whatsoever must retain the following
88
+ * acknowledgment:
89
+ * "This product includes software developed by the OpenSSL Project
90
+ * for use in the OpenSSL Toolkit (http://www.openssl.org/)"
91
+ *
92
+ * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY
93
+ * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
94
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
95
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR
96
+ * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
97
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
98
+ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
99
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
100
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
101
+ * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
102
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
103
+ * OF THE POSSIBILITY OF SUCH DAMAGE.
104
+ * ====================================================================
105
+ *
106
+ * This product includes cryptographic software written by Eric Young
107
+ * (eay@cryptsoft.com). This product includes software written by Tim
108
+ * Hudson (tjh@cryptsoft.com).
109
+ *
110
+ */
111
+
112
+ #ifndef HEADER_ERR_H
113
+ # define HEADER_ERR_H
114
+
115
+ # include <openssl/e_os2.h>
116
+
117
+ # ifndef OPENSSL_NO_FP_API
118
+ # include <stdio.h>
119
+ # include <stdlib.h>
120
+ # endif
121
+
122
+ # include <openssl/ossl_typ.h>
123
+ # ifndef OPENSSL_NO_BIO
124
+ # include <openssl/bio.h>
125
+ # endif
126
+ # ifndef OPENSSL_NO_LHASH
127
+ # include <openssl/lhash.h>
128
+ # endif
129
+
130
+ #ifdef __cplusplus
131
+ extern "C" {
132
+ #endif
133
+
134
+ # ifndef OPENSSL_NO_ERR
135
+ # define ERR_PUT_error(a,b,c,d,e) ERR_put_error(a,b,c,d,e)
136
+ # else
137
+ # define ERR_PUT_error(a,b,c,d,e) ERR_put_error(a,b,c,NULL,0)
138
+ # endif
139
+
140
+ # include <errno.h>
141
+
142
+ # define ERR_TXT_MALLOCED 0x01
143
+ # define ERR_TXT_STRING 0x02
144
+
145
+ # define ERR_FLAG_MARK 0x01
146
+
147
+ # define ERR_NUM_ERRORS 16
148
+ typedef struct err_state_st {
149
+ CRYPTO_THREADID tid;
150
+ int err_flags[ERR_NUM_ERRORS];
151
+ unsigned long err_buffer[ERR_NUM_ERRORS];
152
+ char *err_data[ERR_NUM_ERRORS];
153
+ int err_data_flags[ERR_NUM_ERRORS];
154
+ const char *err_file[ERR_NUM_ERRORS];
155
+ int err_line[ERR_NUM_ERRORS];
156
+ int top, bottom;
157
+ } ERR_STATE;
158
+
159
+ /* library */
160
+ # define ERR_LIB_NONE 1
161
+ # define ERR_LIB_SYS 2
162
+ # define ERR_LIB_BN 3
163
+ # define ERR_LIB_RSA 4
164
+ # define ERR_LIB_DH 5
165
+ # define ERR_LIB_EVP 6
166
+ # define ERR_LIB_BUF 7
167
+ # define ERR_LIB_OBJ 8
168
+ # define ERR_LIB_PEM 9
169
+ # define ERR_LIB_DSA 10
170
+ # define ERR_LIB_X509 11
171
+ /* #define ERR_LIB_METH 12 */
172
+ # define ERR_LIB_ASN1 13
173
+ # define ERR_LIB_CONF 14
174
+ # define ERR_LIB_CRYPTO 15
175
+ # define ERR_LIB_EC 16
176
+ # define ERR_LIB_SSL 20
177
+ /* #define ERR_LIB_SSL23 21 */
178
+ /* #define ERR_LIB_SSL2 22 */
179
+ /* #define ERR_LIB_SSL3 23 */
180
+ /* #define ERR_LIB_RSAREF 30 */
181
+ /* #define ERR_LIB_PROXY 31 */
182
+ # define ERR_LIB_BIO 32
183
+ # define ERR_LIB_PKCS7 33
184
+ # define ERR_LIB_X509V3 34
185
+ # define ERR_LIB_PKCS12 35
186
+ # define ERR_LIB_RAND 36
187
+ # define ERR_LIB_DSO 37
188
+ # define ERR_LIB_ENGINE 38
189
+ # define ERR_LIB_OCSP 39
190
+ # define ERR_LIB_UI 40
191
+ # define ERR_LIB_COMP 41
192
+ # define ERR_LIB_ECDSA 42
193
+ # define ERR_LIB_ECDH 43
194
+ # define ERR_LIB_STORE 44
195
+ # define ERR_LIB_FIPS 45
196
+ # define ERR_LIB_CMS 46
197
+ # define ERR_LIB_TS 47
198
+ # define ERR_LIB_HMAC 48
199
+ # define ERR_LIB_JPAKE 49
200
+
201
+ # define ERR_LIB_USER 128
202
+
203
+ # define SYSerr(f,r) ERR_PUT_error(ERR_LIB_SYS,(f),(r),__FILE__,__LINE__)
204
+ # define BNerr(f,r) ERR_PUT_error(ERR_LIB_BN,(f),(r),__FILE__,__LINE__)
205
+ # define RSAerr(f,r) ERR_PUT_error(ERR_LIB_RSA,(f),(r),__FILE__,__LINE__)
206
+ # define DHerr(f,r) ERR_PUT_error(ERR_LIB_DH,(f),(r),__FILE__,__LINE__)
207
+ # define EVPerr(f,r) ERR_PUT_error(ERR_LIB_EVP,(f),(r),__FILE__,__LINE__)
208
+ # define BUFerr(f,r) ERR_PUT_error(ERR_LIB_BUF,(f),(r),__FILE__,__LINE__)
209
+ # define OBJerr(f,r) ERR_PUT_error(ERR_LIB_OBJ,(f),(r),__FILE__,__LINE__)
210
+ # define PEMerr(f,r) ERR_PUT_error(ERR_LIB_PEM,(f),(r),__FILE__,__LINE__)
211
+ # define DSAerr(f,r) ERR_PUT_error(ERR_LIB_DSA,(f),(r),__FILE__,__LINE__)
212
+ # define X509err(f,r) ERR_PUT_error(ERR_LIB_X509,(f),(r),__FILE__,__LINE__)
213
+ # define ASN1err(f,r) ERR_PUT_error(ERR_LIB_ASN1,(f),(r),__FILE__,__LINE__)
214
+ # define CONFerr(f,r) ERR_PUT_error(ERR_LIB_CONF,(f),(r),__FILE__,__LINE__)
215
+ # define CRYPTOerr(f,r) ERR_PUT_error(ERR_LIB_CRYPTO,(f),(r),__FILE__,__LINE__)
216
+ # define ECerr(f,r) ERR_PUT_error(ERR_LIB_EC,(f),(r),__FILE__,__LINE__)
217
+ # define SSLerr(f,r) ERR_PUT_error(ERR_LIB_SSL,(f),(r),__FILE__,__LINE__)
218
+ # define BIOerr(f,r) ERR_PUT_error(ERR_LIB_BIO,(f),(r),__FILE__,__LINE__)
219
+ # define PKCS7err(f,r) ERR_PUT_error(ERR_LIB_PKCS7,(f),(r),__FILE__,__LINE__)
220
+ # define X509V3err(f,r) ERR_PUT_error(ERR_LIB_X509V3,(f),(r),__FILE__,__LINE__)
221
+ # define PKCS12err(f,r) ERR_PUT_error(ERR_LIB_PKCS12,(f),(r),__FILE__,__LINE__)
222
+ # define RANDerr(f,r) ERR_PUT_error(ERR_LIB_RAND,(f),(r),__FILE__,__LINE__)
223
+ # define DSOerr(f,r) ERR_PUT_error(ERR_LIB_DSO,(f),(r),__FILE__,__LINE__)
224
+ # define ENGINEerr(f,r) ERR_PUT_error(ERR_LIB_ENGINE,(f),(r),__FILE__,__LINE__)
225
+ # define OCSPerr(f,r) ERR_PUT_error(ERR_LIB_OCSP,(f),(r),__FILE__,__LINE__)
226
+ # define UIerr(f,r) ERR_PUT_error(ERR_LIB_UI,(f),(r),__FILE__,__LINE__)
227
+ # define COMPerr(f,r) ERR_PUT_error(ERR_LIB_COMP,(f),(r),__FILE__,__LINE__)
228
+ # define ECDSAerr(f,r) ERR_PUT_error(ERR_LIB_ECDSA,(f),(r),__FILE__,__LINE__)
229
+ # define ECDHerr(f,r) ERR_PUT_error(ERR_LIB_ECDH,(f),(r),__FILE__,__LINE__)
230
+ # define STOREerr(f,r) ERR_PUT_error(ERR_LIB_STORE,(f),(r),__FILE__,__LINE__)
231
+ # define FIPSerr(f,r) ERR_PUT_error(ERR_LIB_FIPS,(f),(r),__FILE__,__LINE__)
232
+ # define CMSerr(f,r) ERR_PUT_error(ERR_LIB_CMS,(f),(r),__FILE__,__LINE__)
233
+ # define TSerr(f,r) ERR_PUT_error(ERR_LIB_TS,(f),(r),__FILE__,__LINE__)
234
+ # define HMACerr(f,r) ERR_PUT_error(ERR_LIB_HMAC,(f),(r),__FILE__,__LINE__)
235
+ # define JPAKEerr(f,r) ERR_PUT_error(ERR_LIB_JPAKE,(f),(r),__FILE__,__LINE__)
236
+
237
+ /*
238
+ * Borland C seems too stupid to be able to shift and do longs in the
239
+ * pre-processor :-(
240
+ */
241
+ # define ERR_PACK(l,f,r) (((((unsigned long)l)&0xffL)*0x1000000)| \
242
+ ((((unsigned long)f)&0xfffL)*0x1000)| \
243
+ ((((unsigned long)r)&0xfffL)))
244
+ # define ERR_GET_LIB(l) (int)((((unsigned long)l)>>24L)&0xffL)
245
+ # define ERR_GET_FUNC(l) (int)((((unsigned long)l)>>12L)&0xfffL)
246
+ # define ERR_GET_REASON(l) (int)((l)&0xfffL)
247
+ # define ERR_FATAL_ERROR(l) (int)((l)&ERR_R_FATAL)
248
+
249
+ /* OS functions */
250
+ # define SYS_F_FOPEN 1
251
+ # define SYS_F_CONNECT 2
252
+ # define SYS_F_GETSERVBYNAME 3
253
+ # define SYS_F_SOCKET 4
254
+ # define SYS_F_IOCTLSOCKET 5
255
+ # define SYS_F_BIND 6
256
+ # define SYS_F_LISTEN 7
257
+ # define SYS_F_ACCEPT 8
258
+ # define SYS_F_WSASTARTUP 9/* Winsock stuff */
259
+ # define SYS_F_OPENDIR 10
260
+ # define SYS_F_FREAD 11
261
+
262
+ /* reasons */
263
+ # define ERR_R_SYS_LIB ERR_LIB_SYS/* 2 */
264
+ # define ERR_R_BN_LIB ERR_LIB_BN/* 3 */
265
+ # define ERR_R_RSA_LIB ERR_LIB_RSA/* 4 */
266
+ # define ERR_R_DH_LIB ERR_LIB_DH/* 5 */
267
+ # define ERR_R_EVP_LIB ERR_LIB_EVP/* 6 */
268
+ # define ERR_R_BUF_LIB ERR_LIB_BUF/* 7 */
269
+ # define ERR_R_OBJ_LIB ERR_LIB_OBJ/* 8 */
270
+ # define ERR_R_PEM_LIB ERR_LIB_PEM/* 9 */
271
+ # define ERR_R_DSA_LIB ERR_LIB_DSA/* 10 */
272
+ # define ERR_R_X509_LIB ERR_LIB_X509/* 11 */
273
+ # define ERR_R_ASN1_LIB ERR_LIB_ASN1/* 13 */
274
+ # define ERR_R_CONF_LIB ERR_LIB_CONF/* 14 */
275
+ # define ERR_R_CRYPTO_LIB ERR_LIB_CRYPTO/* 15 */
276
+ # define ERR_R_EC_LIB ERR_LIB_EC/* 16 */
277
+ # define ERR_R_SSL_LIB ERR_LIB_SSL/* 20 */
278
+ # define ERR_R_BIO_LIB ERR_LIB_BIO/* 32 */
279
+ # define ERR_R_PKCS7_LIB ERR_LIB_PKCS7/* 33 */
280
+ # define ERR_R_X509V3_LIB ERR_LIB_X509V3/* 34 */
281
+ # define ERR_R_PKCS12_LIB ERR_LIB_PKCS12/* 35 */
282
+ # define ERR_R_RAND_LIB ERR_LIB_RAND/* 36 */
283
+ # define ERR_R_DSO_LIB ERR_LIB_DSO/* 37 */
284
+ # define ERR_R_ENGINE_LIB ERR_LIB_ENGINE/* 38 */
285
+ # define ERR_R_OCSP_LIB ERR_LIB_OCSP/* 39 */
286
+ # define ERR_R_UI_LIB ERR_LIB_UI/* 40 */
287
+ # define ERR_R_COMP_LIB ERR_LIB_COMP/* 41 */
288
+ # define ERR_R_ECDSA_LIB ERR_LIB_ECDSA/* 42 */
289
+ # define ERR_R_ECDH_LIB ERR_LIB_ECDH/* 43 */
290
+ # define ERR_R_STORE_LIB ERR_LIB_STORE/* 44 */
291
+ # define ERR_R_TS_LIB ERR_LIB_TS/* 45 */
292
+
293
+ # define ERR_R_NESTED_ASN1_ERROR 58
294
+ # define ERR_R_BAD_ASN1_OBJECT_HEADER 59
295
+ # define ERR_R_BAD_GET_ASN1_OBJECT_CALL 60
296
+ # define ERR_R_EXPECTING_AN_ASN1_SEQUENCE 61
297
+ # define ERR_R_ASN1_LENGTH_MISMATCH 62
298
+ # define ERR_R_MISSING_ASN1_EOS 63
299
+
300
+ /* fatal error */
301
+ # define ERR_R_FATAL 64
302
+ # define ERR_R_MALLOC_FAILURE (1|ERR_R_FATAL)
303
+ # define ERR_R_SHOULD_NOT_HAVE_BEEN_CALLED (2|ERR_R_FATAL)
304
+ # define ERR_R_PASSED_NULL_PARAMETER (3|ERR_R_FATAL)
305
+ # define ERR_R_INTERNAL_ERROR (4|ERR_R_FATAL)
306
+ # define ERR_R_DISABLED (5|ERR_R_FATAL)
307
+
308
+ /*
309
+ * 99 is the maximum possible ERR_R_... code, higher values are reserved for
310
+ * the individual libraries
311
+ */
312
+
313
+ typedef struct ERR_string_data_st {
314
+ unsigned long error;
315
+ const char *string;
316
+ } ERR_STRING_DATA;
317
+
318
+ void ERR_put_error(int lib, int func, int reason, const char *file, int line);
319
+ void ERR_set_error_data(char *data, int flags);
320
+
321
+ unsigned long ERR_get_error(void);
322
+ unsigned long ERR_get_error_line(const char **file, int *line);
323
+ unsigned long ERR_get_error_line_data(const char **file, int *line,
324
+ const char **data, int *flags);
325
+ unsigned long ERR_peek_error(void);
326
+ unsigned long ERR_peek_error_line(const char **file, int *line);
327
+ unsigned long ERR_peek_error_line_data(const char **file, int *line,
328
+ const char **data, int *flags);
329
+ unsigned long ERR_peek_last_error(void);
330
+ unsigned long ERR_peek_last_error_line(const char **file, int *line);
331
+ unsigned long ERR_peek_last_error_line_data(const char **file, int *line,
332
+ const char **data, int *flags);
333
+ void ERR_clear_error(void);
334
+ char *ERR_error_string(unsigned long e, char *buf);
335
+ void ERR_error_string_n(unsigned long e, char *buf, size_t len);
336
+ const char *ERR_lib_error_string(unsigned long e);
337
+ const char *ERR_func_error_string(unsigned long e);
338
+ const char *ERR_reason_error_string(unsigned long e);
339
+ void ERR_print_errors_cb(int (*cb) (const char *str, size_t len, void *u),
340
+ void *u);
341
+ # ifndef OPENSSL_NO_FP_API
342
+ void ERR_print_errors_fp(FILE *fp);
343
+ # endif
344
+ # ifndef OPENSSL_NO_BIO
345
+ void ERR_print_errors(BIO *bp);
346
+ # endif
347
+ void ERR_add_error_data(int num, ...);
348
+ void ERR_add_error_vdata(int num, va_list args);
349
+ void ERR_load_strings(int lib, ERR_STRING_DATA str[]);
350
+ void ERR_unload_strings(int lib, ERR_STRING_DATA str[]);
351
+ void ERR_load_ERR_strings(void);
352
+ void ERR_load_crypto_strings(void);
353
+ void ERR_free_strings(void);
354
+
355
+ void ERR_remove_thread_state(const CRYPTO_THREADID *tid);
356
+ # ifndef OPENSSL_NO_DEPRECATED
357
+ void ERR_remove_state(unsigned long pid); /* if zero we look it up */
358
+ # endif
359
+ ERR_STATE *ERR_get_state(void);
360
+
361
+ # ifndef OPENSSL_NO_LHASH
362
+ LHASH_OF(ERR_STRING_DATA) *ERR_get_string_table(void);
363
+ LHASH_OF(ERR_STATE) *ERR_get_err_state_table(void);
364
+ void ERR_release_err_state_table(LHASH_OF(ERR_STATE) **hash);
365
+ # endif
366
+
367
+ int ERR_get_next_error_library(void);
368
+
369
+ int ERR_set_mark(void);
370
+ int ERR_pop_to_mark(void);
371
+
372
+ /* Already defined in ossl_typ.h */
373
+ /* typedef struct st_ERR_FNS ERR_FNS; */
374
+ /*
375
+ * An application can use this function and provide the return value to
376
+ * loaded modules that should use the application's ERR state/functionality
377
+ */
378
+ const ERR_FNS *ERR_get_implementation(void);
379
+ /*
380
+ * A loaded module should call this function prior to any ERR operations
381
+ * using the application's "ERR_FNS".
382
+ */
383
+ int ERR_set_implementation(const ERR_FNS *fns);
384
+
385
+ #ifdef __cplusplus
386
+ }
387
+ #endif
388
+
389
+ #endif
@@ -0,0 +1,1480 @@
1
+ /* crypto/evp/evp.h */
2
+ /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
3
+ * All rights reserved.
4
+ *
5
+ * This package is an SSL implementation written
6
+ * by Eric Young (eay@cryptsoft.com).
7
+ * The implementation was written so as to conform with Netscapes SSL.
8
+ *
9
+ * This library is free for commercial and non-commercial use as long as
10
+ * the following conditions are aheared to. The following conditions
11
+ * apply to all code found in this distribution, be it the RC4, RSA,
12
+ * lhash, DES, etc., code; not just the SSL code. The SSL documentation
13
+ * included with this distribution is covered by the same copyright terms
14
+ * except that the holder is Tim Hudson (tjh@cryptsoft.com).
15
+ *
16
+ * Copyright remains Eric Young's, and as such any Copyright notices in
17
+ * the code are not to be removed.
18
+ * If this package is used in a product, Eric Young should be given attribution
19
+ * as the author of the parts of the library used.
20
+ * This can be in the form of a textual message at program startup or
21
+ * in documentation (online or textual) provided with the package.
22
+ *
23
+ * Redistribution and use in source and binary forms, with or without
24
+ * modification, are permitted provided that the following conditions
25
+ * are met:
26
+ * 1. Redistributions of source code must retain the copyright
27
+ * notice, this list of conditions and the following disclaimer.
28
+ * 2. Redistributions in binary form must reproduce the above copyright
29
+ * notice, this list of conditions and the following disclaimer in the
30
+ * documentation and/or other materials provided with the distribution.
31
+ * 3. All advertising materials mentioning features or use of this software
32
+ * must display the following acknowledgement:
33
+ * "This product includes cryptographic software written by
34
+ * Eric Young (eay@cryptsoft.com)"
35
+ * The word 'cryptographic' can be left out if the rouines from the library
36
+ * being used are not cryptographic related :-).
37
+ * 4. If you include any Windows specific code (or a derivative thereof) from
38
+ * the apps directory (application code) you must include an acknowledgement:
39
+ * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)"
40
+ *
41
+ * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND
42
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
43
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
44
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
45
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
46
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
47
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
48
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
49
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
50
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
51
+ * SUCH DAMAGE.
52
+ *
53
+ * The licence and distribution terms for any publically available version or
54
+ * derivative of this code cannot be changed. i.e. this code cannot simply be
55
+ * copied and put under another distribution licence
56
+ * [including the GNU Public Licence.]
57
+ */
58
+
59
+ #ifndef HEADER_ENVELOPE_H
60
+ # define HEADER_ENVELOPE_H
61
+
62
+ # ifdef OPENSSL_ALGORITHM_DEFINES
63
+ # include <openssl/opensslconf.h>
64
+ # else
65
+ # define OPENSSL_ALGORITHM_DEFINES
66
+ # include <openssl/opensslconf.h>
67
+ # undef OPENSSL_ALGORITHM_DEFINES
68
+ # endif
69
+
70
+ # include <openssl/ossl_typ.h>
71
+
72
+ # include <openssl/symhacks.h>
73
+
74
+ # ifndef OPENSSL_NO_BIO
75
+ # include <openssl/bio.h>
76
+ # endif
77
+
78
+ /*-
79
+ #define EVP_RC2_KEY_SIZE 16
80
+ #define EVP_RC4_KEY_SIZE 16
81
+ #define EVP_BLOWFISH_KEY_SIZE 16
82
+ #define EVP_CAST5_KEY_SIZE 16
83
+ #define EVP_RC5_32_12_16_KEY_SIZE 16
84
+ */
85
+ # define EVP_MAX_MD_SIZE 64/* longest known is SHA512 */
86
+ # define EVP_MAX_KEY_LENGTH 64
87
+ # define EVP_MAX_IV_LENGTH 16
88
+ # define EVP_MAX_BLOCK_LENGTH 32
89
+
90
+ # define PKCS5_SALT_LEN 8
91
+ /* Default PKCS#5 iteration count */
92
+ # define PKCS5_DEFAULT_ITER 2048
93
+
94
+ # include <openssl/objects.h>
95
+
96
+ # define EVP_PK_RSA 0x0001
97
+ # define EVP_PK_DSA 0x0002
98
+ # define EVP_PK_DH 0x0004
99
+ # define EVP_PK_EC 0x0008
100
+ # define EVP_PKT_SIGN 0x0010
101
+ # define EVP_PKT_ENC 0x0020
102
+ # define EVP_PKT_EXCH 0x0040
103
+ # define EVP_PKS_RSA 0x0100
104
+ # define EVP_PKS_DSA 0x0200
105
+ # define EVP_PKS_EC 0x0400
106
+
107
+ # define EVP_PKEY_NONE NID_undef
108
+ # define EVP_PKEY_RSA NID_rsaEncryption
109
+ # define EVP_PKEY_RSA2 NID_rsa
110
+ # define EVP_PKEY_DSA NID_dsa
111
+ # define EVP_PKEY_DSA1 NID_dsa_2
112
+ # define EVP_PKEY_DSA2 NID_dsaWithSHA
113
+ # define EVP_PKEY_DSA3 NID_dsaWithSHA1
114
+ # define EVP_PKEY_DSA4 NID_dsaWithSHA1_2
115
+ # define EVP_PKEY_DH NID_dhKeyAgreement
116
+ # define EVP_PKEY_EC NID_X9_62_id_ecPublicKey
117
+ # define EVP_PKEY_HMAC NID_hmac
118
+ # define EVP_PKEY_CMAC NID_cmac
119
+
120
+ #ifdef __cplusplus
121
+ extern "C" {
122
+ #endif
123
+
124
+ /*
125
+ * Type needs to be a bit field Sub-type needs to be for variations on the
126
+ * method, as in, can it do arbitrary encryption....
127
+ */
128
+ struct evp_pkey_st {
129
+ int type;
130
+ int save_type;
131
+ int references;
132
+ const EVP_PKEY_ASN1_METHOD *ameth;
133
+ ENGINE *engine;
134
+ union {
135
+ char *ptr;
136
+ # ifndef OPENSSL_NO_RSA
137
+ struct rsa_st *rsa; /* RSA */
138
+ # endif
139
+ # ifndef OPENSSL_NO_DSA
140
+ struct dsa_st *dsa; /* DSA */
141
+ # endif
142
+ # ifndef OPENSSL_NO_DH
143
+ struct dh_st *dh; /* DH */
144
+ # endif
145
+ # ifndef OPENSSL_NO_EC
146
+ struct ec_key_st *ec; /* ECC */
147
+ # endif
148
+ } pkey;
149
+ int save_parameters;
150
+ STACK_OF(X509_ATTRIBUTE) *attributes; /* [ 0 ] */
151
+ } /* EVP_PKEY */ ;
152
+
153
+ # define EVP_PKEY_MO_SIGN 0x0001
154
+ # define EVP_PKEY_MO_VERIFY 0x0002
155
+ # define EVP_PKEY_MO_ENCRYPT 0x0004
156
+ # define EVP_PKEY_MO_DECRYPT 0x0008
157
+
158
+ # ifndef EVP_MD
159
+ struct env_md_st {
160
+ int type;
161
+ int pkey_type;
162
+ int md_size;
163
+ unsigned long flags;
164
+ int (*init) (EVP_MD_CTX *ctx);
165
+ int (*update) (EVP_MD_CTX *ctx, const void *data, size_t count);
166
+ int (*final) (EVP_MD_CTX *ctx, unsigned char *md);
167
+ int (*copy) (EVP_MD_CTX *to, const EVP_MD_CTX *from);
168
+ int (*cleanup) (EVP_MD_CTX *ctx);
169
+ /* FIXME: prototype these some day */
170
+ int (*sign) (int type, const unsigned char *m, unsigned int m_length,
171
+ unsigned char *sigret, unsigned int *siglen, void *key);
172
+ int (*verify) (int type, const unsigned char *m, unsigned int m_length,
173
+ const unsigned char *sigbuf, unsigned int siglen,
174
+ void *key);
175
+ int required_pkey_type[5]; /* EVP_PKEY_xxx */
176
+ int block_size;
177
+ int ctx_size; /* how big does the ctx->md_data need to be */
178
+ /* control function */
179
+ int (*md_ctrl) (EVP_MD_CTX *ctx, int cmd, int p1, void *p2);
180
+ } /* EVP_MD */ ;
181
+
182
+ typedef int evp_sign_method(int type, const unsigned char *m,
183
+ unsigned int m_length, unsigned char *sigret,
184
+ unsigned int *siglen, void *key);
185
+ typedef int evp_verify_method(int type, const unsigned char *m,
186
+ unsigned int m_length,
187
+ const unsigned char *sigbuf,
188
+ unsigned int siglen, void *key);
189
+
190
+ /* digest can only handle a single block */
191
+ # define EVP_MD_FLAG_ONESHOT 0x0001
192
+
193
+ /*
194
+ * digest is a "clone" digest used
195
+ * which is a copy of an existing
196
+ * one for a specific public key type.
197
+ * EVP_dss1() etc
198
+ */
199
+ # define EVP_MD_FLAG_PKEY_DIGEST 0x0002
200
+
201
+ /* Digest uses EVP_PKEY_METHOD for signing instead of MD specific signing */
202
+
203
+ # define EVP_MD_FLAG_PKEY_METHOD_SIGNATURE 0x0004
204
+
205
+ /* DigestAlgorithmIdentifier flags... */
206
+
207
+ # define EVP_MD_FLAG_DIGALGID_MASK 0x0018
208
+
209
+ /* NULL or absent parameter accepted. Use NULL */
210
+
211
+ # define EVP_MD_FLAG_DIGALGID_NULL 0x0000
212
+
213
+ /* NULL or absent parameter accepted. Use NULL for PKCS#1 otherwise absent */
214
+
215
+ # define EVP_MD_FLAG_DIGALGID_ABSENT 0x0008
216
+
217
+ /* Custom handling via ctrl */
218
+
219
+ # define EVP_MD_FLAG_DIGALGID_CUSTOM 0x0018
220
+
221
+ /* Note if suitable for use in FIPS mode */
222
+ # define EVP_MD_FLAG_FIPS 0x0400
223
+
224
+ /* Digest ctrls */
225
+
226
+ # define EVP_MD_CTRL_DIGALGID 0x1
227
+ # define EVP_MD_CTRL_MICALG 0x2
228
+
229
+ /* Minimum Algorithm specific ctrl value */
230
+
231
+ # define EVP_MD_CTRL_ALG_CTRL 0x1000
232
+
233
+ # define EVP_PKEY_NULL_method NULL,NULL,{0,0,0,0}
234
+
235
+ # ifndef OPENSSL_NO_DSA
236
+ # define EVP_PKEY_DSA_method (evp_sign_method *)DSA_sign, \
237
+ (evp_verify_method *)DSA_verify, \
238
+ {EVP_PKEY_DSA,EVP_PKEY_DSA2,EVP_PKEY_DSA3, \
239
+ EVP_PKEY_DSA4,0}
240
+ # else
241
+ # define EVP_PKEY_DSA_method EVP_PKEY_NULL_method
242
+ # endif
243
+
244
+ # ifndef OPENSSL_NO_ECDSA
245
+ # define EVP_PKEY_ECDSA_method (evp_sign_method *)ECDSA_sign, \
246
+ (evp_verify_method *)ECDSA_verify, \
247
+ {EVP_PKEY_EC,0,0,0}
248
+ # else
249
+ # define EVP_PKEY_ECDSA_method EVP_PKEY_NULL_method
250
+ # endif
251
+
252
+ # ifndef OPENSSL_NO_RSA
253
+ # define EVP_PKEY_RSA_method (evp_sign_method *)RSA_sign, \
254
+ (evp_verify_method *)RSA_verify, \
255
+ {EVP_PKEY_RSA,EVP_PKEY_RSA2,0,0}
256
+ # define EVP_PKEY_RSA_ASN1_OCTET_STRING_method \
257
+ (evp_sign_method *)RSA_sign_ASN1_OCTET_STRING, \
258
+ (evp_verify_method *)RSA_verify_ASN1_OCTET_STRING, \
259
+ {EVP_PKEY_RSA,EVP_PKEY_RSA2,0,0}
260
+ # else
261
+ # define EVP_PKEY_RSA_method EVP_PKEY_NULL_method
262
+ # define EVP_PKEY_RSA_ASN1_OCTET_STRING_method EVP_PKEY_NULL_method
263
+ # endif
264
+
265
+ # endif /* !EVP_MD */
266
+
267
+ struct env_md_ctx_st {
268
+ const EVP_MD *digest;
269
+ ENGINE *engine; /* functional reference if 'digest' is
270
+ * ENGINE-provided */
271
+ unsigned long flags;
272
+ void *md_data;
273
+ /* Public key context for sign/verify */
274
+ EVP_PKEY_CTX *pctx;
275
+ /* Update function: usually copied from EVP_MD */
276
+ int (*update) (EVP_MD_CTX *ctx, const void *data, size_t count);
277
+ } /* EVP_MD_CTX */ ;
278
+
279
+ /* values for EVP_MD_CTX flags */
280
+
281
+ # define EVP_MD_CTX_FLAG_ONESHOT 0x0001/* digest update will be
282
+ * called once only */
283
+ # define EVP_MD_CTX_FLAG_CLEANED 0x0002/* context has already been
284
+ * cleaned */
285
+ # define EVP_MD_CTX_FLAG_REUSE 0x0004/* Don't free up ctx->md_data
286
+ * in EVP_MD_CTX_cleanup */
287
+ /*
288
+ * FIPS and pad options are ignored in 1.0.0, definitions are here so we
289
+ * don't accidentally reuse the values for other purposes.
290
+ */
291
+
292
+ # define EVP_MD_CTX_FLAG_NON_FIPS_ALLOW 0x0008/* Allow use of non FIPS
293
+ * digest in FIPS mode */
294
+
295
+ /*
296
+ * The following PAD options are also currently ignored in 1.0.0, digest
297
+ * parameters are handled through EVP_DigestSign*() and EVP_DigestVerify*()
298
+ * instead.
299
+ */
300
+ # define EVP_MD_CTX_FLAG_PAD_MASK 0xF0/* RSA mode to use */
301
+ # define EVP_MD_CTX_FLAG_PAD_PKCS1 0x00/* PKCS#1 v1.5 mode */
302
+ # define EVP_MD_CTX_FLAG_PAD_X931 0x10/* X9.31 mode */
303
+ # define EVP_MD_CTX_FLAG_PAD_PSS 0x20/* PSS mode */
304
+
305
+ # define EVP_MD_CTX_FLAG_NO_INIT 0x0100/* Don't initialize md_data */
306
+
307
+ struct evp_cipher_st {
308
+ int nid;
309
+ int block_size;
310
+ /* Default value for variable length ciphers */
311
+ int key_len;
312
+ int iv_len;
313
+ /* Various flags */
314
+ unsigned long flags;
315
+ /* init key */
316
+ int (*init) (EVP_CIPHER_CTX *ctx, const unsigned char *key,
317
+ const unsigned char *iv, int enc);
318
+ /* encrypt/decrypt data */
319
+ int (*do_cipher) (EVP_CIPHER_CTX *ctx, unsigned char *out,
320
+ const unsigned char *in, size_t inl);
321
+ /* cleanup ctx */
322
+ int (*cleanup) (EVP_CIPHER_CTX *);
323
+ /* how big ctx->cipher_data needs to be */
324
+ int ctx_size;
325
+ /* Populate a ASN1_TYPE with parameters */
326
+ int (*set_asn1_parameters) (EVP_CIPHER_CTX *, ASN1_TYPE *);
327
+ /* Get parameters from a ASN1_TYPE */
328
+ int (*get_asn1_parameters) (EVP_CIPHER_CTX *, ASN1_TYPE *);
329
+ /* Miscellaneous operations */
330
+ int (*ctrl) (EVP_CIPHER_CTX *, int type, int arg, void *ptr);
331
+ /* Application data */
332
+ void *app_data;
333
+ } /* EVP_CIPHER */ ;
334
+
335
+ /* Values for cipher flags */
336
+
337
+ /* Modes for ciphers */
338
+
339
+ # define EVP_CIPH_STREAM_CIPHER 0x0
340
+ # define EVP_CIPH_ECB_MODE 0x1
341
+ # define EVP_CIPH_CBC_MODE 0x2
342
+ # define EVP_CIPH_CFB_MODE 0x3
343
+ # define EVP_CIPH_OFB_MODE 0x4
344
+ # define EVP_CIPH_CTR_MODE 0x5
345
+ # define EVP_CIPH_GCM_MODE 0x6
346
+ # define EVP_CIPH_CCM_MODE 0x7
347
+ # define EVP_CIPH_XTS_MODE 0x10001
348
+ # define EVP_CIPH_MODE 0xF0007
349
+ /* Set if variable length cipher */
350
+ # define EVP_CIPH_VARIABLE_LENGTH 0x8
351
+ /* Set if the iv handling should be done by the cipher itself */
352
+ # define EVP_CIPH_CUSTOM_IV 0x10
353
+ /* Set if the cipher's init() function should be called if key is NULL */
354
+ # define EVP_CIPH_ALWAYS_CALL_INIT 0x20
355
+ /* Call ctrl() to init cipher parameters */
356
+ # define EVP_CIPH_CTRL_INIT 0x40
357
+ /* Don't use standard key length function */
358
+ # define EVP_CIPH_CUSTOM_KEY_LENGTH 0x80
359
+ /* Don't use standard block padding */
360
+ # define EVP_CIPH_NO_PADDING 0x100
361
+ /* cipher handles random key generation */
362
+ # define EVP_CIPH_RAND_KEY 0x200
363
+ /* cipher has its own additional copying logic */
364
+ # define EVP_CIPH_CUSTOM_COPY 0x400
365
+ /* Allow use default ASN1 get/set iv */
366
+ # define EVP_CIPH_FLAG_DEFAULT_ASN1 0x1000
367
+ /* Buffer length in bits not bytes: CFB1 mode only */
368
+ # define EVP_CIPH_FLAG_LENGTH_BITS 0x2000
369
+ /* Note if suitable for use in FIPS mode */
370
+ # define EVP_CIPH_FLAG_FIPS 0x4000
371
+ /* Allow non FIPS cipher in FIPS mode */
372
+ # define EVP_CIPH_FLAG_NON_FIPS_ALLOW 0x8000
373
+ /*
374
+ * Cipher handles any and all padding logic as well as finalisation.
375
+ */
376
+ # define EVP_CIPH_FLAG_CUSTOM_CIPHER 0x100000
377
+ # define EVP_CIPH_FLAG_AEAD_CIPHER 0x200000
378
+
379
+ /* ctrl() values */
380
+
381
+ # define EVP_CTRL_INIT 0x0
382
+ # define EVP_CTRL_SET_KEY_LENGTH 0x1
383
+ # define EVP_CTRL_GET_RC2_KEY_BITS 0x2
384
+ # define EVP_CTRL_SET_RC2_KEY_BITS 0x3
385
+ # define EVP_CTRL_GET_RC5_ROUNDS 0x4
386
+ # define EVP_CTRL_SET_RC5_ROUNDS 0x5
387
+ # define EVP_CTRL_RAND_KEY 0x6
388
+ # define EVP_CTRL_PBE_PRF_NID 0x7
389
+ # define EVP_CTRL_COPY 0x8
390
+ # define EVP_CTRL_GCM_SET_IVLEN 0x9
391
+ # define EVP_CTRL_GCM_GET_TAG 0x10
392
+ # define EVP_CTRL_GCM_SET_TAG 0x11
393
+ # define EVP_CTRL_GCM_SET_IV_FIXED 0x12
394
+ # define EVP_CTRL_GCM_IV_GEN 0x13
395
+ # define EVP_CTRL_CCM_SET_IVLEN EVP_CTRL_GCM_SET_IVLEN
396
+ # define EVP_CTRL_CCM_GET_TAG EVP_CTRL_GCM_GET_TAG
397
+ # define EVP_CTRL_CCM_SET_TAG EVP_CTRL_GCM_SET_TAG
398
+ # define EVP_CTRL_CCM_SET_L 0x14
399
+ # define EVP_CTRL_CCM_SET_MSGLEN 0x15
400
+ /*
401
+ * AEAD cipher deduces payload length and returns number of bytes required to
402
+ * store MAC and eventual padding. Subsequent call to EVP_Cipher even
403
+ * appends/verifies MAC.
404
+ */
405
+ # define EVP_CTRL_AEAD_TLS1_AAD 0x16
406
+ /* Used by composite AEAD ciphers, no-op in GCM, CCM... */
407
+ # define EVP_CTRL_AEAD_SET_MAC_KEY 0x17
408
+ /* Set the GCM invocation field, decrypt only */
409
+ # define EVP_CTRL_GCM_SET_IV_INV 0x18
410
+
411
+ /* RFC 5246 defines additional data to be 13 bytes in length */
412
+ # define EVP_AEAD_TLS1_AAD_LEN 13
413
+
414
+ /* GCM TLS constants */
415
+ /* Length of fixed part of IV derived from PRF */
416
+ # define EVP_GCM_TLS_FIXED_IV_LEN 4
417
+ /* Length of explicit part of IV part of TLS records */
418
+ # define EVP_GCM_TLS_EXPLICIT_IV_LEN 8
419
+ /* Length of tag for TLS */
420
+ # define EVP_GCM_TLS_TAG_LEN 16
421
+
422
+ typedef struct evp_cipher_info_st {
423
+ const EVP_CIPHER *cipher;
424
+ unsigned char iv[EVP_MAX_IV_LENGTH];
425
+ } EVP_CIPHER_INFO;
426
+
427
+ struct evp_cipher_ctx_st {
428
+ const EVP_CIPHER *cipher;
429
+ ENGINE *engine; /* functional reference if 'cipher' is
430
+ * ENGINE-provided */
431
+ int encrypt; /* encrypt or decrypt */
432
+ int buf_len; /* number we have left */
433
+ unsigned char oiv[EVP_MAX_IV_LENGTH]; /* original iv */
434
+ unsigned char iv[EVP_MAX_IV_LENGTH]; /* working iv */
435
+ unsigned char buf[EVP_MAX_BLOCK_LENGTH]; /* saved partial block */
436
+ int num; /* used by cfb/ofb/ctr mode */
437
+ void *app_data; /* application stuff */
438
+ int key_len; /* May change for variable length cipher */
439
+ unsigned long flags; /* Various flags */
440
+ void *cipher_data; /* per EVP data */
441
+ int final_used;
442
+ int block_mask;
443
+ unsigned char final[EVP_MAX_BLOCK_LENGTH]; /* possible final block */
444
+ } /* EVP_CIPHER_CTX */ ;
445
+
446
+ typedef struct evp_Encode_Ctx_st {
447
+ /* number saved in a partial encode/decode */
448
+ int num;
449
+ /*
450
+ * The length is either the output line length (in input bytes) or the
451
+ * shortest input line length that is ok. Once decoding begins, the
452
+ * length is adjusted up each time a longer line is decoded
453
+ */
454
+ int length;
455
+ /* data to encode */
456
+ unsigned char enc_data[80];
457
+ /* number read on current line */
458
+ int line_num;
459
+ int expect_nl;
460
+ } EVP_ENCODE_CTX;
461
+
462
+ /* Password based encryption function */
463
+ typedef int (EVP_PBE_KEYGEN) (EVP_CIPHER_CTX *ctx, const char *pass,
464
+ int passlen, ASN1_TYPE *param,
465
+ const EVP_CIPHER *cipher, const EVP_MD *md,
466
+ int en_de);
467
+
468
+ # ifndef OPENSSL_NO_RSA
469
+ # define EVP_PKEY_assign_RSA(pkey,rsa) EVP_PKEY_assign((pkey),EVP_PKEY_RSA,\
470
+ (char *)(rsa))
471
+ # endif
472
+
473
+ # ifndef OPENSSL_NO_DSA
474
+ # define EVP_PKEY_assign_DSA(pkey,dsa) EVP_PKEY_assign((pkey),EVP_PKEY_DSA,\
475
+ (char *)(dsa))
476
+ # endif
477
+
478
+ # ifndef OPENSSL_NO_DH
479
+ # define EVP_PKEY_assign_DH(pkey,dh) EVP_PKEY_assign((pkey),EVP_PKEY_DH,\
480
+ (char *)(dh))
481
+ # endif
482
+
483
+ # ifndef OPENSSL_NO_EC
484
+ # define EVP_PKEY_assign_EC_KEY(pkey,eckey) EVP_PKEY_assign((pkey),EVP_PKEY_EC,\
485
+ (char *)(eckey))
486
+ # endif
487
+
488
+ /* Add some extra combinations */
489
+ # define EVP_get_digestbynid(a) EVP_get_digestbyname(OBJ_nid2sn(a))
490
+ # define EVP_get_digestbyobj(a) EVP_get_digestbynid(OBJ_obj2nid(a))
491
+ # define EVP_get_cipherbynid(a) EVP_get_cipherbyname(OBJ_nid2sn(a))
492
+ # define EVP_get_cipherbyobj(a) EVP_get_cipherbynid(OBJ_obj2nid(a))
493
+
494
+ int EVP_MD_type(const EVP_MD *md);
495
+ # define EVP_MD_nid(e) EVP_MD_type(e)
496
+ # define EVP_MD_name(e) OBJ_nid2sn(EVP_MD_nid(e))
497
+ int EVP_MD_pkey_type(const EVP_MD *md);
498
+ int EVP_MD_size(const EVP_MD *md);
499
+ int EVP_MD_block_size(const EVP_MD *md);
500
+ unsigned long EVP_MD_flags(const EVP_MD *md);
501
+
502
+ const EVP_MD *EVP_MD_CTX_md(const EVP_MD_CTX *ctx);
503
+ # define EVP_MD_CTX_size(e) EVP_MD_size(EVP_MD_CTX_md(e))
504
+ # define EVP_MD_CTX_block_size(e) EVP_MD_block_size(EVP_MD_CTX_md(e))
505
+ # define EVP_MD_CTX_type(e) EVP_MD_type(EVP_MD_CTX_md(e))
506
+
507
+ int EVP_CIPHER_nid(const EVP_CIPHER *cipher);
508
+ # define EVP_CIPHER_name(e) OBJ_nid2sn(EVP_CIPHER_nid(e))
509
+ int EVP_CIPHER_block_size(const EVP_CIPHER *cipher);
510
+ int EVP_CIPHER_key_length(const EVP_CIPHER *cipher);
511
+ int EVP_CIPHER_iv_length(const EVP_CIPHER *cipher);
512
+ unsigned long EVP_CIPHER_flags(const EVP_CIPHER *cipher);
513
+ # define EVP_CIPHER_mode(e) (EVP_CIPHER_flags(e) & EVP_CIPH_MODE)
514
+
515
+ const EVP_CIPHER *EVP_CIPHER_CTX_cipher(const EVP_CIPHER_CTX *ctx);
516
+ int EVP_CIPHER_CTX_nid(const EVP_CIPHER_CTX *ctx);
517
+ int EVP_CIPHER_CTX_block_size(const EVP_CIPHER_CTX *ctx);
518
+ int EVP_CIPHER_CTX_key_length(const EVP_CIPHER_CTX *ctx);
519
+ int EVP_CIPHER_CTX_iv_length(const EVP_CIPHER_CTX *ctx);
520
+ int EVP_CIPHER_CTX_copy(EVP_CIPHER_CTX *out, const EVP_CIPHER_CTX *in);
521
+ void *EVP_CIPHER_CTX_get_app_data(const EVP_CIPHER_CTX *ctx);
522
+ void EVP_CIPHER_CTX_set_app_data(EVP_CIPHER_CTX *ctx, void *data);
523
+ # define EVP_CIPHER_CTX_type(c) EVP_CIPHER_type(EVP_CIPHER_CTX_cipher(c))
524
+ unsigned long EVP_CIPHER_CTX_flags(const EVP_CIPHER_CTX *ctx);
525
+ # define EVP_CIPHER_CTX_mode(e) (EVP_CIPHER_CTX_flags(e) & EVP_CIPH_MODE)
526
+
527
+ # define EVP_ENCODE_LENGTH(l) (((l+2)/3*4)+(l/48+1)*2+80)
528
+ # define EVP_DECODE_LENGTH(l) ((l+3)/4*3+80)
529
+
530
+ # define EVP_SignInit_ex(a,b,c) EVP_DigestInit_ex(a,b,c)
531
+ # define EVP_SignInit(a,b) EVP_DigestInit(a,b)
532
+ # define EVP_SignUpdate(a,b,c) EVP_DigestUpdate(a,b,c)
533
+ # define EVP_VerifyInit_ex(a,b,c) EVP_DigestInit_ex(a,b,c)
534
+ # define EVP_VerifyInit(a,b) EVP_DigestInit(a,b)
535
+ # define EVP_VerifyUpdate(a,b,c) EVP_DigestUpdate(a,b,c)
536
+ # define EVP_OpenUpdate(a,b,c,d,e) EVP_DecryptUpdate(a,b,c,d,e)
537
+ # define EVP_SealUpdate(a,b,c,d,e) EVP_EncryptUpdate(a,b,c,d,e)
538
+ # define EVP_DigestSignUpdate(a,b,c) EVP_DigestUpdate(a,b,c)
539
+ # define EVP_DigestVerifyUpdate(a,b,c) EVP_DigestUpdate(a,b,c)
540
+
541
+ # ifdef CONST_STRICT
542
+ void BIO_set_md(BIO *, const EVP_MD *md);
543
+ # else
544
+ # define BIO_set_md(b,md) BIO_ctrl(b,BIO_C_SET_MD,0,(char *)md)
545
+ # endif
546
+ # define BIO_get_md(b,mdp) BIO_ctrl(b,BIO_C_GET_MD,0,(char *)mdp)
547
+ # define BIO_get_md_ctx(b,mdcp) BIO_ctrl(b,BIO_C_GET_MD_CTX,0,(char *)mdcp)
548
+ # define BIO_set_md_ctx(b,mdcp) BIO_ctrl(b,BIO_C_SET_MD_CTX,0,(char *)mdcp)
549
+ # define BIO_get_cipher_status(b) BIO_ctrl(b,BIO_C_GET_CIPHER_STATUS,0,NULL)
550
+ # define BIO_get_cipher_ctx(b,c_pp) BIO_ctrl(b,BIO_C_GET_CIPHER_CTX,0,(char *)c_pp)
551
+
552
+ int EVP_Cipher(EVP_CIPHER_CTX *c,
553
+ unsigned char *out, const unsigned char *in, unsigned int inl);
554
+
555
+ # define EVP_add_cipher_alias(n,alias) \
556
+ OBJ_NAME_add((alias),OBJ_NAME_TYPE_CIPHER_METH|OBJ_NAME_ALIAS,(n))
557
+ # define EVP_add_digest_alias(n,alias) \
558
+ OBJ_NAME_add((alias),OBJ_NAME_TYPE_MD_METH|OBJ_NAME_ALIAS,(n))
559
+ # define EVP_delete_cipher_alias(alias) \
560
+ OBJ_NAME_remove(alias,OBJ_NAME_TYPE_CIPHER_METH|OBJ_NAME_ALIAS);
561
+ # define EVP_delete_digest_alias(alias) \
562
+ OBJ_NAME_remove(alias,OBJ_NAME_TYPE_MD_METH|OBJ_NAME_ALIAS);
563
+
564
+ void EVP_MD_CTX_init(EVP_MD_CTX *ctx);
565
+ int EVP_MD_CTX_cleanup(EVP_MD_CTX *ctx);
566
+ EVP_MD_CTX *EVP_MD_CTX_create(void);
567
+ void EVP_MD_CTX_destroy(EVP_MD_CTX *ctx);
568
+ int EVP_MD_CTX_copy_ex(EVP_MD_CTX *out, const EVP_MD_CTX *in);
569
+ void EVP_MD_CTX_set_flags(EVP_MD_CTX *ctx, int flags);
570
+ void EVP_MD_CTX_clear_flags(EVP_MD_CTX *ctx, int flags);
571
+ int EVP_MD_CTX_test_flags(const EVP_MD_CTX *ctx, int flags);
572
+ int EVP_DigestInit_ex(EVP_MD_CTX *ctx, const EVP_MD *type, ENGINE *impl);
573
+ int EVP_DigestUpdate(EVP_MD_CTX *ctx, const void *d, size_t cnt);
574
+ int EVP_DigestFinal_ex(EVP_MD_CTX *ctx, unsigned char *md, unsigned int *s);
575
+ int EVP_Digest(const void *data, size_t count,
576
+ unsigned char *md, unsigned int *size, const EVP_MD *type,
577
+ ENGINE *impl);
578
+
579
+ int EVP_MD_CTX_copy(EVP_MD_CTX *out, const EVP_MD_CTX *in);
580
+ int EVP_DigestInit(EVP_MD_CTX *ctx, const EVP_MD *type);
581
+ int EVP_DigestFinal(EVP_MD_CTX *ctx, unsigned char *md, unsigned int *s);
582
+
583
+ int EVP_read_pw_string(char *buf, int length, const char *prompt, int verify);
584
+ int EVP_read_pw_string_min(char *buf, int minlen, int maxlen,
585
+ const char *prompt, int verify);
586
+ void EVP_set_pw_prompt(const char *prompt);
587
+ char *EVP_get_pw_prompt(void);
588
+
589
+ int EVP_BytesToKey(const EVP_CIPHER *type, const EVP_MD *md,
590
+ const unsigned char *salt, const unsigned char *data,
591
+ int datal, int count, unsigned char *key,
592
+ unsigned char *iv);
593
+
594
+ void EVP_CIPHER_CTX_set_flags(EVP_CIPHER_CTX *ctx, int flags);
595
+ void EVP_CIPHER_CTX_clear_flags(EVP_CIPHER_CTX *ctx, int flags);
596
+ int EVP_CIPHER_CTX_test_flags(const EVP_CIPHER_CTX *ctx, int flags);
597
+
598
+ int EVP_EncryptInit(EVP_CIPHER_CTX *ctx, const EVP_CIPHER *cipher,
599
+ const unsigned char *key, const unsigned char *iv);
600
+ int EVP_EncryptInit_ex(EVP_CIPHER_CTX *ctx, const EVP_CIPHER *cipher,
601
+ ENGINE *impl, const unsigned char *key,
602
+ const unsigned char *iv);
603
+ int EVP_EncryptUpdate(EVP_CIPHER_CTX *ctx, unsigned char *out, int *outl,
604
+ const unsigned char *in, int inl);
605
+ int EVP_EncryptFinal_ex(EVP_CIPHER_CTX *ctx, unsigned char *out, int *outl);
606
+ int EVP_EncryptFinal(EVP_CIPHER_CTX *ctx, unsigned char *out, int *outl);
607
+
608
+ int EVP_DecryptInit(EVP_CIPHER_CTX *ctx, const EVP_CIPHER *cipher,
609
+ const unsigned char *key, const unsigned char *iv);
610
+ int EVP_DecryptInit_ex(EVP_CIPHER_CTX *ctx, const EVP_CIPHER *cipher,
611
+ ENGINE *impl, const unsigned char *key,
612
+ const unsigned char *iv);
613
+ int EVP_DecryptUpdate(EVP_CIPHER_CTX *ctx, unsigned char *out, int *outl,
614
+ const unsigned char *in, int inl);
615
+ int EVP_DecryptFinal(EVP_CIPHER_CTX *ctx, unsigned char *outm, int *outl);
616
+ int EVP_DecryptFinal_ex(EVP_CIPHER_CTX *ctx, unsigned char *outm, int *outl);
617
+
618
+ int EVP_CipherInit(EVP_CIPHER_CTX *ctx, const EVP_CIPHER *cipher,
619
+ const unsigned char *key, const unsigned char *iv,
620
+ int enc);
621
+ int EVP_CipherInit_ex(EVP_CIPHER_CTX *ctx, const EVP_CIPHER *cipher,
622
+ ENGINE *impl, const unsigned char *key,
623
+ const unsigned char *iv, int enc);
624
+ int EVP_CipherUpdate(EVP_CIPHER_CTX *ctx, unsigned char *out, int *outl,
625
+ const unsigned char *in, int inl);
626
+ int EVP_CipherFinal(EVP_CIPHER_CTX *ctx, unsigned char *outm, int *outl);
627
+ int EVP_CipherFinal_ex(EVP_CIPHER_CTX *ctx, unsigned char *outm, int *outl);
628
+
629
+ int EVP_SignFinal(EVP_MD_CTX *ctx, unsigned char *md, unsigned int *s,
630
+ EVP_PKEY *pkey);
631
+
632
+ int EVP_VerifyFinal(EVP_MD_CTX *ctx, const unsigned char *sigbuf,
633
+ unsigned int siglen, EVP_PKEY *pkey);
634
+
635
+ int EVP_DigestSignInit(EVP_MD_CTX *ctx, EVP_PKEY_CTX **pctx,
636
+ const EVP_MD *type, ENGINE *e, EVP_PKEY *pkey);
637
+ int EVP_DigestSignFinal(EVP_MD_CTX *ctx,
638
+ unsigned char *sigret, size_t *siglen);
639
+
640
+ int EVP_DigestVerifyInit(EVP_MD_CTX *ctx, EVP_PKEY_CTX **pctx,
641
+ const EVP_MD *type, ENGINE *e, EVP_PKEY *pkey);
642
+ int EVP_DigestVerifyFinal(EVP_MD_CTX *ctx, unsigned char *sig, size_t siglen);
643
+
644
+ int EVP_OpenInit(EVP_CIPHER_CTX *ctx, const EVP_CIPHER *type,
645
+ const unsigned char *ek, int ekl, const unsigned char *iv,
646
+ EVP_PKEY *priv);
647
+ int EVP_OpenFinal(EVP_CIPHER_CTX *ctx, unsigned char *out, int *outl);
648
+
649
+ int EVP_SealInit(EVP_CIPHER_CTX *ctx, const EVP_CIPHER *type,
650
+ unsigned char **ek, int *ekl, unsigned char *iv,
651
+ EVP_PKEY **pubk, int npubk);
652
+ int EVP_SealFinal(EVP_CIPHER_CTX *ctx, unsigned char *out, int *outl);
653
+
654
+ void EVP_EncodeInit(EVP_ENCODE_CTX *ctx);
655
+ void EVP_EncodeUpdate(EVP_ENCODE_CTX *ctx, unsigned char *out, int *outl,
656
+ const unsigned char *in, int inl);
657
+ void EVP_EncodeFinal(EVP_ENCODE_CTX *ctx, unsigned char *out, int *outl);
658
+ int EVP_EncodeBlock(unsigned char *t, const unsigned char *f, int n);
659
+
660
+ void EVP_DecodeInit(EVP_ENCODE_CTX *ctx);
661
+ int EVP_DecodeUpdate(EVP_ENCODE_CTX *ctx, unsigned char *out, int *outl,
662
+ const unsigned char *in, int inl);
663
+ int EVP_DecodeFinal(EVP_ENCODE_CTX *ctx, unsigned
664
+ char *out, int *outl);
665
+ int EVP_DecodeBlock(unsigned char *t, const unsigned char *f, int n);
666
+
667
+ void EVP_CIPHER_CTX_init(EVP_CIPHER_CTX *a);
668
+ int EVP_CIPHER_CTX_cleanup(EVP_CIPHER_CTX *a);
669
+ EVP_CIPHER_CTX *EVP_CIPHER_CTX_new(void);
670
+ void EVP_CIPHER_CTX_free(EVP_CIPHER_CTX *a);
671
+ int EVP_CIPHER_CTX_set_key_length(EVP_CIPHER_CTX *x, int keylen);
672
+ int EVP_CIPHER_CTX_set_padding(EVP_CIPHER_CTX *c, int pad);
673
+ int EVP_CIPHER_CTX_ctrl(EVP_CIPHER_CTX *ctx, int type, int arg, void *ptr);
674
+ int EVP_CIPHER_CTX_rand_key(EVP_CIPHER_CTX *ctx, unsigned char *key);
675
+
676
+ # ifndef OPENSSL_NO_BIO
677
+ BIO_METHOD *BIO_f_md(void);
678
+ BIO_METHOD *BIO_f_base64(void);
679
+ BIO_METHOD *BIO_f_cipher(void);
680
+ BIO_METHOD *BIO_f_reliable(void);
681
+ void BIO_set_cipher(BIO *b, const EVP_CIPHER *c, const unsigned char *k,
682
+ const unsigned char *i, int enc);
683
+ # endif
684
+
685
+ const EVP_MD *EVP_md_null(void);
686
+ # ifndef OPENSSL_NO_MD2
687
+ const EVP_MD *EVP_md2(void);
688
+ # endif
689
+ # ifndef OPENSSL_NO_MD4
690
+ const EVP_MD *EVP_md4(void);
691
+ # endif
692
+ # ifndef OPENSSL_NO_MD5
693
+ const EVP_MD *EVP_md5(void);
694
+ # endif
695
+ # ifndef OPENSSL_NO_SHA
696
+ const EVP_MD *EVP_sha(void);
697
+ const EVP_MD *EVP_sha1(void);
698
+ const EVP_MD *EVP_dss(void);
699
+ const EVP_MD *EVP_dss1(void);
700
+ const EVP_MD *EVP_ecdsa(void);
701
+ # endif
702
+ # ifndef OPENSSL_NO_SHA256
703
+ const EVP_MD *EVP_sha224(void);
704
+ const EVP_MD *EVP_sha256(void);
705
+ # endif
706
+ # ifndef OPENSSL_NO_SHA512
707
+ const EVP_MD *EVP_sha384(void);
708
+ const EVP_MD *EVP_sha512(void);
709
+ # endif
710
+ # ifndef OPENSSL_NO_MDC2
711
+ const EVP_MD *EVP_mdc2(void);
712
+ # endif
713
+ # ifndef OPENSSL_NO_RIPEMD
714
+ const EVP_MD *EVP_ripemd160(void);
715
+ # endif
716
+ # ifndef OPENSSL_NO_WHIRLPOOL
717
+ const EVP_MD *EVP_whirlpool(void);
718
+ # endif
719
+ const EVP_CIPHER *EVP_enc_null(void); /* does nothing :-) */
720
+ # ifndef OPENSSL_NO_DES
721
+ const EVP_CIPHER *EVP_des_ecb(void);
722
+ const EVP_CIPHER *EVP_des_ede(void);
723
+ const EVP_CIPHER *EVP_des_ede3(void);
724
+ const EVP_CIPHER *EVP_des_ede_ecb(void);
725
+ const EVP_CIPHER *EVP_des_ede3_ecb(void);
726
+ const EVP_CIPHER *EVP_des_cfb64(void);
727
+ # define EVP_des_cfb EVP_des_cfb64
728
+ const EVP_CIPHER *EVP_des_cfb1(void);
729
+ const EVP_CIPHER *EVP_des_cfb8(void);
730
+ const EVP_CIPHER *EVP_des_ede_cfb64(void);
731
+ # define EVP_des_ede_cfb EVP_des_ede_cfb64
732
+ # if 0
733
+ const EVP_CIPHER *EVP_des_ede_cfb1(void);
734
+ const EVP_CIPHER *EVP_des_ede_cfb8(void);
735
+ # endif
736
+ const EVP_CIPHER *EVP_des_ede3_cfb64(void);
737
+ # define EVP_des_ede3_cfb EVP_des_ede3_cfb64
738
+ const EVP_CIPHER *EVP_des_ede3_cfb1(void);
739
+ const EVP_CIPHER *EVP_des_ede3_cfb8(void);
740
+ const EVP_CIPHER *EVP_des_ofb(void);
741
+ const EVP_CIPHER *EVP_des_ede_ofb(void);
742
+ const EVP_CIPHER *EVP_des_ede3_ofb(void);
743
+ const EVP_CIPHER *EVP_des_cbc(void);
744
+ const EVP_CIPHER *EVP_des_ede_cbc(void);
745
+ const EVP_CIPHER *EVP_des_ede3_cbc(void);
746
+ const EVP_CIPHER *EVP_desx_cbc(void);
747
+ /*
748
+ * This should now be supported through the dev_crypto ENGINE. But also, why
749
+ * are rc4 and md5 declarations made here inside a "NO_DES" precompiler
750
+ * branch?
751
+ */
752
+ # if 0
753
+ # ifdef OPENSSL_OPENBSD_DEV_CRYPTO
754
+ const EVP_CIPHER *EVP_dev_crypto_des_ede3_cbc(void);
755
+ const EVP_CIPHER *EVP_dev_crypto_rc4(void);
756
+ const EVP_MD *EVP_dev_crypto_md5(void);
757
+ # endif
758
+ # endif
759
+ # endif
760
+ # ifndef OPENSSL_NO_RC4
761
+ const EVP_CIPHER *EVP_rc4(void);
762
+ const EVP_CIPHER *EVP_rc4_40(void);
763
+ # ifndef OPENSSL_NO_MD5
764
+ const EVP_CIPHER *EVP_rc4_hmac_md5(void);
765
+ # endif
766
+ # endif
767
+ # ifndef OPENSSL_NO_IDEA
768
+ const EVP_CIPHER *EVP_idea_ecb(void);
769
+ const EVP_CIPHER *EVP_idea_cfb64(void);
770
+ # define EVP_idea_cfb EVP_idea_cfb64
771
+ const EVP_CIPHER *EVP_idea_ofb(void);
772
+ const EVP_CIPHER *EVP_idea_cbc(void);
773
+ # endif
774
+ # ifndef OPENSSL_NO_RC2
775
+ const EVP_CIPHER *EVP_rc2_ecb(void);
776
+ const EVP_CIPHER *EVP_rc2_cbc(void);
777
+ const EVP_CIPHER *EVP_rc2_40_cbc(void);
778
+ const EVP_CIPHER *EVP_rc2_64_cbc(void);
779
+ const EVP_CIPHER *EVP_rc2_cfb64(void);
780
+ # define EVP_rc2_cfb EVP_rc2_cfb64
781
+ const EVP_CIPHER *EVP_rc2_ofb(void);
782
+ # endif
783
+ # ifndef OPENSSL_NO_BF
784
+ const EVP_CIPHER *EVP_bf_ecb(void);
785
+ const EVP_CIPHER *EVP_bf_cbc(void);
786
+ const EVP_CIPHER *EVP_bf_cfb64(void);
787
+ # define EVP_bf_cfb EVP_bf_cfb64
788
+ const EVP_CIPHER *EVP_bf_ofb(void);
789
+ # endif
790
+ # ifndef OPENSSL_NO_CAST
791
+ const EVP_CIPHER *EVP_cast5_ecb(void);
792
+ const EVP_CIPHER *EVP_cast5_cbc(void);
793
+ const EVP_CIPHER *EVP_cast5_cfb64(void);
794
+ # define EVP_cast5_cfb EVP_cast5_cfb64
795
+ const EVP_CIPHER *EVP_cast5_ofb(void);
796
+ # endif
797
+ # ifndef OPENSSL_NO_RC5
798
+ const EVP_CIPHER *EVP_rc5_32_12_16_cbc(void);
799
+ const EVP_CIPHER *EVP_rc5_32_12_16_ecb(void);
800
+ const EVP_CIPHER *EVP_rc5_32_12_16_cfb64(void);
801
+ # define EVP_rc5_32_12_16_cfb EVP_rc5_32_12_16_cfb64
802
+ const EVP_CIPHER *EVP_rc5_32_12_16_ofb(void);
803
+ # endif
804
+ # ifndef OPENSSL_NO_AES
805
+ const EVP_CIPHER *EVP_aes_128_ecb(void);
806
+ const EVP_CIPHER *EVP_aes_128_cbc(void);
807
+ const EVP_CIPHER *EVP_aes_128_cfb1(void);
808
+ const EVP_CIPHER *EVP_aes_128_cfb8(void);
809
+ const EVP_CIPHER *EVP_aes_128_cfb128(void);
810
+ # define EVP_aes_128_cfb EVP_aes_128_cfb128
811
+ const EVP_CIPHER *EVP_aes_128_ofb(void);
812
+ const EVP_CIPHER *EVP_aes_128_ctr(void);
813
+ const EVP_CIPHER *EVP_aes_128_ccm(void);
814
+ const EVP_CIPHER *EVP_aes_128_gcm(void);
815
+ const EVP_CIPHER *EVP_aes_128_xts(void);
816
+ const EVP_CIPHER *EVP_aes_192_ecb(void);
817
+ const EVP_CIPHER *EVP_aes_192_cbc(void);
818
+ const EVP_CIPHER *EVP_aes_192_cfb1(void);
819
+ const EVP_CIPHER *EVP_aes_192_cfb8(void);
820
+ const EVP_CIPHER *EVP_aes_192_cfb128(void);
821
+ # define EVP_aes_192_cfb EVP_aes_192_cfb128
822
+ const EVP_CIPHER *EVP_aes_192_ofb(void);
823
+ const EVP_CIPHER *EVP_aes_192_ctr(void);
824
+ const EVP_CIPHER *EVP_aes_192_ccm(void);
825
+ const EVP_CIPHER *EVP_aes_192_gcm(void);
826
+ const EVP_CIPHER *EVP_aes_256_ecb(void);
827
+ const EVP_CIPHER *EVP_aes_256_cbc(void);
828
+ const EVP_CIPHER *EVP_aes_256_cfb1(void);
829
+ const EVP_CIPHER *EVP_aes_256_cfb8(void);
830
+ const EVP_CIPHER *EVP_aes_256_cfb128(void);
831
+ # define EVP_aes_256_cfb EVP_aes_256_cfb128
832
+ const EVP_CIPHER *EVP_aes_256_ofb(void);
833
+ const EVP_CIPHER *EVP_aes_256_ctr(void);
834
+ const EVP_CIPHER *EVP_aes_256_ccm(void);
835
+ const EVP_CIPHER *EVP_aes_256_gcm(void);
836
+ const EVP_CIPHER *EVP_aes_256_xts(void);
837
+ # if !defined(OPENSSL_NO_SHA) && !defined(OPENSSL_NO_SHA1)
838
+ const EVP_CIPHER *EVP_aes_128_cbc_hmac_sha1(void);
839
+ const EVP_CIPHER *EVP_aes_256_cbc_hmac_sha1(void);
840
+ # endif
841
+ # endif
842
+ # ifndef OPENSSL_NO_CAMELLIA
843
+ const EVP_CIPHER *EVP_camellia_128_ecb(void);
844
+ const EVP_CIPHER *EVP_camellia_128_cbc(void);
845
+ const EVP_CIPHER *EVP_camellia_128_cfb1(void);
846
+ const EVP_CIPHER *EVP_camellia_128_cfb8(void);
847
+ const EVP_CIPHER *EVP_camellia_128_cfb128(void);
848
+ # define EVP_camellia_128_cfb EVP_camellia_128_cfb128
849
+ const EVP_CIPHER *EVP_camellia_128_ofb(void);
850
+ const EVP_CIPHER *EVP_camellia_192_ecb(void);
851
+ const EVP_CIPHER *EVP_camellia_192_cbc(void);
852
+ const EVP_CIPHER *EVP_camellia_192_cfb1(void);
853
+ const EVP_CIPHER *EVP_camellia_192_cfb8(void);
854
+ const EVP_CIPHER *EVP_camellia_192_cfb128(void);
855
+ # define EVP_camellia_192_cfb EVP_camellia_192_cfb128
856
+ const EVP_CIPHER *EVP_camellia_192_ofb(void);
857
+ const EVP_CIPHER *EVP_camellia_256_ecb(void);
858
+ const EVP_CIPHER *EVP_camellia_256_cbc(void);
859
+ const EVP_CIPHER *EVP_camellia_256_cfb1(void);
860
+ const EVP_CIPHER *EVP_camellia_256_cfb8(void);
861
+ const EVP_CIPHER *EVP_camellia_256_cfb128(void);
862
+ # define EVP_camellia_256_cfb EVP_camellia_256_cfb128
863
+ const EVP_CIPHER *EVP_camellia_256_ofb(void);
864
+ # endif
865
+
866
+ # ifndef OPENSSL_NO_SEED
867
+ const EVP_CIPHER *EVP_seed_ecb(void);
868
+ const EVP_CIPHER *EVP_seed_cbc(void);
869
+ const EVP_CIPHER *EVP_seed_cfb128(void);
870
+ # define EVP_seed_cfb EVP_seed_cfb128
871
+ const EVP_CIPHER *EVP_seed_ofb(void);
872
+ # endif
873
+
874
+ void OPENSSL_add_all_algorithms_noconf(void);
875
+ void OPENSSL_add_all_algorithms_conf(void);
876
+
877
+ # ifdef OPENSSL_LOAD_CONF
878
+ # define OpenSSL_add_all_algorithms() \
879
+ OPENSSL_add_all_algorithms_conf()
880
+ # else
881
+ # define OpenSSL_add_all_algorithms() \
882
+ OPENSSL_add_all_algorithms_noconf()
883
+ # endif
884
+
885
+ void OpenSSL_add_all_ciphers(void);
886
+ void OpenSSL_add_all_digests(void);
887
+ # define SSLeay_add_all_algorithms() OpenSSL_add_all_algorithms()
888
+ # define SSLeay_add_all_ciphers() OpenSSL_add_all_ciphers()
889
+ # define SSLeay_add_all_digests() OpenSSL_add_all_digests()
890
+
891
+ int EVP_add_cipher(const EVP_CIPHER *cipher);
892
+ int EVP_add_digest(const EVP_MD *digest);
893
+
894
+ const EVP_CIPHER *EVP_get_cipherbyname(const char *name);
895
+ const EVP_MD *EVP_get_digestbyname(const char *name);
896
+ void EVP_cleanup(void);
897
+
898
+ void EVP_CIPHER_do_all(void (*fn) (const EVP_CIPHER *ciph,
899
+ const char *from, const char *to, void *x),
900
+ void *arg);
901
+ void EVP_CIPHER_do_all_sorted(void (*fn)
902
+ (const EVP_CIPHER *ciph, const char *from,
903
+ const char *to, void *x), void *arg);
904
+
905
+ void EVP_MD_do_all(void (*fn) (const EVP_MD *ciph,
906
+ const char *from, const char *to, void *x),
907
+ void *arg);
908
+ void EVP_MD_do_all_sorted(void (*fn)
909
+ (const EVP_MD *ciph, const char *from,
910
+ const char *to, void *x), void *arg);
911
+
912
+ int EVP_PKEY_decrypt_old(unsigned char *dec_key,
913
+ const unsigned char *enc_key, int enc_key_len,
914
+ EVP_PKEY *private_key);
915
+ int EVP_PKEY_encrypt_old(unsigned char *enc_key,
916
+ const unsigned char *key, int key_len,
917
+ EVP_PKEY *pub_key);
918
+ int EVP_PKEY_type(int type);
919
+ int EVP_PKEY_id(const EVP_PKEY *pkey);
920
+ int EVP_PKEY_base_id(const EVP_PKEY *pkey);
921
+ int EVP_PKEY_bits(EVP_PKEY *pkey);
922
+ int EVP_PKEY_size(EVP_PKEY *pkey);
923
+ int EVP_PKEY_set_type(EVP_PKEY *pkey, int type);
924
+ int EVP_PKEY_set_type_str(EVP_PKEY *pkey, const char *str, int len);
925
+ int EVP_PKEY_assign(EVP_PKEY *pkey, int type, void *key);
926
+ void *EVP_PKEY_get0(EVP_PKEY *pkey);
927
+
928
+ # ifndef OPENSSL_NO_RSA
929
+ struct rsa_st;
930
+ int EVP_PKEY_set1_RSA(EVP_PKEY *pkey, struct rsa_st *key);
931
+ struct rsa_st *EVP_PKEY_get1_RSA(EVP_PKEY *pkey);
932
+ # endif
933
+ # ifndef OPENSSL_NO_DSA
934
+ struct dsa_st;
935
+ int EVP_PKEY_set1_DSA(EVP_PKEY *pkey, struct dsa_st *key);
936
+ struct dsa_st *EVP_PKEY_get1_DSA(EVP_PKEY *pkey);
937
+ # endif
938
+ # ifndef OPENSSL_NO_DH
939
+ struct dh_st;
940
+ int EVP_PKEY_set1_DH(EVP_PKEY *pkey, struct dh_st *key);
941
+ struct dh_st *EVP_PKEY_get1_DH(EVP_PKEY *pkey);
942
+ # endif
943
+ # ifndef OPENSSL_NO_EC
944
+ struct ec_key_st;
945
+ int EVP_PKEY_set1_EC_KEY(EVP_PKEY *pkey, struct ec_key_st *key);
946
+ struct ec_key_st *EVP_PKEY_get1_EC_KEY(EVP_PKEY *pkey);
947
+ # endif
948
+
949
+ EVP_PKEY *EVP_PKEY_new(void);
950
+ void EVP_PKEY_free(EVP_PKEY *pkey);
951
+
952
+ EVP_PKEY *d2i_PublicKey(int type, EVP_PKEY **a, const unsigned char **pp,
953
+ long length);
954
+ int i2d_PublicKey(EVP_PKEY *a, unsigned char **pp);
955
+
956
+ EVP_PKEY *d2i_PrivateKey(int type, EVP_PKEY **a, const unsigned char **pp,
957
+ long length);
958
+ EVP_PKEY *d2i_AutoPrivateKey(EVP_PKEY **a, const unsigned char **pp,
959
+ long length);
960
+ int i2d_PrivateKey(EVP_PKEY *a, unsigned char **pp);
961
+
962
+ int EVP_PKEY_copy_parameters(EVP_PKEY *to, const EVP_PKEY *from);
963
+ int EVP_PKEY_missing_parameters(const EVP_PKEY *pkey);
964
+ int EVP_PKEY_save_parameters(EVP_PKEY *pkey, int mode);
965
+ int EVP_PKEY_cmp_parameters(const EVP_PKEY *a, const EVP_PKEY *b);
966
+
967
+ int EVP_PKEY_cmp(const EVP_PKEY *a, const EVP_PKEY *b);
968
+
969
+ int EVP_PKEY_print_public(BIO *out, const EVP_PKEY *pkey,
970
+ int indent, ASN1_PCTX *pctx);
971
+ int EVP_PKEY_print_private(BIO *out, const EVP_PKEY *pkey,
972
+ int indent, ASN1_PCTX *pctx);
973
+ int EVP_PKEY_print_params(BIO *out, const EVP_PKEY *pkey,
974
+ int indent, ASN1_PCTX *pctx);
975
+
976
+ int EVP_PKEY_get_default_digest_nid(EVP_PKEY *pkey, int *pnid);
977
+
978
+ int EVP_CIPHER_type(const EVP_CIPHER *ctx);
979
+
980
+ /* calls methods */
981
+ int EVP_CIPHER_param_to_asn1(EVP_CIPHER_CTX *c, ASN1_TYPE *type);
982
+ int EVP_CIPHER_asn1_to_param(EVP_CIPHER_CTX *c, ASN1_TYPE *type);
983
+
984
+ /* These are used by EVP_CIPHER methods */
985
+ int EVP_CIPHER_set_asn1_iv(EVP_CIPHER_CTX *c, ASN1_TYPE *type);
986
+ int EVP_CIPHER_get_asn1_iv(EVP_CIPHER_CTX *c, ASN1_TYPE *type);
987
+
988
+ /* PKCS5 password based encryption */
989
+ int PKCS5_PBE_keyivgen(EVP_CIPHER_CTX *ctx, const char *pass, int passlen,
990
+ ASN1_TYPE *param, const EVP_CIPHER *cipher,
991
+ const EVP_MD *md, int en_de);
992
+ int PKCS5_PBKDF2_HMAC_SHA1(const char *pass, int passlen,
993
+ const unsigned char *salt, int saltlen, int iter,
994
+ int keylen, unsigned char *out);
995
+ int PKCS5_PBKDF2_HMAC(const char *pass, int passlen,
996
+ const unsigned char *salt, int saltlen, int iter,
997
+ const EVP_MD *digest, int keylen, unsigned char *out);
998
+ int PKCS5_v2_PBE_keyivgen(EVP_CIPHER_CTX *ctx, const char *pass, int passlen,
999
+ ASN1_TYPE *param, const EVP_CIPHER *cipher,
1000
+ const EVP_MD *md, int en_de);
1001
+
1002
+ void PKCS5_PBE_add(void);
1003
+
1004
+ int EVP_PBE_CipherInit(ASN1_OBJECT *pbe_obj, const char *pass, int passlen,
1005
+ ASN1_TYPE *param, EVP_CIPHER_CTX *ctx, int en_de);
1006
+
1007
+ /* PBE type */
1008
+
1009
+ /* Can appear as the outermost AlgorithmIdentifier */
1010
+ # define EVP_PBE_TYPE_OUTER 0x0
1011
+ /* Is an PRF type OID */
1012
+ # define EVP_PBE_TYPE_PRF 0x1
1013
+
1014
+ int EVP_PBE_alg_add_type(int pbe_type, int pbe_nid, int cipher_nid,
1015
+ int md_nid, EVP_PBE_KEYGEN *keygen);
1016
+ int EVP_PBE_alg_add(int nid, const EVP_CIPHER *cipher, const EVP_MD *md,
1017
+ EVP_PBE_KEYGEN *keygen);
1018
+ int EVP_PBE_find(int type, int pbe_nid, int *pcnid, int *pmnid,
1019
+ EVP_PBE_KEYGEN **pkeygen);
1020
+ void EVP_PBE_cleanup(void);
1021
+
1022
+ # define ASN1_PKEY_ALIAS 0x1
1023
+ # define ASN1_PKEY_DYNAMIC 0x2
1024
+ # define ASN1_PKEY_SIGPARAM_NULL 0x4
1025
+
1026
+ # define ASN1_PKEY_CTRL_PKCS7_SIGN 0x1
1027
+ # define ASN1_PKEY_CTRL_PKCS7_ENCRYPT 0x2
1028
+ # define ASN1_PKEY_CTRL_DEFAULT_MD_NID 0x3
1029
+ # define ASN1_PKEY_CTRL_CMS_SIGN 0x5
1030
+ # define ASN1_PKEY_CTRL_CMS_ENVELOPE 0x7
1031
+
1032
+ int EVP_PKEY_asn1_get_count(void);
1033
+ const EVP_PKEY_ASN1_METHOD *EVP_PKEY_asn1_get0(int idx);
1034
+ const EVP_PKEY_ASN1_METHOD *EVP_PKEY_asn1_find(ENGINE **pe, int type);
1035
+ const EVP_PKEY_ASN1_METHOD *EVP_PKEY_asn1_find_str(ENGINE **pe,
1036
+ const char *str, int len);
1037
+ int EVP_PKEY_asn1_add0(const EVP_PKEY_ASN1_METHOD *ameth);
1038
+ int EVP_PKEY_asn1_add_alias(int to, int from);
1039
+ int EVP_PKEY_asn1_get0_info(int *ppkey_id, int *pkey_base_id,
1040
+ int *ppkey_flags, const char **pinfo,
1041
+ const char **ppem_str,
1042
+ const EVP_PKEY_ASN1_METHOD *ameth);
1043
+
1044
+ const EVP_PKEY_ASN1_METHOD *EVP_PKEY_get0_asn1(EVP_PKEY *pkey);
1045
+ EVP_PKEY_ASN1_METHOD *EVP_PKEY_asn1_new(int id, int flags,
1046
+ const char *pem_str,
1047
+ const char *info);
1048
+ void EVP_PKEY_asn1_copy(EVP_PKEY_ASN1_METHOD *dst,
1049
+ const EVP_PKEY_ASN1_METHOD *src);
1050
+ void EVP_PKEY_asn1_free(EVP_PKEY_ASN1_METHOD *ameth);
1051
+ void EVP_PKEY_asn1_set_public(EVP_PKEY_ASN1_METHOD *ameth,
1052
+ int (*pub_decode) (EVP_PKEY *pk,
1053
+ X509_PUBKEY *pub),
1054
+ int (*pub_encode) (X509_PUBKEY *pub,
1055
+ const EVP_PKEY *pk),
1056
+ int (*pub_cmp) (const EVP_PKEY *a,
1057
+ const EVP_PKEY *b),
1058
+ int (*pub_print) (BIO *out,
1059
+ const EVP_PKEY *pkey,
1060
+ int indent, ASN1_PCTX *pctx),
1061
+ int (*pkey_size) (const EVP_PKEY *pk),
1062
+ int (*pkey_bits) (const EVP_PKEY *pk));
1063
+ void EVP_PKEY_asn1_set_private(EVP_PKEY_ASN1_METHOD *ameth,
1064
+ int (*priv_decode) (EVP_PKEY *pk,
1065
+ PKCS8_PRIV_KEY_INFO
1066
+ *p8inf),
1067
+ int (*priv_encode) (PKCS8_PRIV_KEY_INFO *p8,
1068
+ const EVP_PKEY *pk),
1069
+ int (*priv_print) (BIO *out,
1070
+ const EVP_PKEY *pkey,
1071
+ int indent,
1072
+ ASN1_PCTX *pctx));
1073
+ void EVP_PKEY_asn1_set_param(EVP_PKEY_ASN1_METHOD *ameth,
1074
+ int (*param_decode) (EVP_PKEY *pkey,
1075
+ const unsigned char **pder,
1076
+ int derlen),
1077
+ int (*param_encode) (const EVP_PKEY *pkey,
1078
+ unsigned char **pder),
1079
+ int (*param_missing) (const EVP_PKEY *pk),
1080
+ int (*param_copy) (EVP_PKEY *to,
1081
+ const EVP_PKEY *from),
1082
+ int (*param_cmp) (const EVP_PKEY *a,
1083
+ const EVP_PKEY *b),
1084
+ int (*param_print) (BIO *out,
1085
+ const EVP_PKEY *pkey,
1086
+ int indent,
1087
+ ASN1_PCTX *pctx));
1088
+
1089
+ void EVP_PKEY_asn1_set_free(EVP_PKEY_ASN1_METHOD *ameth,
1090
+ void (*pkey_free) (EVP_PKEY *pkey));
1091
+ void EVP_PKEY_asn1_set_ctrl(EVP_PKEY_ASN1_METHOD *ameth,
1092
+ int (*pkey_ctrl) (EVP_PKEY *pkey, int op,
1093
+ long arg1, void *arg2));
1094
+
1095
+ # define EVP_PKEY_OP_UNDEFINED 0
1096
+ # define EVP_PKEY_OP_PARAMGEN (1<<1)
1097
+ # define EVP_PKEY_OP_KEYGEN (1<<2)
1098
+ # define EVP_PKEY_OP_SIGN (1<<3)
1099
+ # define EVP_PKEY_OP_VERIFY (1<<4)
1100
+ # define EVP_PKEY_OP_VERIFYRECOVER (1<<5)
1101
+ # define EVP_PKEY_OP_SIGNCTX (1<<6)
1102
+ # define EVP_PKEY_OP_VERIFYCTX (1<<7)
1103
+ # define EVP_PKEY_OP_ENCRYPT (1<<8)
1104
+ # define EVP_PKEY_OP_DECRYPT (1<<9)
1105
+ # define EVP_PKEY_OP_DERIVE (1<<10)
1106
+
1107
+ # define EVP_PKEY_OP_TYPE_SIG \
1108
+ (EVP_PKEY_OP_SIGN | EVP_PKEY_OP_VERIFY | EVP_PKEY_OP_VERIFYRECOVER \
1109
+ | EVP_PKEY_OP_SIGNCTX | EVP_PKEY_OP_VERIFYCTX)
1110
+
1111
+ # define EVP_PKEY_OP_TYPE_CRYPT \
1112
+ (EVP_PKEY_OP_ENCRYPT | EVP_PKEY_OP_DECRYPT)
1113
+
1114
+ # define EVP_PKEY_OP_TYPE_NOGEN \
1115
+ (EVP_PKEY_OP_SIG | EVP_PKEY_OP_CRYPT | EVP_PKEY_OP_DERIVE)
1116
+
1117
+ # define EVP_PKEY_OP_TYPE_GEN \
1118
+ (EVP_PKEY_OP_PARAMGEN | EVP_PKEY_OP_KEYGEN)
1119
+
1120
+ # define EVP_PKEY_CTX_set_signature_md(ctx, md) \
1121
+ EVP_PKEY_CTX_ctrl(ctx, -1, EVP_PKEY_OP_TYPE_SIG, \
1122
+ EVP_PKEY_CTRL_MD, 0, (void *)md)
1123
+
1124
+ # define EVP_PKEY_CTRL_MD 1
1125
+ # define EVP_PKEY_CTRL_PEER_KEY 2
1126
+
1127
+ # define EVP_PKEY_CTRL_PKCS7_ENCRYPT 3
1128
+ # define EVP_PKEY_CTRL_PKCS7_DECRYPT 4
1129
+
1130
+ # define EVP_PKEY_CTRL_PKCS7_SIGN 5
1131
+
1132
+ # define EVP_PKEY_CTRL_SET_MAC_KEY 6
1133
+
1134
+ # define EVP_PKEY_CTRL_DIGESTINIT 7
1135
+
1136
+ /* Used by GOST key encryption in TLS */
1137
+ # define EVP_PKEY_CTRL_SET_IV 8
1138
+
1139
+ # define EVP_PKEY_CTRL_CMS_ENCRYPT 9
1140
+ # define EVP_PKEY_CTRL_CMS_DECRYPT 10
1141
+ # define EVP_PKEY_CTRL_CMS_SIGN 11
1142
+
1143
+ # define EVP_PKEY_CTRL_CIPHER 12
1144
+
1145
+ # define EVP_PKEY_ALG_CTRL 0x1000
1146
+
1147
+ # define EVP_PKEY_FLAG_AUTOARGLEN 2
1148
+ /*
1149
+ * Method handles all operations: don't assume any digest related defaults.
1150
+ */
1151
+ # define EVP_PKEY_FLAG_SIGCTX_CUSTOM 4
1152
+
1153
+ const EVP_PKEY_METHOD *EVP_PKEY_meth_find(int type);
1154
+ EVP_PKEY_METHOD *EVP_PKEY_meth_new(int id, int flags);
1155
+ void EVP_PKEY_meth_get0_info(int *ppkey_id, int *pflags,
1156
+ const EVP_PKEY_METHOD *meth);
1157
+ void EVP_PKEY_meth_copy(EVP_PKEY_METHOD *dst, const EVP_PKEY_METHOD *src);
1158
+ void EVP_PKEY_meth_free(EVP_PKEY_METHOD *pmeth);
1159
+ int EVP_PKEY_meth_add0(const EVP_PKEY_METHOD *pmeth);
1160
+
1161
+ EVP_PKEY_CTX *EVP_PKEY_CTX_new(EVP_PKEY *pkey, ENGINE *e);
1162
+ EVP_PKEY_CTX *EVP_PKEY_CTX_new_id(int id, ENGINE *e);
1163
+ EVP_PKEY_CTX *EVP_PKEY_CTX_dup(EVP_PKEY_CTX *ctx);
1164
+ void EVP_PKEY_CTX_free(EVP_PKEY_CTX *ctx);
1165
+
1166
+ int EVP_PKEY_CTX_ctrl(EVP_PKEY_CTX *ctx, int keytype, int optype,
1167
+ int cmd, int p1, void *p2);
1168
+ int EVP_PKEY_CTX_ctrl_str(EVP_PKEY_CTX *ctx, const char *type,
1169
+ const char *value);
1170
+
1171
+ int EVP_PKEY_CTX_get_operation(EVP_PKEY_CTX *ctx);
1172
+ void EVP_PKEY_CTX_set0_keygen_info(EVP_PKEY_CTX *ctx, int *dat, int datlen);
1173
+
1174
+ EVP_PKEY *EVP_PKEY_new_mac_key(int type, ENGINE *e,
1175
+ const unsigned char *key, int keylen);
1176
+
1177
+ void EVP_PKEY_CTX_set_data(EVP_PKEY_CTX *ctx, void *data);
1178
+ void *EVP_PKEY_CTX_get_data(EVP_PKEY_CTX *ctx);
1179
+ EVP_PKEY *EVP_PKEY_CTX_get0_pkey(EVP_PKEY_CTX *ctx);
1180
+
1181
+ EVP_PKEY *EVP_PKEY_CTX_get0_peerkey(EVP_PKEY_CTX *ctx);
1182
+
1183
+ void EVP_PKEY_CTX_set_app_data(EVP_PKEY_CTX *ctx, void *data);
1184
+ void *EVP_PKEY_CTX_get_app_data(EVP_PKEY_CTX *ctx);
1185
+
1186
+ int EVP_PKEY_sign_init(EVP_PKEY_CTX *ctx);
1187
+ int EVP_PKEY_sign(EVP_PKEY_CTX *ctx,
1188
+ unsigned char *sig, size_t *siglen,
1189
+ const unsigned char *tbs, size_t tbslen);
1190
+ int EVP_PKEY_verify_init(EVP_PKEY_CTX *ctx);
1191
+ int EVP_PKEY_verify(EVP_PKEY_CTX *ctx,
1192
+ const unsigned char *sig, size_t siglen,
1193
+ const unsigned char *tbs, size_t tbslen);
1194
+ int EVP_PKEY_verify_recover_init(EVP_PKEY_CTX *ctx);
1195
+ int EVP_PKEY_verify_recover(EVP_PKEY_CTX *ctx,
1196
+ unsigned char *rout, size_t *routlen,
1197
+ const unsigned char *sig, size_t siglen);
1198
+ int EVP_PKEY_encrypt_init(EVP_PKEY_CTX *ctx);
1199
+ int EVP_PKEY_encrypt(EVP_PKEY_CTX *ctx,
1200
+ unsigned char *out, size_t *outlen,
1201
+ const unsigned char *in, size_t inlen);
1202
+ int EVP_PKEY_decrypt_init(EVP_PKEY_CTX *ctx);
1203
+ int EVP_PKEY_decrypt(EVP_PKEY_CTX *ctx,
1204
+ unsigned char *out, size_t *outlen,
1205
+ const unsigned char *in, size_t inlen);
1206
+
1207
+ int EVP_PKEY_derive_init(EVP_PKEY_CTX *ctx);
1208
+ int EVP_PKEY_derive_set_peer(EVP_PKEY_CTX *ctx, EVP_PKEY *peer);
1209
+ int EVP_PKEY_derive(EVP_PKEY_CTX *ctx, unsigned char *key, size_t *keylen);
1210
+
1211
+ typedef int EVP_PKEY_gen_cb (EVP_PKEY_CTX *ctx);
1212
+
1213
+ int EVP_PKEY_paramgen_init(EVP_PKEY_CTX *ctx);
1214
+ int EVP_PKEY_paramgen(EVP_PKEY_CTX *ctx, EVP_PKEY **ppkey);
1215
+ int EVP_PKEY_keygen_init(EVP_PKEY_CTX *ctx);
1216
+ int EVP_PKEY_keygen(EVP_PKEY_CTX *ctx, EVP_PKEY **ppkey);
1217
+
1218
+ void EVP_PKEY_CTX_set_cb(EVP_PKEY_CTX *ctx, EVP_PKEY_gen_cb *cb);
1219
+ EVP_PKEY_gen_cb *EVP_PKEY_CTX_get_cb(EVP_PKEY_CTX *ctx);
1220
+
1221
+ int EVP_PKEY_CTX_get_keygen_info(EVP_PKEY_CTX *ctx, int idx);
1222
+
1223
+ void EVP_PKEY_meth_set_init(EVP_PKEY_METHOD *pmeth,
1224
+ int (*init) (EVP_PKEY_CTX *ctx));
1225
+
1226
+ void EVP_PKEY_meth_set_copy(EVP_PKEY_METHOD *pmeth,
1227
+ int (*copy) (EVP_PKEY_CTX *dst,
1228
+ EVP_PKEY_CTX *src));
1229
+
1230
+ void EVP_PKEY_meth_set_cleanup(EVP_PKEY_METHOD *pmeth,
1231
+ void (*cleanup) (EVP_PKEY_CTX *ctx));
1232
+
1233
+ void EVP_PKEY_meth_set_paramgen(EVP_PKEY_METHOD *pmeth,
1234
+ int (*paramgen_init) (EVP_PKEY_CTX *ctx),
1235
+ int (*paramgen) (EVP_PKEY_CTX *ctx,
1236
+ EVP_PKEY *pkey));
1237
+
1238
+ void EVP_PKEY_meth_set_keygen(EVP_PKEY_METHOD *pmeth,
1239
+ int (*keygen_init) (EVP_PKEY_CTX *ctx),
1240
+ int (*keygen) (EVP_PKEY_CTX *ctx,
1241
+ EVP_PKEY *pkey));
1242
+
1243
+ void EVP_PKEY_meth_set_sign(EVP_PKEY_METHOD *pmeth,
1244
+ int (*sign_init) (EVP_PKEY_CTX *ctx),
1245
+ int (*sign) (EVP_PKEY_CTX *ctx,
1246
+ unsigned char *sig, size_t *siglen,
1247
+ const unsigned char *tbs,
1248
+ size_t tbslen));
1249
+
1250
+ void EVP_PKEY_meth_set_verify(EVP_PKEY_METHOD *pmeth,
1251
+ int (*verify_init) (EVP_PKEY_CTX *ctx),
1252
+ int (*verify) (EVP_PKEY_CTX *ctx,
1253
+ const unsigned char *sig,
1254
+ size_t siglen,
1255
+ const unsigned char *tbs,
1256
+ size_t tbslen));
1257
+
1258
+ void EVP_PKEY_meth_set_verify_recover(EVP_PKEY_METHOD *pmeth,
1259
+ int (*verify_recover_init) (EVP_PKEY_CTX
1260
+ *ctx),
1261
+ int (*verify_recover) (EVP_PKEY_CTX
1262
+ *ctx,
1263
+ unsigned char
1264
+ *sig,
1265
+ size_t *siglen,
1266
+ const unsigned
1267
+ char *tbs,
1268
+ size_t tbslen));
1269
+
1270
+ void EVP_PKEY_meth_set_signctx(EVP_PKEY_METHOD *pmeth,
1271
+ int (*signctx_init) (EVP_PKEY_CTX *ctx,
1272
+ EVP_MD_CTX *mctx),
1273
+ int (*signctx) (EVP_PKEY_CTX *ctx,
1274
+ unsigned char *sig,
1275
+ size_t *siglen,
1276
+ EVP_MD_CTX *mctx));
1277
+
1278
+ void EVP_PKEY_meth_set_verifyctx(EVP_PKEY_METHOD *pmeth,
1279
+ int (*verifyctx_init) (EVP_PKEY_CTX *ctx,
1280
+ EVP_MD_CTX *mctx),
1281
+ int (*verifyctx) (EVP_PKEY_CTX *ctx,
1282
+ const unsigned char *sig,
1283
+ int siglen,
1284
+ EVP_MD_CTX *mctx));
1285
+
1286
+ void EVP_PKEY_meth_set_encrypt(EVP_PKEY_METHOD *pmeth,
1287
+ int (*encrypt_init) (EVP_PKEY_CTX *ctx),
1288
+ int (*encryptfn) (EVP_PKEY_CTX *ctx,
1289
+ unsigned char *out,
1290
+ size_t *outlen,
1291
+ const unsigned char *in,
1292
+ size_t inlen));
1293
+
1294
+ void EVP_PKEY_meth_set_decrypt(EVP_PKEY_METHOD *pmeth,
1295
+ int (*decrypt_init) (EVP_PKEY_CTX *ctx),
1296
+ int (*decrypt) (EVP_PKEY_CTX *ctx,
1297
+ unsigned char *out,
1298
+ size_t *outlen,
1299
+ const unsigned char *in,
1300
+ size_t inlen));
1301
+
1302
+ void EVP_PKEY_meth_set_derive(EVP_PKEY_METHOD *pmeth,
1303
+ int (*derive_init) (EVP_PKEY_CTX *ctx),
1304
+ int (*derive) (EVP_PKEY_CTX *ctx,
1305
+ unsigned char *key,
1306
+ size_t *keylen));
1307
+
1308
+ void EVP_PKEY_meth_set_ctrl(EVP_PKEY_METHOD *pmeth,
1309
+ int (*ctrl) (EVP_PKEY_CTX *ctx, int type, int p1,
1310
+ void *p2),
1311
+ int (*ctrl_str) (EVP_PKEY_CTX *ctx,
1312
+ const char *type,
1313
+ const char *value));
1314
+
1315
+ void EVP_add_alg_module(void);
1316
+
1317
+ /* BEGIN ERROR CODES */
1318
+ /*
1319
+ * The following lines are auto generated by the script mkerr.pl. Any changes
1320
+ * made after this point may be overwritten when the script is next run.
1321
+ */
1322
+ void ERR_load_EVP_strings(void);
1323
+
1324
+ /* Error codes for the EVP functions. */
1325
+
1326
+ /* Function codes. */
1327
+ # define EVP_F_AESNI_INIT_KEY 165
1328
+ # define EVP_F_AESNI_XTS_CIPHER 176
1329
+ # define EVP_F_AES_INIT_KEY 133
1330
+ # define EVP_F_AES_XTS 172
1331
+ # define EVP_F_AES_XTS_CIPHER 175
1332
+ # define EVP_F_ALG_MODULE_INIT 177
1333
+ # define EVP_F_CAMELLIA_INIT_KEY 159
1334
+ # define EVP_F_CMAC_INIT 173
1335
+ # define EVP_F_D2I_PKEY 100
1336
+ # define EVP_F_DO_SIGVER_INIT 161
1337
+ # define EVP_F_DSAPKEY2PKCS8 134
1338
+ # define EVP_F_DSA_PKEY2PKCS8 135
1339
+ # define EVP_F_ECDSA_PKEY2PKCS8 129
1340
+ # define EVP_F_ECKEY_PKEY2PKCS8 132
1341
+ # define EVP_F_EVP_CIPHERINIT_EX 123
1342
+ # define EVP_F_EVP_CIPHER_CTX_COPY 163
1343
+ # define EVP_F_EVP_CIPHER_CTX_CTRL 124
1344
+ # define EVP_F_EVP_CIPHER_CTX_SET_KEY_LENGTH 122
1345
+ # define EVP_F_EVP_DECRYPTFINAL_EX 101
1346
+ # define EVP_F_EVP_DIGESTINIT_EX 128
1347
+ # define EVP_F_EVP_ENCRYPTFINAL_EX 127
1348
+ # define EVP_F_EVP_MD_CTX_COPY_EX 110
1349
+ # define EVP_F_EVP_MD_SIZE 162
1350
+ # define EVP_F_EVP_OPENINIT 102
1351
+ # define EVP_F_EVP_PBE_ALG_ADD 115
1352
+ # define EVP_F_EVP_PBE_ALG_ADD_TYPE 160
1353
+ # define EVP_F_EVP_PBE_CIPHERINIT 116
1354
+ # define EVP_F_EVP_PKCS82PKEY 111
1355
+ # define EVP_F_EVP_PKCS82PKEY_BROKEN 136
1356
+ # define EVP_F_EVP_PKEY2PKCS8_BROKEN 113
1357
+ # define EVP_F_EVP_PKEY_COPY_PARAMETERS 103
1358
+ # define EVP_F_EVP_PKEY_CTX_CTRL 137
1359
+ # define EVP_F_EVP_PKEY_CTX_CTRL_STR 150
1360
+ # define EVP_F_EVP_PKEY_CTX_DUP 156
1361
+ # define EVP_F_EVP_PKEY_DECRYPT 104
1362
+ # define EVP_F_EVP_PKEY_DECRYPT_INIT 138
1363
+ # define EVP_F_EVP_PKEY_DECRYPT_OLD 151
1364
+ # define EVP_F_EVP_PKEY_DERIVE 153
1365
+ # define EVP_F_EVP_PKEY_DERIVE_INIT 154
1366
+ # define EVP_F_EVP_PKEY_DERIVE_SET_PEER 155
1367
+ # define EVP_F_EVP_PKEY_ENCRYPT 105
1368
+ # define EVP_F_EVP_PKEY_ENCRYPT_INIT 139
1369
+ # define EVP_F_EVP_PKEY_ENCRYPT_OLD 152
1370
+ # define EVP_F_EVP_PKEY_GET1_DH 119
1371
+ # define EVP_F_EVP_PKEY_GET1_DSA 120
1372
+ # define EVP_F_EVP_PKEY_GET1_ECDSA 130
1373
+ # define EVP_F_EVP_PKEY_GET1_EC_KEY 131
1374
+ # define EVP_F_EVP_PKEY_GET1_RSA 121
1375
+ # define EVP_F_EVP_PKEY_KEYGEN 146
1376
+ # define EVP_F_EVP_PKEY_KEYGEN_INIT 147
1377
+ # define EVP_F_EVP_PKEY_NEW 106
1378
+ # define EVP_F_EVP_PKEY_PARAMGEN 148
1379
+ # define EVP_F_EVP_PKEY_PARAMGEN_INIT 149
1380
+ # define EVP_F_EVP_PKEY_SIGN 140
1381
+ # define EVP_F_EVP_PKEY_SIGN_INIT 141
1382
+ # define EVP_F_EVP_PKEY_VERIFY 142
1383
+ # define EVP_F_EVP_PKEY_VERIFY_INIT 143
1384
+ # define EVP_F_EVP_PKEY_VERIFY_RECOVER 144
1385
+ # define EVP_F_EVP_PKEY_VERIFY_RECOVER_INIT 145
1386
+ # define EVP_F_EVP_RIJNDAEL 126
1387
+ # define EVP_F_EVP_SIGNFINAL 107
1388
+ # define EVP_F_EVP_VERIFYFINAL 108
1389
+ # define EVP_F_FIPS_CIPHERINIT 166
1390
+ # define EVP_F_FIPS_CIPHER_CTX_COPY 170
1391
+ # define EVP_F_FIPS_CIPHER_CTX_CTRL 167
1392
+ # define EVP_F_FIPS_CIPHER_CTX_SET_KEY_LENGTH 171
1393
+ # define EVP_F_FIPS_DIGESTINIT 168
1394
+ # define EVP_F_FIPS_MD_CTX_COPY 169
1395
+ # define EVP_F_HMAC_INIT_EX 174
1396
+ # define EVP_F_INT_CTX_NEW 157
1397
+ # define EVP_F_PKCS5_PBE_KEYIVGEN 117
1398
+ # define EVP_F_PKCS5_V2_PBE_KEYIVGEN 118
1399
+ # define EVP_F_PKCS5_V2_PBKDF2_KEYIVGEN 164
1400
+ # define EVP_F_PKCS8_SET_BROKEN 112
1401
+ # define EVP_F_PKEY_SET_TYPE 158
1402
+ # define EVP_F_RC2_MAGIC_TO_METH 109
1403
+ # define EVP_F_RC5_CTRL 125
1404
+
1405
+ /* Reason codes. */
1406
+ # define EVP_R_AES_IV_SETUP_FAILED 162
1407
+ # define EVP_R_AES_KEY_SETUP_FAILED 143
1408
+ # define EVP_R_ASN1_LIB 140
1409
+ # define EVP_R_BAD_BLOCK_LENGTH 136
1410
+ # define EVP_R_BAD_DECRYPT 100
1411
+ # define EVP_R_BAD_KEY_LENGTH 137
1412
+ # define EVP_R_BN_DECODE_ERROR 112
1413
+ # define EVP_R_BN_PUBKEY_ERROR 113
1414
+ # define EVP_R_BUFFER_TOO_SMALL 155
1415
+ # define EVP_R_CAMELLIA_KEY_SETUP_FAILED 157
1416
+ # define EVP_R_CIPHER_PARAMETER_ERROR 122
1417
+ # define EVP_R_COMMAND_NOT_SUPPORTED 147
1418
+ # define EVP_R_CTRL_NOT_IMPLEMENTED 132
1419
+ # define EVP_R_CTRL_OPERATION_NOT_IMPLEMENTED 133
1420
+ # define EVP_R_DATA_NOT_MULTIPLE_OF_BLOCK_LENGTH 138
1421
+ # define EVP_R_DECODE_ERROR 114
1422
+ # define EVP_R_DIFFERENT_KEY_TYPES 101
1423
+ # define EVP_R_DIFFERENT_PARAMETERS 153
1424
+ # define EVP_R_DISABLED_FOR_FIPS 163
1425
+ # define EVP_R_ENCODE_ERROR 115
1426
+ # define EVP_R_ERROR_LOADING_SECTION 165
1427
+ # define EVP_R_ERROR_SETTING_FIPS_MODE 166
1428
+ # define EVP_R_EVP_PBE_CIPHERINIT_ERROR 119
1429
+ # define EVP_R_EXPECTING_AN_RSA_KEY 127
1430
+ # define EVP_R_EXPECTING_A_DH_KEY 128
1431
+ # define EVP_R_EXPECTING_A_DSA_KEY 129
1432
+ # define EVP_R_EXPECTING_A_ECDSA_KEY 141
1433
+ # define EVP_R_EXPECTING_A_EC_KEY 142
1434
+ # define EVP_R_FIPS_MODE_NOT_SUPPORTED 167
1435
+ # define EVP_R_INITIALIZATION_ERROR 134
1436
+ # define EVP_R_INPUT_NOT_INITIALIZED 111
1437
+ # define EVP_R_INVALID_DIGEST 152
1438
+ # define EVP_R_INVALID_FIPS_MODE 168
1439
+ # define EVP_R_INVALID_KEY_LENGTH 130
1440
+ # define EVP_R_INVALID_OPERATION 148
1441
+ # define EVP_R_IV_TOO_LARGE 102
1442
+ # define EVP_R_KEYGEN_FAILURE 120
1443
+ # define EVP_R_MESSAGE_DIGEST_IS_NULL 159
1444
+ # define EVP_R_METHOD_NOT_SUPPORTED 144
1445
+ # define EVP_R_MISSING_PARAMETERS 103
1446
+ # define EVP_R_NO_CIPHER_SET 131
1447
+ # define EVP_R_NO_DEFAULT_DIGEST 158
1448
+ # define EVP_R_NO_DIGEST_SET 139
1449
+ # define EVP_R_NO_DSA_PARAMETERS 116
1450
+ # define EVP_R_NO_KEY_SET 154
1451
+ # define EVP_R_NO_OPERATION_SET 149
1452
+ # define EVP_R_NO_SIGN_FUNCTION_CONFIGURED 104
1453
+ # define EVP_R_NO_VERIFY_FUNCTION_CONFIGURED 105
1454
+ # define EVP_R_OPERATION_NOT_SUPPORTED_FOR_THIS_KEYTYPE 150
1455
+ # define EVP_R_OPERATON_NOT_INITIALIZED 151
1456
+ # define EVP_R_PKCS8_UNKNOWN_BROKEN_TYPE 117
1457
+ # define EVP_R_PRIVATE_KEY_DECODE_ERROR 145
1458
+ # define EVP_R_PRIVATE_KEY_ENCODE_ERROR 146
1459
+ # define EVP_R_PUBLIC_KEY_NOT_RSA 106
1460
+ # define EVP_R_TOO_LARGE 164
1461
+ # define EVP_R_UNKNOWN_CIPHER 160
1462
+ # define EVP_R_UNKNOWN_DIGEST 161
1463
+ # define EVP_R_UNKNOWN_OPTION 169
1464
+ # define EVP_R_UNKNOWN_PBE_ALGORITHM 121
1465
+ # define EVP_R_UNSUPORTED_NUMBER_OF_ROUNDS 135
1466
+ # define EVP_R_UNSUPPORTED_ALGORITHM 156
1467
+ # define EVP_R_UNSUPPORTED_CIPHER 107
1468
+ # define EVP_R_UNSUPPORTED_KEYLENGTH 123
1469
+ # define EVP_R_UNSUPPORTED_KEY_DERIVATION_FUNCTION 124
1470
+ # define EVP_R_UNSUPPORTED_KEY_SIZE 108
1471
+ # define EVP_R_UNSUPPORTED_PRF 125
1472
+ # define EVP_R_UNSUPPORTED_PRIVATE_KEY_ALGORITHM 118
1473
+ # define EVP_R_UNSUPPORTED_SALT_TYPE 126
1474
+ # define EVP_R_WRONG_FINAL_BLOCK_LENGTH 109
1475
+ # define EVP_R_WRONG_PUBLIC_KEY_TYPE 110
1476
+
1477
+ #ifdef __cplusplus
1478
+ }
1479
+ #endif
1480
+ #endif