• 证书与密钥的标准


    X.509

    X.509是证书格式标准,定义了公钥证书结构的基本标准。证书组成结构标准用ASN.1(一种标准的语言)来进行描述. X.509 v3数字证书结构如下:

    • 证书
      - ...
      - 公钥算法
      - 主题公钥
      - 此日期前无效
      - 此日期后无效
      - 版本号
      - 序列号
      - 签名算法
      - 颁发者
      - 证书有效期
      - 主题
      - 主题公钥信息
      - 颁发者唯一身份信息(可选项)
      - 主题唯一身份信息(可选项)
      - 扩展信息(可选项)
    • 证书签名算法
    • 数字签名

    PKCS

    The Public-Key Cryptography Standards (PKCS)是由美国RSA数据安全公司及其合作伙伴制定的一组公钥密码学标准,其中包括证书申请、证书更新、证书作废表发布、扩展证书内容以及数字签名、数字信封的格式等方面的一系列相关协议。

    • PKCS#8:描述私有密钥信息格式,该信息包括公开密钥算法的私有密钥以及可选的属性集等。
    • PKCS#12:定义了包含私钥与公钥证书(public key certificate)的文件格式。私钥采用密码(password)保护。常见的P12就履行了PKCS#12。

    文件编码格式

    • der:文件是二进制格式,只保存证书,不保存私钥。
    • pem:一般为文本格式,以 -----BEGIN... 开头,以 -----END... 结尾。中间的内容是 BASE64 编码。这种格式可以保存证书和私钥,有时我们也把PEM 格式的私钥的后缀改为 .key 以区别证书与私钥。
    • PFX/P12:这种格式是二进制格式,且证书和私钥存在一个 PFX 文件中。一般用于 Windows 上的 IIS 服务器。该格式的文件一般会有一个密码用于保证私钥的安全。

    生成密钥

    使用OpenSSL生成椭圆曲线私钥,椭圆曲线的参数使用secp256k1。执行下面的命令,生成PEM格式的私钥并保存在ecprivkey.pem文件中:

    openssl ecparam -name secp256k1 -genkey -noout -out ecprivkey.pem
    

    根据私钥计算公钥,执行下面的指令:

    openssl ec -in ecprivkey.pem -text -noout 2>/dev/null| sed -n '7,11p' | tr -d ": 
    " | awk '{print substr($0,3);}'
    

    查看证书内容

    openssl x509 -in xxx.crt -noout -text
    
  • 相关阅读:
    java创建节点和单向链表
    Java循环链表实现约瑟夫环(搬运)
    java语言建立顺序表
    顺序表删除重复值的高效算法。
    2016.1.29
    IO流学习笔记
    oracle 计算两个时间之间的月份差,相差几个星期,相差多少天
    java中如何计算两个时间段的月份差
    怎样在数据库中插入大量数据
    oracle 定义数据完整性
  • 原文地址:https://www.cnblogs.com/HachikoT/p/14089814.html
Copyright © 2020-2023  润新知