zoukankan      html  css  js  c++  java
  • 证书:常见操作记录

    在日常工作中除了.cer 格式的证书,可能还需要.crt等类型的证书,整个时候就需要对证书进行转换。
    CER是二进制形式的X.509证书,DER编码。

    CRT是二进制X.509证书,封装在文本(base-64)编码中。

    证书格式转化在linux 平台使用openssl命令执行,如下两种方式进行尝试转换

    证书格式转换
    [root@hfeak8sts02 mon]# openssl x509 -inform DER -in mon.cxmt.com.cer -out mon.cxmt.com.crt #格式转换
    [root@hfeak8sts02 mon]# openssl x509 -inform DER -in ISCA.cer -out ISCA.crt #格式转换
    这样我们就完成了证书的格式转化工作,但如果是linux 环境,还有必要在证书末尾加上中间件服务器的证书, 以使得证书认证形成完整的证书链。现有环境是二层架构,因此需要将中间证书与服务器证书进行证书链合并操作。

    证书链拼接
    [root@hfeak8sts02 mon]# cat mon.cxmt.com.crt ISCA.crt > mon.cxmt.comv1.crt #证书链拼接
    五:添加受信任的更证书颁发机构
    默认情况下,非域控内的计算机不会信任自建根证书颁发机构,为了是这些计算下信任我们的根证书颁发机构,这个时候需要将根证书颁发机构添加到信任列表,操作如下:
    根证书:R-CA.cer
    添加根证书到受信任的更证书颁发机构列表

    转换格式 .cer 到 .pem

    openssl x509 -inform der -in R-CA.cer -out R-CA.pem

    追加到信任列表

    cat R-CA.pem >> /etc/pki/tls/certs/ca-bundle.crt

    数字证书文件格式(cer和pfx)的区别
    PFX是带有私钥的证书(包含公钥和私钥)
    由Public Key Cryptography Standards #12,PKCS#12标准定义,包含了公钥和私钥的二进制格式的证书形式,以pfx作为证书文件后缀名(文件的扩展名可以为pfx或p12)。

    CER二进制编码的证书(只包含公钥)
    证书中没有私钥,DER 编码二进制格式的证书文件,以cer作为证书文件后缀名。

    Base64编码的证书(只包含公钥)
    证书中没有私钥,BASE64 编码格式的证书文件,也是以cer作为证书文件后缀名。

    由定义可以看出,只有pfx格式的数字证书是包含有私钥的,cer格式的数字证书里面只有公钥没有私钥。

    在pfx证书的导入过程中有一项是“标志此密钥是可导出的。这将您在稍候备份或传输密钥”。一般是不选中的,如果选中,别人就有机会备份你的密钥了。如果是不选中,其实密钥也导入了,只是不能再次被导出。这就保证了密钥的安全。

    如果导入过程中没有选中这一项,做证书备份时“导出私钥”这一项是灰色的,不能选。只能导出cer格式的公钥。如果导入时选中该项,则在导出时“导出私钥”这一项就是可选的。

    如果要导出私钥(pfx),是需要输入密码的,这个密码就是对私钥再次加密,这样就保证了私钥的安全,别人即使拿到了你的证书备份(pfx),不知道加密私钥的密码,也是无法导入证书的。相反,如果只是导入导出cer格式的证书,是不会提示你输入密码的。因为公钥一般来说是对外公开的,不用加密

    从pfx导出公、私钥
    从pfx提取密钥信息,并转换为key格式(pfx使用pkcs12模式补足)

    提取密钥对(如果pfx证书已加密,会提示输入密码。)
    openssl pkcs12 -in 1.pfx -nocerts -nodes -out 1.key

    从密钥对提取私钥
    openssl rsa -in 1.key -out 1_pri.key

    从密钥对提取公钥
    openssl rsa -in 1.key -pubout -out 1_pub.key

    因为RSA算法使用的是pkcs8模式补足,需要对提取的私钥进一步处理(可选)
    openssl pkcs8 -in 1_pri.key -out 1_pri.p8 -outform der -nocrypt -topk8

    将pfx成一个cer
    openssl pkcs12 -in certificate.pfx -out certificate.cer -nodes

    另:

    apple developer中关于CSR证书请求文件(本机生成Cert Signing Request),它只是包含公钥的一个文件文件,传到apple开发者网站,去下载apple的对此商家签名后的公钥,用以后续开发操作。

    另:如果生成tomcat需要的证书文件

    keytool -import -v -trustcacerts -storepass 123456 -alias root -file xxx.im.crt -keystore xxx.jks

  • 相关阅读:
    CF1066D Boxes Packing
    luogu P2508 [HAOI2008]圆上的整点
    luogu P2502 [HAOI2006]旅行
    luogu P2511 [HAOI2008]木棍分割
    luogu P4161 [SCOI2009]游戏
    luogu P4160 [SCOI2009]生日快乐
    windows2012系统IE浏览器无法打开加载flashplayer内容
    kvm虚拟机相关
    esxI开启虚拟化
    Termux 详细安装
  • 原文地址:https://www.cnblogs.com/vmsky/p/15660398.html
Copyright © 2011-2022 走看看