美文网首页
自签名证书如何生成,相关各后缀文件的意义

自签名证书如何生成,相关各后缀文件的意义

作者: 维仔_411d | 来源:发表于2018-08-17 09:31 被阅读0次

本文主要内容有两点:

1. centos 环境使用openssl生成自签名证书?

2. 如何使用(让浏览器信任)自签名证书?

3. ssl证书相关的文件有哪几种后缀,各有何意义?

4. ssl证书介绍

centos 环境使用openssl生成自签名证书 [1][2]

  1. 修改CA的配置文件
    vi /etc/pki/tls/openssl.cnf
    注意policy_match


  2. 创建初始文件
    cd /etc/pki/CA
    touch index.txt serial
    echo 01 > serial
    ll


  3. 生成CA根秘钥
    openssl genrsa -out private/cakey.pem 2048
    chmod 400 private/cakey.pem

  4. 生成CA 根证书
    openssl req -new -x509 -key private/cakey.pem -out cacert.pem


    根证书需输入的信息
  5. 在需要申请证书的server上生成ssl密钥对(这里server与ca机构使用的同一台服务器)
    cd /etc/pki/server-example
    openssl genrsa -out server.key 2048
    openssl req -new -key server.key -out server.csr
    注意此处的country要与步骤4中ca根证书的country一致,因为在步骤1中的配置文件policy_match的countryName设置为了match

  6. 我们的CA为server的请求签署证书

openssl ca -in server.csr -keyfile /etc/pki/CA/private/cakey.pem -cert /etc/pki/CA/cacert.pem -extensions SAN -config <(cat /etc/pki/tls/openssl.cnf <(printf "[SAN]\nsubjectAltName=DNS:*.dana-tech.com,DNS:dana-tech.com")) -out server.crt


注意:为weilei.com签发的证书,chrome中提示不安全(如下图),firefox和edge中为安全,为*.weilei.com签发证书,签发命令中需增加san扩展的语句。

如何使用(让浏览器信任)自签名证书?

将ca根证书导入到受信任的根证书颁发机构中(windows中);

  • 证书导入到控制台(edge和ie有效)
    • win+r 运行mmc
    • 文件>添加删除管理单元>证书>添加>完成>确定
    • 受信任的根证书颁发机构>证书>(右键)所有任务>导入
  • 根证书导入到chrome浏览器
    • 设置>高级>管理证书>导入
  • 根证书导入到firefox浏览器
    • 选项>隐私与安全>证书>查看证书>导入

ssl证书相关的文件有哪几种后缀,各有何意义?

ssl证书实际使用(权威机构给我们颁发的证书)中有密钥文件、证书文件、证书链文件(权威ca颁发给中间颁发者这样的链路说明)[3]

  • X.509可以有以下两种编码格式(也可作为文件后缀):PEM(Base64编码,查看命令openssl x509 -in certificate.pem -text -noout),DER(二进制格式,查看命令openssl x509 -in certificate.der -inform der -text -noout)
  • 密钥文件,以key为后缀,编码可以为pem或der
  • 证书文件,linux多以crt为后缀(大多为pem编码),windows多以cer为后缀(大多为der编码)
  • 证书链文件 ,格式类似证书文件
  • 其他相关文件(自签名证书会涉及到)
    • 证书签名请求文件,后缀名为csr,而是向证书颁发机构请求签名证书的申请,包含了公钥和一些申请信息,对应的私钥自己保存好
    • PFX/P12 - predecessor of PKCS#12,对*nix服务器来说,一般CRT和KEY是分开存放在不同文件中的,但Windows的IIS则将它们存在一个PFX文件中,(因此这个文件包含了证书及私钥)这样会不会不安全?应该不会,PFX通常会有一个"提取密码",你想把里面的东西读取出来的话,它就要求你提供提取密码,PFX使用的时DER编码,PFX其实是个证书密钥库.
    • JKS - 即Java Key Storage,这是Java的专利,跟OpenSSL关系不大,利用Java的一个叫"keytool"的工具,可以将PFX转为JKS,当然了,keytool也能直接生成JKS.

SSL证书介绍

SSL证书的介绍可移步我的另一篇文章SSL证书

参考文章


  1. 基于OpenSSL自建CA和颁发SSL证书

  2. linux中openssl生成证书和自签证书

  3. 那些证书相关的玩意儿(SSL,X.509,PEM,DER,CRT,CER,KEY,CSR,P12等)

相关文章

网友评论

      本文标题:自签名证书如何生成,相关各后缀文件的意义

      本文链接:https://www.haomeiwen.com/subject/hgqobftx.html