采用OpenSSL生成Https的证书CA

我是在Linux下操作的,用的是Fedora系统,

1. 先:

yum -y install openssl

在网上找了很多资料,都不太对,要么生成的不能正常做为Https服务,要么生成的过程就有问题


这里写的是自己的经验:

2. CA.* 是证书颁发机构的CA,先生成CA.*, 再用CA相关文件生成server.* 这个很重要!

3. 要在浏览器中把CA.crt导入“受信任的根证书颁发机构”


4. 生成根证书CA(<国家>。。。<域名>需要替换成自己的)

openssl req -new -newkey rsa:2048 -nodes -out CA.csr -keyout CA.key -subj "/C=<国家>/ST=<省>/L=<城市>/O=<组织>/OU=<部门>/CN=<域名>"

openssl req -new -x509 -key CA.key -out CA.crt -subj "/C=<国家>/ST=<省>/L=<城市>/O=<组织>/OU=<部门>/CN=<域名>"


5. 用根证收签发,生成站点证书(<国家>。。。<域名>需要替换成自己的)

openssl req -new -newkey rsa:2048 -nodes -out server.csr -keyout server.key -subj "/C=<国家>/ST=<省>/L=<城市>/O=<组织>/OU=<部门>/CN=<域名>"
openssl ca -in server.csr -out server.crt -cert CA.crt -keyfile CA.key


6. 碰到错误:

I am unable to access the ./demoCA/newcerts directory
./demoCA/newcerts: No such file or directory

运行下脚本

mkdir demoCA
mkdir demoCA/newcerts
mkdir demoCA/private
touch demoCA/index.txt
echo "01" >> demoCA/serial


另外说一下,Mono下,用HttpClient连Https,或SmtpClient发Gmail时,会报错,解决办法为:

在Linux下执行

mozroots --import --ask-remove --machine
certmgr -ssl -m smtps://smtp.gmail.com:465
certmgr -ssl -m https://www.google.com
或者你知道HTTPS网站,直接:

certmgr -ssl -m https://<host/domain>


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值