【网络安全】在局域网里创建个人CA证书

前言

这篇文章主要是给另一篇文章提供生成个人CA证书步骤的教程。

生成CA证书

首先网上下载一个openssl软件,Windows可以从这里下载:已经编译好的Windows下的openssl,当然也可以在Linux下生成。

之后按步骤输入下面指令生成证书。这一步是创建根证书。

创建私钥

> openssl genrsa -out ca/ca-key.pem 1024  

创建证书请求

> openssl req -new -out ca/ca-req.csr -key ca/ca-key.pem

Country Name (2 letter code) [AU]:cn 
State or Province Name (full name) [Some-State]:guangdong 
Locality Name (eg, city) []:guangzhou
Organization Name (eg, company) [Internet Widgits Pty Ltd]:test
Organizational Unit Name (eg, section) []:test 
Common Name (eg, YOUR name) []:root 
Email Address []:test 

依次输入cnguangdongguangzhoutest等信息。

自签署证书

>openssl x509 -req -in ca/ca-req.csr -out ca/ca-cert.pem -signkey ca/ca-key.pem -days 3650

将证书导出成浏览器支持的.p12格式

>openssl pkcs12 -export -clcerts -in ca/ca-cert.pem -inkey ca/ca-key.pem -out ca/ca.p12

如果要输入其它信息直接全部为test。

生成server证书

这一步生成的证书是要放在服务器上。

创建私钥

>openssl genrsa -out server/server-key.pem 1024  

创建证书请求

> openssl req -new -out server/server-req.csr -key server/server-key.pem

Country Name (2 letter code) [AU]:cn
State or Province Name (full name) [Some-State]:guangdong
Locality Name (eg, city) []:guangzhou
Organization Name (eg, company) [Internet Widgits Pty Ltd]:test 
Organizational Unit Name (eg, section) []:test
Common Name (eg, YOUR name) []:192.168.1.246   # 注释:一定要写服务器所在的ip地址
Email Address []:sky

自签署证书

> openssl x509 -req -in server/server-req.csr -out server/server-cert.pem -signkey server/server-key.pem -CA ca/ca-cert.pem -CAkey ca/ca-key.pem -CAcreateserial -days 3650

将证书导出成浏览器支持的.p12格式

> openssl pkcs12 -export -clcerts -in server/server-cert.pem -inkey server/server-key.pem -out server/server.p12  

如果要输入其它信息直接全部为test。

生成client证书

创建私钥

> openssl genrsa -out client/client-key.pem 1024

创建证书请求

> openssl req -new -out client/client-req.csr -key client/client-key.pem 

Country Name (2 letter code) [AU]:cn
State or Province Name (full name) [Some-State]:guangdong
Locality Name (eg, city) []:hangzhou
Organization Name (eg, company) [Internet Widgits Pty Ltd]:skyvision
Organizational Unit Name (eg, section) []:test
Common Name (eg, YOUR name) []:sky
Email Address []:sky      # 注释:就是登入中心的用户(本来用户名应该是Common Name,但是中山公安的不知道为什么使用的Email Address,其他版本没有测试) 

Please enter the following 'extra' attributes 
to be sent with your certificate request 
A challenge password []:test 
An optional company name []:test

自签署证书

> openssl x509 -req -in client/client-req.csr -out client/client-cert.pem -signkey client/client-key.pem -CA ca/ca-cert.pem -CAkey ca/ca-key.pem -CAcreateserial -days 3650  

将证书导出成浏览器支持的.p12格式

> openssl pkcs12 -export -clcerts -in client/client-cert.pem -inkey client/client-key.pem -out client/client.p12  

如果要输入其它信息直接全部为test。


update 2018-03-05:

本人使用Python编写了一键创建以上证书的脚本,放在了github的gist:https://gist.github.com/AngelLiang/730edb0042b9ac50f692c905ca8f1310

评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值