SSL 自签证书相关

| 48 | Document | 建设中

还没完全弄懂,写点是点,捋捋思路。

  • CA(Certificate Authority)被称为证书授权中心,是数字证书发放和管理的机构。
  • 根证书(root certificate)是CA认证中心给自己颁发的证书,是信任链的起始点。安装根证书意味着对这个CA认证中心的信任。
  • 数字证书颁发过程一般为:
    1. 用户首先产生自己的密钥对,
    2. 将公共密钥(公钥)及部分个人身份信息传送给认证中心
    3. 认证中心在核实身份后,将执行一些必要的步骤,以确信请求确实由用户发送而来,然后,认证中心将发给用户一个数字证书,该证书内包含用户的个人信息和他的公钥信息,同时还附有认证中心的签名信息

————————————————
版权声明:本文为CSDN博主「lwwl12」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/lwwl12/article/details/80691746

格式说明
PKCS 全称是 Public-Key Cryptography Standards ,是由 RSA 实验室与其它安全系统开发商为促进公钥密码的发展而制订的一系列标准,PKCS 目前共发布过 15 个标准。 常用的有:
PKCS#7 Cryptographic Message Syntax Standard
PKCS#10 Certification Request Standard
PKCS#12 Personal Information Exchange Syntax Standard
X.509是常见通用的证书格式。所有的证书都符合为Public Key Infrastructure (PKI) 制定的 ITU-T X509 国际标准。
PKCS#7 常用的后缀是: .P7B .P7C .SPC
PKCS#12 常用的后缀有: .P12 .PFX
X.509 DER 编码(ASCII)的后缀是: .DER .CER .CRT
X.509 PAM 编码(Base64)的后缀是: .PEM .CER .CRT
.cer/.crt是用于存放证书,它是2进制形式存放的,不含私钥。
.pem跟crt/cer的区别是它以Ascii来表示。
pfx/p12用于存放个人证书/私钥,他通常包含保护密码,2进制方式
p10是证书请求
p7r是CA对证书请求的回复,只用于导入
p7b以树状展示证书链(certificate chain),同时也支持单个证书,不含私钥。
————————————————
版权声明:本文为CSDN博主「何惜戈」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_37049781/article/details/84837342

CA根证书又称CA证书
通常我们按照网上教程跑出来的其实都是自签的根证书。其是没有针对域名签发的,所以即便你信任了,直接打开网页仍然会有报错。

常见公钥后缀:pem crt
常见私钥后缀:pfx p12 pem

有域名的可以直接使用Let's Encrypt

签泛域名需要改/usr/lib/ssl/openssl.cnf

其实这个工具不错
https://github.com/Fishdrowned/ssl
不过似乎不支持单独对IP用

另一方面,tomcat里使用证书需要jks,像通常的例如godaddy并不会直接提供。
除了openssl还需要keytool(需安装jdk)

openssl pkcs12 -export -in 113fd6e3bc782ef2.crt -inkey server.key -out cert_and_key.p12 -name OA -CAfile gd_bundle-g2-g1.crt -caname root

keytool -importkeystore -srckeystore cert_and_key.p12 -srcstoretype PKCS12 -alias OA -keystore oa.pcs

keytool -import -trustcacerts -alias root -file gd_bundle-g2-g1.crt -noprompt -keystore oa.pcs

keytool -importkeystore -srckeystore oa.pcs -srcstoretype PKCS12 -deststoretype JKS -destkeystore oa.jks