请教使用OpenSSL读写X509数字证书,有代码

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了请教使用OpenSSL读写X509数字证书,有代码相关的知识,希望对你有一定的参考价值。

参考技术A 你是想自己写还是调用openssl的系统库函数啊?如果是自己写可以在任何一个操作系统平台上下载一个openssl的包,然后进入crypto文件夹,里面有很多与密码相关的文件夹,进入ec,可以看到所有ecc的文件,打开看过程就好。如果是调用的话,建议参考openssl官方文档或其他学习书籍。

Openssl:错误“证书链中的自签名证书”

当我使用openssl API验证服务器证书(自签名)时,我收到以下错误:

错误19在1深度查找:证书链中的自签名证书

根据openssl documentation,这个错误(19)是

“X509_V_ERR_SELF_SIGNED_CERT_IN_CHAIN:证书链中的自签名证书 - 可以使用不受信任的证书构建证书链,但无法在本地找到根证书。”

为什么会出现此错误?我的服务器证书有问题吗?

答案

您有一个自签名的证书,因此默认情况下它不受信任,这就是OpenSSL抱怨的原因。这个警告实际上是一件好事,因为这种情况也可能因man-in-the-middle attack而上升。

要解决此问题,您需要将其安装为受信任的服务器。如果它由不受信任的CA签名,您还必须安装该CA的证书。

看看this link有关安装自签名证书的信息。

另一答案

这是验证证书链的单行程序:

openssl verify -verbose -x509_strict -CAfile ca.pem cert_chain.pem

这不需要在任何地方安装CA.

有关详细信息,请参阅How does an SSL certificate chain bundle work?

另一答案

该错误的解决方案是在代码顶部添加此行:

process.env.NODE_TLS_REJECT_UNAUTHORIZED = "0";

以上是关于请教使用OpenSSL读写X509数字证书,有代码的主要内容,如果未能解决你的问题,请参考以下文章

openssl利用openssl完成X509证书和PFX证书之间的互转

iOS使用openSSL加密应该怎么做

python openssl x509怎么用

(14) openssl x509(签署和自签署)

OpenSSL之X509证书用法

如何使用包括 CRL 分发点的 openssl 创建证书?