使用此代码对文件进行签名,但使用不同的OpenSSL版本,结果不同,或者说SHA-1或SHA-256。有必要设置SHA-1。
openssl_pkcs7_sign($inFilename, $outFilename, "file://".$publicCertFile, "file://privateCertFile", array(), PKCS7_DETACHED | PKCS7_BINARY | PKCS7_NOATTR);
结果:
MIME-Version: 1.0
Content-Type: multipart/signed; protocol="application/x-pkcs7-signature"; micalg="sha-256"; boundary="----592DF2A997B872976D85E98B5BC89799"
...
...
使用了sha-256的算法。
使用OpenSSL命令:
openssl smime -sign -md sha1 -in "INFILE.TXT" -inkey private.pem -signer public.pem -binary -outform DER -noattr > FILE.RSA
在命令行中,可以设置算法以及如何在PHP中创建算法吗?