无法验证smime签名

时间:2019-12-01 07:19:33

标签: libressl

我已经在macOS上使用LibreSSL 2.8.3对这样的文件进行了签名:

openssl smime -binary -sign -certfile WWDR.pem -signer passcertificate.pem \
              -inkey passkey.pem -in manifest.json -out signature \
              -outform DER -passin pass:12345

,现在我想立即验证同一文件。我正在尝试以下命令

openssl smime -binary -verify -certfile WWDR.pem -signer passcertificate.pem \
              -inkey passkey.pem -in manifest.json -content signature \
              -inform DER -passin pass:12345

,但是由于以下错误而失败。验证签名的正确语法是什么?

  

读取S / MIME消息时出错
  4550921836:错误:0DFFF0A8:asn1编码例程:CRYPTO_internal:错误标签:/BuildRoot/Library/Caches/com.apple.xbs/Sources/libressl/libressl-47.11.1/libressl-2.8/crypto/asn1/tasn_dec.c: 1144:
  4550921836:错误:0DFFF03A:asn1编码例程:CRYPTO_internal:嵌套的asn1错误:/BuildRoot/Library/Caches/com.apple.xbs/Sources/libressl/libressl-47.11.1/libressl-2.8/crypto/asn1/tasn_dec.c :317:Type = PKCS7

我基本上是这样做的,因为我想尝试并快速实现签名。我知道上面的sign命令可以正常工作,因此,如果我能弄清楚如何验证文件,那么就可以正确地测试我的Swift实现是否有效。

WWDR.pem文件来自http://www.apple.com/certificateauthority,是全球开发者关系证书。

要获取passcertificate.pempasskey.pem文件,我去了Apple Developer门户并生成了通行证,将其导入到Mac Keychain Access中,导出到Certificates.p12,然后运行这两个文件命令:

 openssl pkcs12 -in Certificates.p12 -clcerts -nokeys \
                 -out passcertificate.pem -passin pass:
 openssl pkcs12 -in Certificates.p12 -nocerts -out passkey.pem \
                -passin pass: -passout pass:12345

0 个答案:

没有答案
相关问题