一级CA自签名证书

概述

数字证书,是一个经证书授权中心数字签名的包含公开密钥拥有者信息以及公开密钥的文件。

相关术语

pkcs : 公钥加密标准(Public Key Cryptography Standards, PKCS),该标注描述了一组公钥密码学标准。

jks : java 中支持的数字证书格式。
bks: android 上数字证书格式。
X509: 一种非常通用的证书格式,所有的证书都符合ITU-T X.509国际标准,因此(理论上)为一种应用创建的证书可以用于任何其他符合X.509标准的应用。


预期效果:


image.png

安装工具

安装openSSL

创建自签名证书

第一步: 生成CA


### 生成CA
openssl req -x509 -nodes -days 3650 -newkey rsa:2048 -keyout ca.key -out ca.crt -subj /C=CN/ST=ShanXi/L=TaiYuan/O=XXX/OU=XXX/CN=XXX-Client -config openssl.cnf
### 恭喜你获得  ca.key  ca.crt 宝物 !

第二步: 创建自签名证书


### 创建自签名证书
openssl req -x509 -nodes -days 3650 -newkey rsa:2048 -keyout root.key -out root.crt -subj /C=CN/ST=ShanXi/L=TaiYuan/O=XXX/OU=XXX/CN=XXX-Client -config openssl.cnf
### 恭喜你获得  root.key  root.crt 宝物 !

第三步: 生成证书请求


### 生成证书请求
openssl req -new -key root.key -subj "/C=CN/ST=ShanXi/L=TaiYuan/O=XXX/OU=XXX/CN=XXX-Client" -out root.csr
### 恭喜你获得 root.csr 宝物 !

第三步: 使用CA对证书进行签名


### CA签名
openssl x509 -req -in root.csr -CA ca.crt -CAkey ca.key -CAcreateserial -out root.crt -days 1825 -extensions SAN -extfile san.cnf

###  san.cnf
[SAN]
subjectAltName=@alt_name
[alt_name]
#DNS/IP config
IP.1=127.0.0.1
DNS.1=127.0.0.1
### 恭喜你获得 root.crt证书一枚 宝物 !

第四步:将crt 转换成p12格式


### crt 转 p12
openssl pkcs12 -export -CAfile ca.crt  -in root.crt -inkey st.key -out server.p12 -name "server"

第四步:p12导入jks (keystore)


### 导入证书
keytool -importkeystore -srckeystore server.p12 -srcstoretype PKCS12 -deststoretype JKS -destkeystore st-client.keystore -deststorepass st-client.password

### 恭喜你获得 st-client.keystore  宝物 !

配置tomcat

<Connector port="8444" protocol="org.apache.coyote.http11.Http11Protocol"
               maxThreads="150" SSLEnabled="true" scheme="https" secure="true"
               clientAuth="false" setProtocol="TLS" keystoreFile="conf/st-client.keystore"
               keystorePass="st-client.password" />

如要将上面生成的ca.crt导入到系统证书库中,“受信任的根证书”

这次有点绕,即用openssl ,又使用了keytool ,下次再讲下keytool下如何生成自签名CA证书。

赶紧试试吧!

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容