我实践:自建CA及证书颁发(openssl)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了我实践:自建CA及证书颁发(openssl)相关的知识,希望对你有一定的参考价值。

参考技术A 基于默认配置文件(openssl.conf)有稍作改动以便于使用

目录结构:

以下目录都是为了方便CA为用户颁发证书而建立:

其他目录都是依据openssl.conf创建:

确认配置文件中ca相关信息(CA_default节)的正确
配置用户证书请求与CA颁发中用到的信息:用户信息(req_distinguished_name节)、通用名称(commonName)、备用名称(alt_names节)
openssl.cnf用途:

openssl.cnf文件中配置关系图(不支持这种语法):

如果出现了以上错误,则请修改openssl.cnf中"[ policy_match ]"里的项:

一般用来增加证书备用名称

在openssl.cnf中开启 req_extensions = v3_req,添加备用名称则修改[ alt_names ]节

命令行增加 "-extensions v3_req" 及[ alt_names ]节

增加备用名称,请修改以下内容:

自签名的证书无法被吊销,CA签名的证书可以被吊销 能不能吊销证书的区别在于,如果你的私钥被黑客获取,如果证书不能被吊销,则黑客可以伪装成你与用户进行通信
如果你的规划需要创建多个证书,那么使用私有CA的方法比较合适,因为只要给所有的客户端都安装了CA的证书,那么以该证书签名过的证书,客户端都是信任的,也就是安装一次就够了
如果你直接用自签名证书,你需要给所有的客户端安装该证书才会被信任,如果你需要第二个证书,则还的挨个给所有的客户端安装证书2才会被信任。

参考: https://blog.csdn.net/u014721096/article/details/78571287

(打包是最好的,但是没有地方长存,不如就贴这里吧)

以上是关于我实践:自建CA及证书颁发(openssl)的主要内容,如果未能解决你的问题,请参考以下文章

(13) openssl ca(签署和自建CA)

HttpsOpenSSL自建CA证书及签发证书nginx单向认证双向认证及使用Java访问

Linux自建CA并颁发证书的shell脚本

树莓派/Debian Apache2 配置自建 CA 实现 HTTPS(SSL) 服务

自建CA和公共CA有什么不同?

openssl req(生成证书请求和自建CA)