Sign命令:
openssl_pkcs7_sign( $tempdoc, $tempsign, $this->signature_data['signcert'], array($this->signature_data['privkey'], $this->signature_data['password']), array(), PKCS7_BINARY | PKCS7_DETACHED);
验证命令:
openssl_pkcs7_verify($tempsign, PKCS7_NOVERIFY)
终端命令:
openssl pkcs7 -inform DER -in signature.pkcs7 -print_certs -text
我在我的代码中进行测试,并发现我是否仅使用分离的PKCS7\u或PKCS7\ u二进制文件创建我的符号 ,但两者一起我收到了错误。为什么会这样?
大概 THIS URL 我可以帮你。,这一部分对其进行了论述。
SMIME-符号“detached”“attaches”内容与 -二进制和文本规范化了,没有符号。SMIME-verify识别“分离”,但(在multi_split中)始终将两者规范化 -签名-二进制或等效)这会更改签名内容,并且验证失败。发送时符合规范的内容(最初 输出,而不确定发送方是否更改了它。
在 docs 可以看出,解析器并没有那么聪明:
漏洞 这是我扔给它的,但它可能会让其他人窒息。
漏洞
这是我扔给它的,但它可能会让其他人窒息。
希望有帮助!