summaryrefslogtreecommitdiff
path: root/ext/openssl/openssl_arginfo.h
diff options
context:
space:
mode:
authorEliot Lear <lear@ofcourseimright.com>2020-03-09 16:01:20 +0100
committerJakub Zelenka <bukka@php.net>2020-06-07 16:58:34 +0100
commit8583b8a9bf658a9058e7796513f8cf576d66e48b (patch)
treed2e50ebc6a2484bd263c862510bd26cd2709ab07 /ext/openssl/openssl_arginfo.h
parent7439941d55ea9cf7e1280b6b30f596e34a56512c (diff)
downloadphp-git-8583b8a9bf658a9058e7796513f8cf576d66e48b.tar.gz
Add support for Cryptographic Message Syntax (CMS)
It add CMS (RFC 5652) support, which is an update to PKCS7. The functions are analogous BUT NOT IDENTICAL to openssl_pkcs7*. In particular, support for different encodings (PEM, DER, SMIME) is now available.
Diffstat (limited to 'ext/openssl/openssl_arginfo.h')
-rw-r--r--ext/openssl/openssl_arginfo.h53
1 files changed, 53 insertions, 0 deletions
diff --git a/ext/openssl/openssl_arginfo.h b/ext/openssl/openssl_arginfo.h
index 47bd49eef1..77df5ca206 100644
--- a/ext/openssl/openssl_arginfo.h
+++ b/ext/openssl/openssl_arginfo.h
@@ -196,6 +196,49 @@ ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_openssl_pkcs7_read, 0, 2, _IS_BO
ZEND_ARG_INFO(1, certs)
ZEND_END_ARG_INFO()
+ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_openssl_cms_verify, 0, 1, _IS_BOOL, 0)
+ ZEND_ARG_TYPE_INFO(0, filename, IS_STRING, 0)
+ ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, flags, IS_LONG, 0, "0")
+ ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, signerscerts, IS_STRING, 1, "null")
+ ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, cainfo, IS_ARRAY, 1, "null")
+ ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, extracerts, IS_STRING, 1, "null")
+ ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, content, IS_STRING, 1, "null")
+ ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, pk7, IS_STRING, 1, "null")
+ ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, sigfile, IS_STRING, 1, "null")
+ ZEND_ARG_INFO_WITH_DEFAULT_VALUE(0, encoding, "OPENSSL_ENCODING_SMIME")
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_openssl_cms_encrypt, 0, 4, _IS_BOOL, 0)
+ ZEND_ARG_TYPE_INFO(0, infile, IS_STRING, 0)
+ ZEND_ARG_TYPE_INFO(0, outfile, IS_STRING, 0)
+ ZEND_ARG_INFO(0, recipcerts)
+ ZEND_ARG_TYPE_INFO(0, headers, IS_ARRAY, 1)
+ ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, flags, IS_LONG, 0, "0")
+ ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, encoding, IS_LONG, 0, "OPENSSL_ENCODING_SMIME")
+ ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, cipher, IS_LONG, 0, "OPENSSL_CIPHER_RC2_40")
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_openssl_cms_sign, 0, 5, _IS_BOOL, 0)
+ ZEND_ARG_TYPE_INFO(0, infile, IS_STRING, 0)
+ ZEND_ARG_TYPE_INFO(0, outfile, IS_STRING, 0)
+ ZEND_ARG_INFO(0, signcert)
+ ZEND_ARG_INFO(0, signkey)
+ ZEND_ARG_TYPE_INFO(0, headers, IS_ARRAY, 1)
+ ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, flags, IS_LONG, 0, "0")
+ ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, encoding, IS_LONG, 0, "OPENSSL_ENCODING_SMIME")
+ ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, extracertsfilename, IS_STRING, 1, "null")
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_openssl_cms_decrypt, 0, 4, _IS_BOOL, 0)
+ ZEND_ARG_TYPE_INFO(0, infilename, IS_STRING, 0)
+ ZEND_ARG_TYPE_INFO(0, outfilename, IS_STRING, 0)
+ ZEND_ARG_INFO(0, recipcert)
+ ZEND_ARG_INFO(0, recipkey)
+ ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, encoding, IS_LONG, 0, "OPENSSL_ENCODING_SMIME")
+ZEND_END_ARG_INFO()
+
+#define arginfo_openssl_cms_read arginfo_openssl_pkcs7_read
+
ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_openssl_private_encrypt, 0, 3, _IS_BOOL, 0)
ZEND_ARG_TYPE_INFO(0, data, IS_STRING, 0)
ZEND_ARG_INFO(1, crypted)
@@ -353,6 +396,11 @@ ZEND_FUNCTION(openssl_pkcs7_encrypt);
ZEND_FUNCTION(openssl_pkcs7_sign);
ZEND_FUNCTION(openssl_pkcs7_decrypt);
ZEND_FUNCTION(openssl_pkcs7_read);
+ZEND_FUNCTION(openssl_cms_verify);
+ZEND_FUNCTION(openssl_cms_encrypt);
+ZEND_FUNCTION(openssl_cms_sign);
+ZEND_FUNCTION(openssl_cms_decrypt);
+ZEND_FUNCTION(openssl_cms_read);
ZEND_FUNCTION(openssl_private_encrypt);
ZEND_FUNCTION(openssl_private_decrypt);
ZEND_FUNCTION(openssl_public_encrypt);
@@ -416,6 +464,11 @@ static const zend_function_entry ext_functions[] = {
ZEND_FE(openssl_pkcs7_sign, arginfo_openssl_pkcs7_sign)
ZEND_FE(openssl_pkcs7_decrypt, arginfo_openssl_pkcs7_decrypt)
ZEND_FE(openssl_pkcs7_read, arginfo_openssl_pkcs7_read)
+ ZEND_FE(openssl_cms_verify, arginfo_openssl_cms_verify)
+ ZEND_FE(openssl_cms_encrypt, arginfo_openssl_cms_encrypt)
+ ZEND_FE(openssl_cms_sign, arginfo_openssl_cms_sign)
+ ZEND_FE(openssl_cms_decrypt, arginfo_openssl_cms_decrypt)
+ ZEND_FE(openssl_cms_read, arginfo_openssl_cms_read)
ZEND_FE(openssl_private_encrypt, arginfo_openssl_private_encrypt)
ZEND_FE(openssl_private_decrypt, arginfo_openssl_private_decrypt)
ZEND_FE(openssl_public_encrypt, arginfo_openssl_public_encrypt)