请教使用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数字证书,有代码的主要内容,如果未能解决你的问题,请参考以下文章