openssl_arginfo.h 26 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568
  1. /* This is a generated file, edit the .stub.php file instead.
  2. * Stub hash: b820bb89ed3a0612473de268b057663ee237f876 */
  3. ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_openssl_x509_export_to_file, 0, 2, _IS_BOOL, 0)
  4. ZEND_ARG_OBJ_TYPE_MASK(0, certificate, OpenSSLCertificate, MAY_BE_STRING, NULL)
  5. ZEND_ARG_TYPE_INFO(0, output_filename, IS_STRING, 0)
  6. ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, no_text, _IS_BOOL, 0, "true")
  7. ZEND_END_ARG_INFO()
  8. ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_openssl_x509_export, 0, 2, _IS_BOOL, 0)
  9. ZEND_ARG_OBJ_TYPE_MASK(0, certificate, OpenSSLCertificate, MAY_BE_STRING, NULL)
  10. ZEND_ARG_INFO(1, output)
  11. ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, no_text, _IS_BOOL, 0, "true")
  12. ZEND_END_ARG_INFO()
  13. ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_openssl_x509_fingerprint, 0, 1, MAY_BE_STRING|MAY_BE_FALSE)
  14. ZEND_ARG_OBJ_TYPE_MASK(0, certificate, OpenSSLCertificate, MAY_BE_STRING, NULL)
  15. ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, digest_algo, IS_STRING, 0, "\"sha1\"")
  16. ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, binary, _IS_BOOL, 0, "false")
  17. ZEND_END_ARG_INFO()
  18. ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_openssl_x509_check_private_key, 0, 2, _IS_BOOL, 0)
  19. ZEND_ARG_OBJ_TYPE_MASK(0, certificate, OpenSSLCertificate, MAY_BE_STRING, NULL)
  20. ZEND_ARG_INFO(0, private_key)
  21. ZEND_END_ARG_INFO()
  22. ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_openssl_x509_verify, 0, 2, IS_LONG, 0)
  23. ZEND_ARG_OBJ_TYPE_MASK(0, certificate, OpenSSLCertificate, MAY_BE_STRING, NULL)
  24. ZEND_ARG_INFO(0, public_key)
  25. ZEND_END_ARG_INFO()
  26. ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_openssl_x509_parse, 0, 1, MAY_BE_ARRAY|MAY_BE_FALSE)
  27. ZEND_ARG_OBJ_TYPE_MASK(0, certificate, OpenSSLCertificate, MAY_BE_STRING, NULL)
  28. ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, short_names, _IS_BOOL, 0, "true")
  29. ZEND_END_ARG_INFO()
  30. ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_openssl_x509_checkpurpose, 0, 2, MAY_BE_BOOL|MAY_BE_LONG)
  31. ZEND_ARG_OBJ_TYPE_MASK(0, certificate, OpenSSLCertificate, MAY_BE_STRING, NULL)
  32. ZEND_ARG_TYPE_INFO(0, purpose, IS_LONG, 0)
  33. ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, ca_info, IS_ARRAY, 0, "[]")
  34. ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, untrusted_certificates_file, IS_STRING, 1, "null")
  35. ZEND_END_ARG_INFO()
  36. ZEND_BEGIN_ARG_WITH_RETURN_OBJ_TYPE_MASK_EX(arginfo_openssl_x509_read, 0, 1, OpenSSLCertificate, MAY_BE_FALSE)
  37. ZEND_ARG_OBJ_TYPE_MASK(0, certificate, OpenSSLCertificate, MAY_BE_STRING, NULL)
  38. ZEND_END_ARG_INFO()
  39. ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_openssl_x509_free, 0, 1, IS_VOID, 0)
  40. ZEND_ARG_OBJ_INFO(0, certificate, OpenSSLCertificate, 0)
  41. ZEND_END_ARG_INFO()
  42. ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_openssl_pkcs12_export_to_file, 0, 4, _IS_BOOL, 0)
  43. ZEND_ARG_OBJ_TYPE_MASK(0, certificate, OpenSSLCertificate, MAY_BE_STRING, NULL)
  44. ZEND_ARG_TYPE_INFO(0, output_filename, IS_STRING, 0)
  45. ZEND_ARG_INFO(0, private_key)
  46. ZEND_ARG_TYPE_INFO(0, passphrase, IS_STRING, 0)
  47. ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, options, IS_ARRAY, 0, "[]")
  48. ZEND_END_ARG_INFO()
  49. ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_openssl_pkcs12_export, 0, 4, _IS_BOOL, 0)
  50. ZEND_ARG_OBJ_TYPE_MASK(0, certificate, OpenSSLCertificate, MAY_BE_STRING, NULL)
  51. ZEND_ARG_INFO(1, output)
  52. ZEND_ARG_INFO(0, private_key)
  53. ZEND_ARG_TYPE_INFO(0, passphrase, IS_STRING, 0)
  54. ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, options, IS_ARRAY, 0, "[]")
  55. ZEND_END_ARG_INFO()
  56. ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_openssl_pkcs12_read, 0, 3, _IS_BOOL, 0)
  57. ZEND_ARG_TYPE_INFO(0, pkcs12, IS_STRING, 0)
  58. ZEND_ARG_INFO(1, certificates)
  59. ZEND_ARG_TYPE_INFO(0, passphrase, IS_STRING, 0)
  60. ZEND_END_ARG_INFO()
  61. ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_openssl_csr_export_to_file, 0, 2, _IS_BOOL, 0)
  62. ZEND_ARG_OBJ_TYPE_MASK(0, csr, OpenSSLCertificateSigningRequest, MAY_BE_STRING, NULL)
  63. ZEND_ARG_TYPE_INFO(0, output_filename, IS_STRING, 0)
  64. ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, no_text, _IS_BOOL, 0, "true")
  65. ZEND_END_ARG_INFO()
  66. ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_openssl_csr_export, 0, 2, _IS_BOOL, 0)
  67. ZEND_ARG_OBJ_TYPE_MASK(0, csr, OpenSSLCertificateSigningRequest, MAY_BE_STRING, NULL)
  68. ZEND_ARG_INFO(1, output)
  69. ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, no_text, _IS_BOOL, 0, "true")
  70. ZEND_END_ARG_INFO()
  71. ZEND_BEGIN_ARG_WITH_RETURN_OBJ_TYPE_MASK_EX(arginfo_openssl_csr_sign, 0, 4, OpenSSLCertificate, MAY_BE_FALSE)
  72. ZEND_ARG_OBJ_TYPE_MASK(0, csr, OpenSSLCertificateSigningRequest, MAY_BE_STRING, NULL)
  73. ZEND_ARG_OBJ_TYPE_MASK(0, ca_certificate, OpenSSLCertificate, MAY_BE_STRING|MAY_BE_NULL, NULL)
  74. ZEND_ARG_INFO(0, private_key)
  75. ZEND_ARG_TYPE_INFO(0, days, IS_LONG, 0)
  76. ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, options, IS_ARRAY, 1, "null")
  77. ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, serial, IS_LONG, 0, "0")
  78. ZEND_END_ARG_INFO()
  79. ZEND_BEGIN_ARG_WITH_RETURN_OBJ_TYPE_MASK_EX(arginfo_openssl_csr_new, 0, 2, OpenSSLCertificateSigningRequest, MAY_BE_FALSE)
  80. ZEND_ARG_TYPE_INFO(0, distinguished_names, IS_ARRAY, 0)
  81. ZEND_ARG_INFO(1, private_key)
  82. ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, options, IS_ARRAY, 1, "null")
  83. ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, extra_attributes, IS_ARRAY, 1, "null")
  84. ZEND_END_ARG_INFO()
  85. ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_openssl_csr_get_subject, 0, 1, MAY_BE_ARRAY|MAY_BE_FALSE)
  86. ZEND_ARG_OBJ_TYPE_MASK(0, csr, OpenSSLCertificateSigningRequest, MAY_BE_STRING, NULL)
  87. ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, short_names, _IS_BOOL, 0, "true")
  88. ZEND_END_ARG_INFO()
  89. ZEND_BEGIN_ARG_WITH_RETURN_OBJ_TYPE_MASK_EX(arginfo_openssl_csr_get_public_key, 0, 1, OpenSSLAsymmetricKey, MAY_BE_FALSE)
  90. ZEND_ARG_OBJ_TYPE_MASK(0, csr, OpenSSLCertificateSigningRequest, MAY_BE_STRING, NULL)
  91. ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, short_names, _IS_BOOL, 0, "true")
  92. ZEND_END_ARG_INFO()
  93. ZEND_BEGIN_ARG_WITH_RETURN_OBJ_TYPE_MASK_EX(arginfo_openssl_pkey_new, 0, 0, OpenSSLAsymmetricKey, MAY_BE_FALSE)
  94. ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, options, IS_ARRAY, 1, "null")
  95. ZEND_END_ARG_INFO()
  96. ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_openssl_pkey_export_to_file, 0, 2, _IS_BOOL, 0)
  97. ZEND_ARG_INFO(0, key)
  98. ZEND_ARG_TYPE_INFO(0, output_filename, IS_STRING, 0)
  99. ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, passphrase, IS_STRING, 1, "null")
  100. ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, options, IS_ARRAY, 1, "null")
  101. ZEND_END_ARG_INFO()
  102. ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_openssl_pkey_export, 0, 2, _IS_BOOL, 0)
  103. ZEND_ARG_INFO(0, key)
  104. ZEND_ARG_INFO(1, output)
  105. ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, passphrase, IS_STRING, 1, "null")
  106. ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, options, IS_ARRAY, 1, "null")
  107. ZEND_END_ARG_INFO()
  108. ZEND_BEGIN_ARG_WITH_RETURN_OBJ_TYPE_MASK_EX(arginfo_openssl_pkey_get_public, 0, 1, OpenSSLAsymmetricKey, MAY_BE_FALSE)
  109. ZEND_ARG_INFO(0, public_key)
  110. ZEND_END_ARG_INFO()
  111. #define arginfo_openssl_get_publickey arginfo_openssl_pkey_get_public
  112. ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_openssl_pkey_free, 0, 1, IS_VOID, 0)
  113. ZEND_ARG_OBJ_INFO(0, key, OpenSSLAsymmetricKey, 0)
  114. ZEND_END_ARG_INFO()
  115. #define arginfo_openssl_free_key arginfo_openssl_pkey_free
  116. ZEND_BEGIN_ARG_WITH_RETURN_OBJ_TYPE_MASK_EX(arginfo_openssl_pkey_get_private, 0, 1, OpenSSLAsymmetricKey, MAY_BE_FALSE)
  117. ZEND_ARG_INFO(0, private_key)
  118. ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, passphrase, IS_STRING, 1, "null")
  119. ZEND_END_ARG_INFO()
  120. #define arginfo_openssl_get_privatekey arginfo_openssl_pkey_get_private
  121. ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_openssl_pkey_get_details, 0, 1, MAY_BE_ARRAY|MAY_BE_FALSE)
  122. ZEND_ARG_OBJ_INFO(0, key, OpenSSLAsymmetricKey, 0)
  123. ZEND_END_ARG_INFO()
  124. ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_openssl_pbkdf2, 0, 4, MAY_BE_STRING|MAY_BE_FALSE)
  125. ZEND_ARG_TYPE_INFO(0, password, IS_STRING, 0)
  126. ZEND_ARG_TYPE_INFO(0, salt, IS_STRING, 0)
  127. ZEND_ARG_TYPE_INFO(0, key_length, IS_LONG, 0)
  128. ZEND_ARG_TYPE_INFO(0, iterations, IS_LONG, 0)
  129. ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, digest_algo, IS_STRING, 0, "\"sha1\"")
  130. ZEND_END_ARG_INFO()
  131. ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_openssl_pkcs7_verify, 0, 2, MAY_BE_BOOL|MAY_BE_LONG)
  132. ZEND_ARG_TYPE_INFO(0, input_filename, IS_STRING, 0)
  133. ZEND_ARG_TYPE_INFO(0, flags, IS_LONG, 0)
  134. ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, signers_certificates_filename, IS_STRING, 1, "null")
  135. ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, ca_info, IS_ARRAY, 0, "[]")
  136. ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, untrusted_certificates_filename, IS_STRING, 1, "null")
  137. ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, content, IS_STRING, 1, "null")
  138. ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, output_filename, IS_STRING, 1, "null")
  139. ZEND_END_ARG_INFO()
  140. ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_openssl_pkcs7_encrypt, 0, 4, _IS_BOOL, 0)
  141. ZEND_ARG_TYPE_INFO(0, input_filename, IS_STRING, 0)
  142. ZEND_ARG_TYPE_INFO(0, output_filename, IS_STRING, 0)
  143. ZEND_ARG_INFO(0, certificate)
  144. ZEND_ARG_TYPE_INFO(0, headers, IS_ARRAY, 1)
  145. ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, flags, IS_LONG, 0, "0")
  146. ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, cipher_algo, IS_LONG, 0, "OPENSSL_CIPHER_AES_128_CBC")
  147. ZEND_END_ARG_INFO()
  148. ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_openssl_pkcs7_sign, 0, 5, _IS_BOOL, 0)
  149. ZEND_ARG_TYPE_INFO(0, input_filename, IS_STRING, 0)
  150. ZEND_ARG_TYPE_INFO(0, output_filename, IS_STRING, 0)
  151. ZEND_ARG_OBJ_TYPE_MASK(0, certificate, OpenSSLCertificate, MAY_BE_STRING, NULL)
  152. ZEND_ARG_INFO(0, private_key)
  153. ZEND_ARG_TYPE_INFO(0, headers, IS_ARRAY, 1)
  154. ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, flags, IS_LONG, 0, "PKCS7_DETACHED")
  155. ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, untrusted_certificates_filename, IS_STRING, 1, "null")
  156. ZEND_END_ARG_INFO()
  157. ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_openssl_pkcs7_decrypt, 0, 3, _IS_BOOL, 0)
  158. ZEND_ARG_TYPE_INFO(0, input_filename, IS_STRING, 0)
  159. ZEND_ARG_TYPE_INFO(0, output_filename, IS_STRING, 0)
  160. ZEND_ARG_INFO(0, certificate)
  161. ZEND_ARG_INFO_WITH_DEFAULT_VALUE(0, private_key, "null")
  162. ZEND_END_ARG_INFO()
  163. ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_openssl_pkcs7_read, 0, 2, _IS_BOOL, 0)
  164. ZEND_ARG_TYPE_INFO(0, data, IS_STRING, 0)
  165. ZEND_ARG_INFO(1, certificates)
  166. ZEND_END_ARG_INFO()
  167. ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_openssl_cms_verify, 0, 1, _IS_BOOL, 0)
  168. ZEND_ARG_TYPE_INFO(0, input_filename, IS_STRING, 0)
  169. ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, flags, IS_LONG, 0, "0")
  170. ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, certificates, IS_STRING, 1, "null")
  171. ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, ca_info, IS_ARRAY, 0, "[]")
  172. ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, untrusted_certificates_filename, IS_STRING, 1, "null")
  173. ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, content, IS_STRING, 1, "null")
  174. ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, pk7, IS_STRING, 1, "null")
  175. ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, sigfile, IS_STRING, 1, "null")
  176. ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, encoding, IS_LONG, 0, "OPENSSL_ENCODING_SMIME")
  177. ZEND_END_ARG_INFO()
  178. ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_openssl_cms_encrypt, 0, 4, _IS_BOOL, 0)
  179. ZEND_ARG_TYPE_INFO(0, input_filename, IS_STRING, 0)
  180. ZEND_ARG_TYPE_INFO(0, output_filename, IS_STRING, 0)
  181. ZEND_ARG_INFO(0, certificate)
  182. ZEND_ARG_TYPE_INFO(0, headers, IS_ARRAY, 1)
  183. ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, flags, IS_LONG, 0, "0")
  184. ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, encoding, IS_LONG, 0, "OPENSSL_ENCODING_SMIME")
  185. ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, cipher_algo, IS_LONG, 0, "OPENSSL_CIPHER_AES_128_CBC")
  186. ZEND_END_ARG_INFO()
  187. ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_openssl_cms_sign, 0, 5, _IS_BOOL, 0)
  188. ZEND_ARG_TYPE_INFO(0, input_filename, IS_STRING, 0)
  189. ZEND_ARG_TYPE_INFO(0, output_filename, IS_STRING, 0)
  190. ZEND_ARG_OBJ_TYPE_MASK(0, certificate, OpenSSLCertificate, MAY_BE_STRING, NULL)
  191. ZEND_ARG_INFO(0, private_key)
  192. ZEND_ARG_TYPE_INFO(0, headers, IS_ARRAY, 1)
  193. ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, flags, IS_LONG, 0, "0")
  194. ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, encoding, IS_LONG, 0, "OPENSSL_ENCODING_SMIME")
  195. ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, untrusted_certificates_filename, IS_STRING, 1, "null")
  196. ZEND_END_ARG_INFO()
  197. ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_openssl_cms_decrypt, 0, 3, _IS_BOOL, 0)
  198. ZEND_ARG_TYPE_INFO(0, input_filename, IS_STRING, 0)
  199. ZEND_ARG_TYPE_INFO(0, output_filename, IS_STRING, 0)
  200. ZEND_ARG_INFO(0, certificate)
  201. ZEND_ARG_INFO_WITH_DEFAULT_VALUE(0, private_key, "null")
  202. ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, encoding, IS_LONG, 0, "OPENSSL_ENCODING_SMIME")
  203. ZEND_END_ARG_INFO()
  204. ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_openssl_cms_read, 0, 2, _IS_BOOL, 0)
  205. ZEND_ARG_TYPE_INFO(0, input_filename, IS_STRING, 0)
  206. ZEND_ARG_INFO(1, certificates)
  207. ZEND_END_ARG_INFO()
  208. ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_openssl_private_encrypt, 0, 3, _IS_BOOL, 0)
  209. ZEND_ARG_TYPE_INFO(0, data, IS_STRING, 0)
  210. ZEND_ARG_INFO(1, encrypted_data)
  211. ZEND_ARG_INFO(0, private_key)
  212. ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, padding, IS_LONG, 0, "OPENSSL_PKCS1_PADDING")
  213. ZEND_END_ARG_INFO()
  214. ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_openssl_private_decrypt, 0, 3, _IS_BOOL, 0)
  215. ZEND_ARG_TYPE_INFO(0, data, IS_STRING, 0)
  216. ZEND_ARG_INFO(1, decrypted_data)
  217. ZEND_ARG_INFO(0, private_key)
  218. ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, padding, IS_LONG, 0, "OPENSSL_PKCS1_PADDING")
  219. ZEND_END_ARG_INFO()
  220. ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_openssl_public_encrypt, 0, 3, _IS_BOOL, 0)
  221. ZEND_ARG_TYPE_INFO(0, data, IS_STRING, 0)
  222. ZEND_ARG_INFO(1, encrypted_data)
  223. ZEND_ARG_INFO(0, public_key)
  224. ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, padding, IS_LONG, 0, "OPENSSL_PKCS1_PADDING")
  225. ZEND_END_ARG_INFO()
  226. ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_openssl_public_decrypt, 0, 3, _IS_BOOL, 0)
  227. ZEND_ARG_TYPE_INFO(0, data, IS_STRING, 0)
  228. ZEND_ARG_INFO(1, decrypted_data)
  229. ZEND_ARG_INFO(0, public_key)
  230. ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, padding, IS_LONG, 0, "OPENSSL_PKCS1_PADDING")
  231. ZEND_END_ARG_INFO()
  232. ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_openssl_error_string, 0, 0, MAY_BE_STRING|MAY_BE_FALSE)
  233. ZEND_END_ARG_INFO()
  234. ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_openssl_sign, 0, 3, _IS_BOOL, 0)
  235. ZEND_ARG_TYPE_INFO(0, data, IS_STRING, 0)
  236. ZEND_ARG_INFO(1, signature)
  237. ZEND_ARG_INFO(0, private_key)
  238. ZEND_ARG_TYPE_MASK(0, algorithm, MAY_BE_STRING|MAY_BE_LONG, "OPENSSL_ALGO_SHA1")
  239. ZEND_END_ARG_INFO()
  240. ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_openssl_verify, 0, 3, MAY_BE_LONG|MAY_BE_FALSE)
  241. ZEND_ARG_TYPE_INFO(0, data, IS_STRING, 0)
  242. ZEND_ARG_TYPE_INFO(0, signature, IS_STRING, 0)
  243. ZEND_ARG_INFO(0, public_key)
  244. ZEND_ARG_TYPE_MASK(0, algorithm, MAY_BE_STRING|MAY_BE_LONG, "OPENSSL_ALGO_SHA1")
  245. ZEND_END_ARG_INFO()
  246. ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_openssl_seal, 0, 5, MAY_BE_LONG|MAY_BE_FALSE)
  247. ZEND_ARG_TYPE_INFO(0, data, IS_STRING, 0)
  248. ZEND_ARG_INFO(1, sealed_data)
  249. ZEND_ARG_INFO(1, encrypted_keys)
  250. ZEND_ARG_TYPE_INFO(0, public_key, IS_ARRAY, 0)
  251. ZEND_ARG_TYPE_INFO(0, cipher_algo, IS_STRING, 0)
  252. ZEND_ARG_INFO_WITH_DEFAULT_VALUE(1, iv, "null")
  253. ZEND_END_ARG_INFO()
  254. ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_openssl_open, 0, 5, _IS_BOOL, 0)
  255. ZEND_ARG_TYPE_INFO(0, data, IS_STRING, 0)
  256. ZEND_ARG_INFO(1, output)
  257. ZEND_ARG_TYPE_INFO(0, encrypted_key, IS_STRING, 0)
  258. ZEND_ARG_INFO(0, private_key)
  259. ZEND_ARG_TYPE_INFO(0, cipher_algo, IS_STRING, 0)
  260. ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, iv, IS_STRING, 1, "null")
  261. ZEND_END_ARG_INFO()
  262. ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_openssl_get_md_methods, 0, 0, IS_ARRAY, 0)
  263. ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, aliases, _IS_BOOL, 0, "false")
  264. ZEND_END_ARG_INFO()
  265. #define arginfo_openssl_get_cipher_methods arginfo_openssl_get_md_methods
  266. #if defined(HAVE_EVP_PKEY_EC)
  267. ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_openssl_get_curve_names, 0, 0, MAY_BE_ARRAY|MAY_BE_FALSE)
  268. ZEND_END_ARG_INFO()
  269. #endif
  270. ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_openssl_digest, 0, 2, MAY_BE_STRING|MAY_BE_FALSE)
  271. ZEND_ARG_TYPE_INFO(0, data, IS_STRING, 0)
  272. ZEND_ARG_TYPE_INFO(0, digest_algo, IS_STRING, 0)
  273. ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, binary, _IS_BOOL, 0, "false")
  274. ZEND_END_ARG_INFO()
  275. ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_openssl_encrypt, 0, 3, MAY_BE_STRING|MAY_BE_FALSE)
  276. ZEND_ARG_TYPE_INFO(0, data, IS_STRING, 0)
  277. ZEND_ARG_TYPE_INFO(0, cipher_algo, IS_STRING, 0)
  278. ZEND_ARG_TYPE_INFO(0, passphrase, IS_STRING, 0)
  279. ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, options, IS_LONG, 0, "0")
  280. ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, iv, IS_STRING, 0, "\"\"")
  281. ZEND_ARG_INFO_WITH_DEFAULT_VALUE(1, tag, "null")
  282. ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, aad, IS_STRING, 0, "\"\"")
  283. ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, tag_length, IS_LONG, 0, "16")
  284. ZEND_END_ARG_INFO()
  285. ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_openssl_decrypt, 0, 3, MAY_BE_STRING|MAY_BE_FALSE)
  286. ZEND_ARG_TYPE_INFO(0, data, IS_STRING, 0)
  287. ZEND_ARG_TYPE_INFO(0, cipher_algo, IS_STRING, 0)
  288. ZEND_ARG_TYPE_INFO(0, passphrase, IS_STRING, 0)
  289. ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, options, IS_LONG, 0, "0")
  290. ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, iv, IS_STRING, 0, "\"\"")
  291. ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, tag, IS_STRING, 1, "null")
  292. ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, aad, IS_STRING, 0, "\"\"")
  293. ZEND_END_ARG_INFO()
  294. ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_openssl_cipher_iv_length, 0, 1, MAY_BE_LONG|MAY_BE_FALSE)
  295. ZEND_ARG_TYPE_INFO(0, cipher_algo, IS_STRING, 0)
  296. ZEND_END_ARG_INFO()
  297. ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_openssl_dh_compute_key, 0, 2, MAY_BE_STRING|MAY_BE_FALSE)
  298. ZEND_ARG_TYPE_INFO(0, public_key, IS_STRING, 0)
  299. ZEND_ARG_OBJ_INFO(0, private_key, OpenSSLAsymmetricKey, 0)
  300. ZEND_END_ARG_INFO()
  301. ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_openssl_pkey_derive, 0, 2, MAY_BE_STRING|MAY_BE_FALSE)
  302. ZEND_ARG_INFO(0, public_key)
  303. ZEND_ARG_INFO(0, private_key)
  304. ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, key_length, IS_LONG, 0, "0")
  305. ZEND_END_ARG_INFO()
  306. ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_openssl_random_pseudo_bytes, 0, 1, IS_STRING, 0)
  307. ZEND_ARG_TYPE_INFO(0, length, IS_LONG, 0)
  308. ZEND_ARG_INFO_WITH_DEFAULT_VALUE(1, strong_result, "null")
  309. ZEND_END_ARG_INFO()
  310. ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_openssl_spki_new, 0, 2, MAY_BE_STRING|MAY_BE_FALSE)
  311. ZEND_ARG_OBJ_INFO(0, private_key, OpenSSLAsymmetricKey, 0)
  312. ZEND_ARG_TYPE_INFO(0, challenge, IS_STRING, 0)
  313. ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, digest_algo, IS_LONG, 0, "OPENSSL_ALGO_MD5")
  314. ZEND_END_ARG_INFO()
  315. ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_openssl_spki_verify, 0, 1, _IS_BOOL, 0)
  316. ZEND_ARG_TYPE_INFO(0, spki, IS_STRING, 0)
  317. ZEND_END_ARG_INFO()
  318. ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_openssl_spki_export, 0, 1, MAY_BE_STRING|MAY_BE_FALSE)
  319. ZEND_ARG_TYPE_INFO(0, spki, IS_STRING, 0)
  320. ZEND_END_ARG_INFO()
  321. #define arginfo_openssl_spki_export_challenge arginfo_openssl_spki_export
  322. ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_openssl_get_cert_locations, 0, 0, IS_ARRAY, 0)
  323. ZEND_END_ARG_INFO()
  324. ZEND_FUNCTION(openssl_x509_export_to_file);
  325. ZEND_FUNCTION(openssl_x509_export);
  326. ZEND_FUNCTION(openssl_x509_fingerprint);
  327. ZEND_FUNCTION(openssl_x509_check_private_key);
  328. ZEND_FUNCTION(openssl_x509_verify);
  329. ZEND_FUNCTION(openssl_x509_parse);
  330. ZEND_FUNCTION(openssl_x509_checkpurpose);
  331. ZEND_FUNCTION(openssl_x509_read);
  332. ZEND_FUNCTION(openssl_x509_free);
  333. ZEND_FUNCTION(openssl_pkcs12_export_to_file);
  334. ZEND_FUNCTION(openssl_pkcs12_export);
  335. ZEND_FUNCTION(openssl_pkcs12_read);
  336. ZEND_FUNCTION(openssl_csr_export_to_file);
  337. ZEND_FUNCTION(openssl_csr_export);
  338. ZEND_FUNCTION(openssl_csr_sign);
  339. ZEND_FUNCTION(openssl_csr_new);
  340. ZEND_FUNCTION(openssl_csr_get_subject);
  341. ZEND_FUNCTION(openssl_csr_get_public_key);
  342. ZEND_FUNCTION(openssl_pkey_new);
  343. ZEND_FUNCTION(openssl_pkey_export_to_file);
  344. ZEND_FUNCTION(openssl_pkey_export);
  345. ZEND_FUNCTION(openssl_pkey_get_public);
  346. ZEND_FUNCTION(openssl_pkey_free);
  347. ZEND_FUNCTION(openssl_pkey_get_private);
  348. ZEND_FUNCTION(openssl_pkey_get_details);
  349. ZEND_FUNCTION(openssl_pbkdf2);
  350. ZEND_FUNCTION(openssl_pkcs7_verify);
  351. ZEND_FUNCTION(openssl_pkcs7_encrypt);
  352. ZEND_FUNCTION(openssl_pkcs7_sign);
  353. ZEND_FUNCTION(openssl_pkcs7_decrypt);
  354. ZEND_FUNCTION(openssl_pkcs7_read);
  355. ZEND_FUNCTION(openssl_cms_verify);
  356. ZEND_FUNCTION(openssl_cms_encrypt);
  357. ZEND_FUNCTION(openssl_cms_sign);
  358. ZEND_FUNCTION(openssl_cms_decrypt);
  359. ZEND_FUNCTION(openssl_cms_read);
  360. ZEND_FUNCTION(openssl_private_encrypt);
  361. ZEND_FUNCTION(openssl_private_decrypt);
  362. ZEND_FUNCTION(openssl_public_encrypt);
  363. ZEND_FUNCTION(openssl_public_decrypt);
  364. ZEND_FUNCTION(openssl_error_string);
  365. ZEND_FUNCTION(openssl_sign);
  366. ZEND_FUNCTION(openssl_verify);
  367. ZEND_FUNCTION(openssl_seal);
  368. ZEND_FUNCTION(openssl_open);
  369. ZEND_FUNCTION(openssl_get_md_methods);
  370. ZEND_FUNCTION(openssl_get_cipher_methods);
  371. #if defined(HAVE_EVP_PKEY_EC)
  372. ZEND_FUNCTION(openssl_get_curve_names);
  373. #endif
  374. ZEND_FUNCTION(openssl_digest);
  375. ZEND_FUNCTION(openssl_encrypt);
  376. ZEND_FUNCTION(openssl_decrypt);
  377. ZEND_FUNCTION(openssl_cipher_iv_length);
  378. ZEND_FUNCTION(openssl_dh_compute_key);
  379. ZEND_FUNCTION(openssl_pkey_derive);
  380. ZEND_FUNCTION(openssl_random_pseudo_bytes);
  381. ZEND_FUNCTION(openssl_spki_new);
  382. ZEND_FUNCTION(openssl_spki_verify);
  383. ZEND_FUNCTION(openssl_spki_export);
  384. ZEND_FUNCTION(openssl_spki_export_challenge);
  385. ZEND_FUNCTION(openssl_get_cert_locations);
  386. static const zend_function_entry ext_functions[] = {
  387. ZEND_FE(openssl_x509_export_to_file, arginfo_openssl_x509_export_to_file)
  388. ZEND_FE(openssl_x509_export, arginfo_openssl_x509_export)
  389. ZEND_FE(openssl_x509_fingerprint, arginfo_openssl_x509_fingerprint)
  390. ZEND_FE(openssl_x509_check_private_key, arginfo_openssl_x509_check_private_key)
  391. ZEND_FE(openssl_x509_verify, arginfo_openssl_x509_verify)
  392. ZEND_FE(openssl_x509_parse, arginfo_openssl_x509_parse)
  393. ZEND_FE(openssl_x509_checkpurpose, arginfo_openssl_x509_checkpurpose)
  394. ZEND_FE(openssl_x509_read, arginfo_openssl_x509_read)
  395. ZEND_DEP_FE(openssl_x509_free, arginfo_openssl_x509_free)
  396. ZEND_FE(openssl_pkcs12_export_to_file, arginfo_openssl_pkcs12_export_to_file)
  397. ZEND_FE(openssl_pkcs12_export, arginfo_openssl_pkcs12_export)
  398. ZEND_FE(openssl_pkcs12_read, arginfo_openssl_pkcs12_read)
  399. ZEND_FE(openssl_csr_export_to_file, arginfo_openssl_csr_export_to_file)
  400. ZEND_FE(openssl_csr_export, arginfo_openssl_csr_export)
  401. ZEND_FE(openssl_csr_sign, arginfo_openssl_csr_sign)
  402. ZEND_FE(openssl_csr_new, arginfo_openssl_csr_new)
  403. ZEND_FE(openssl_csr_get_subject, arginfo_openssl_csr_get_subject)
  404. ZEND_FE(openssl_csr_get_public_key, arginfo_openssl_csr_get_public_key)
  405. ZEND_FE(openssl_pkey_new, arginfo_openssl_pkey_new)
  406. ZEND_FE(openssl_pkey_export_to_file, arginfo_openssl_pkey_export_to_file)
  407. ZEND_FE(openssl_pkey_export, arginfo_openssl_pkey_export)
  408. ZEND_FE(openssl_pkey_get_public, arginfo_openssl_pkey_get_public)
  409. ZEND_FALIAS(openssl_get_publickey, openssl_pkey_get_public, arginfo_openssl_get_publickey)
  410. ZEND_DEP_FE(openssl_pkey_free, arginfo_openssl_pkey_free)
  411. ZEND_DEP_FALIAS(openssl_free_key, openssl_pkey_free, arginfo_openssl_free_key)
  412. ZEND_FE(openssl_pkey_get_private, arginfo_openssl_pkey_get_private)
  413. ZEND_FALIAS(openssl_get_privatekey, openssl_pkey_get_private, arginfo_openssl_get_privatekey)
  414. ZEND_FE(openssl_pkey_get_details, arginfo_openssl_pkey_get_details)
  415. ZEND_FE(openssl_pbkdf2, arginfo_openssl_pbkdf2)
  416. ZEND_FE(openssl_pkcs7_verify, arginfo_openssl_pkcs7_verify)
  417. ZEND_FE(openssl_pkcs7_encrypt, arginfo_openssl_pkcs7_encrypt)
  418. ZEND_FE(openssl_pkcs7_sign, arginfo_openssl_pkcs7_sign)
  419. ZEND_FE(openssl_pkcs7_decrypt, arginfo_openssl_pkcs7_decrypt)
  420. ZEND_FE(openssl_pkcs7_read, arginfo_openssl_pkcs7_read)
  421. ZEND_FE(openssl_cms_verify, arginfo_openssl_cms_verify)
  422. ZEND_FE(openssl_cms_encrypt, arginfo_openssl_cms_encrypt)
  423. ZEND_FE(openssl_cms_sign, arginfo_openssl_cms_sign)
  424. ZEND_FE(openssl_cms_decrypt, arginfo_openssl_cms_decrypt)
  425. ZEND_FE(openssl_cms_read, arginfo_openssl_cms_read)
  426. ZEND_FE(openssl_private_encrypt, arginfo_openssl_private_encrypt)
  427. ZEND_FE(openssl_private_decrypt, arginfo_openssl_private_decrypt)
  428. ZEND_FE(openssl_public_encrypt, arginfo_openssl_public_encrypt)
  429. ZEND_FE(openssl_public_decrypt, arginfo_openssl_public_decrypt)
  430. ZEND_FE(openssl_error_string, arginfo_openssl_error_string)
  431. ZEND_FE(openssl_sign, arginfo_openssl_sign)
  432. ZEND_FE(openssl_verify, arginfo_openssl_verify)
  433. ZEND_FE(openssl_seal, arginfo_openssl_seal)
  434. ZEND_FE(openssl_open, arginfo_openssl_open)
  435. ZEND_FE(openssl_get_md_methods, arginfo_openssl_get_md_methods)
  436. ZEND_FE(openssl_get_cipher_methods, arginfo_openssl_get_cipher_methods)
  437. #if defined(HAVE_EVP_PKEY_EC)
  438. ZEND_FE(openssl_get_curve_names, arginfo_openssl_get_curve_names)
  439. #endif
  440. ZEND_FE(openssl_digest, arginfo_openssl_digest)
  441. ZEND_FE(openssl_encrypt, arginfo_openssl_encrypt)
  442. ZEND_FE(openssl_decrypt, arginfo_openssl_decrypt)
  443. ZEND_FE(openssl_cipher_iv_length, arginfo_openssl_cipher_iv_length)
  444. ZEND_FE(openssl_dh_compute_key, arginfo_openssl_dh_compute_key)
  445. ZEND_FE(openssl_pkey_derive, arginfo_openssl_pkey_derive)
  446. ZEND_FE(openssl_random_pseudo_bytes, arginfo_openssl_random_pseudo_bytes)
  447. ZEND_FE(openssl_spki_new, arginfo_openssl_spki_new)
  448. ZEND_FE(openssl_spki_verify, arginfo_openssl_spki_verify)
  449. ZEND_FE(openssl_spki_export, arginfo_openssl_spki_export)
  450. ZEND_FE(openssl_spki_export_challenge, arginfo_openssl_spki_export_challenge)
  451. ZEND_FE(openssl_get_cert_locations, arginfo_openssl_get_cert_locations)
  452. ZEND_FE_END
  453. };
  454. static const zend_function_entry class_OpenSSLCertificate_methods[] = {
  455. ZEND_FE_END
  456. };
  457. static const zend_function_entry class_OpenSSLCertificateSigningRequest_methods[] = {
  458. ZEND_FE_END
  459. };
  460. static const zend_function_entry class_OpenSSLAsymmetricKey_methods[] = {
  461. ZEND_FE_END
  462. };
  463. static zend_class_entry *register_class_OpenSSLCertificate(void)
  464. {
  465. zend_class_entry ce, *class_entry;
  466. INIT_CLASS_ENTRY(ce, "OpenSSLCertificate", class_OpenSSLCertificate_methods);
  467. class_entry = zend_register_internal_class_ex(&ce, NULL);
  468. class_entry->ce_flags |= ZEND_ACC_FINAL|ZEND_ACC_NO_DYNAMIC_PROPERTIES|ZEND_ACC_NOT_SERIALIZABLE;
  469. return class_entry;
  470. }
  471. static zend_class_entry *register_class_OpenSSLCertificateSigningRequest(void)
  472. {
  473. zend_class_entry ce, *class_entry;
  474. INIT_CLASS_ENTRY(ce, "OpenSSLCertificateSigningRequest", class_OpenSSLCertificateSigningRequest_methods);
  475. class_entry = zend_register_internal_class_ex(&ce, NULL);
  476. class_entry->ce_flags |= ZEND_ACC_FINAL|ZEND_ACC_NO_DYNAMIC_PROPERTIES|ZEND_ACC_NOT_SERIALIZABLE;
  477. return class_entry;
  478. }
  479. static zend_class_entry *register_class_OpenSSLAsymmetricKey(void)
  480. {
  481. zend_class_entry ce, *class_entry;
  482. INIT_CLASS_ENTRY(ce, "OpenSSLAsymmetricKey", class_OpenSSLAsymmetricKey_methods);
  483. class_entry = zend_register_internal_class_ex(&ce, NULL);
  484. class_entry->ce_flags |= ZEND_ACC_FINAL|ZEND_ACC_NO_DYNAMIC_PROPERTIES|ZEND_ACC_NOT_SERIALIZABLE;
  485. return class_entry;
  486. }