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

  • 相关阅读:
    Azure HPC Pack Cluster添加辅助节点
    Azure HPC Pack 辅助节点模板配置
    Azure HPC Pack配置管理系列(PART6)
    Windows HPC Pack 2012 R2配置
    Azure HPC Pack 节点提升成域控制器
    Azure HPC Pack VM 节点创建和配置
    Azure HPC Pack 部署必要条件准备
    Azure HPC Pack 基础拓扑概述
    Azure VM 性能计数器配置
    Maven私仓配置
  • 原文地址:https://www.cnblogs.com/vmsky/p/15660398.html
Copyright © 2011-2022 走看看