我是“密码学世界”的新手。我开始使用 OPENSSL。
我需要一些信息,基本上我确实有一些疑问。
我有一个 DER 格式的文件。我使用以下命令读取文件,
“openssl x509 -inform DER -in filename.der -text”我得到了我应该做的。
以下是我想知道的:
(我的理解是,DER是格式,X509是证书,PKCS7是标准)
int i = X509_verify(X509 *x509, X509_get_pubkey(X509 *x509));
但是 'i' 值是 'i' < 0(zero) 这就是为什么我遇到“签名验证问题”的原因。
如何克服这一点?
请提供一些意见。
提前致谢。
开放Sid
最佳答案
PKCS#7 是 RSA Security 于 1993 年发布的加密标准,用于处理应用了加密的数据。它是如何安全地打包数据的标准。 PKCS#7 引用 X.509 标准,作为证书格式的来源。
X.509 是 1998 年发布的范围广泛的安全标准文档,其中包括证书文件格式等。
X.509 指定证书应使用 ASN.1(记录在 X.208 和现在的 X.608 中)标准的可分辨编码规则进行编码,该标准于 1984 年首次发布。
所以,DER 说的是如何将一些字符串和数字源数据编码成二进制格式,
X.509 说明哪些数据需要进入数字证书,以及
PKCS#7 说明应该如何使用该证书来对消息进行数字签名。
隐私增强邮件 - 在 OpenSSL 之前发布的某种工具 - 需要在电子邮件中传递 PKCS#7 “包装”数据,这些数据当时在仅支持 7 位 ASCII 字符的系统上进行交换 - “PEM”创建了使用标准Base64 对 PKCS#7 所需的 X.509 证书进行编码,并将 base64 存储在 -----BEGIN ???----- -----END ???----- where ?? ?可以是 RSA 私钥、PSA 公钥、证书等。
关于openssl - 关于 : PKCS7, X509 和 DER,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2559103/