• pfx证书导出公钥cer


    0.背景

    pfx证书含公私钥,cer证书为公钥,想从pfx证书中导出其对应的公钥cer.

    1.操作

    需要借助openssl pkcs12,linux服务器上一般都自带了.

    openssl pkcs12 -nodes -nokeys -in decrypt.pfx -passin pass:证书密码 -nokeys -out 输出的名字.cer
    openssl pkcs12 -nodes -nokeys -in sign.pfx -passin pass:证书密码 -nokeys -out 输出的名字.cer
    

    2.扩展

    -in filename:指定私钥和证书读取的文件,默认为标准输入。必须为PEM格式。

    -out filename:指定输出的pkcs12文件,默认为标准输出。

    -password arg:指定导入导出口令来源。

    -passin arg:输入文件保护口令来源。

    -passout arg:指定所有输出私钥保护口令来源。

    -noout:不打印参数编码的版本信息。

    -clcerts:仅仅输出客户端证书,不输出CA证书。

    -cacerts:仅仅输出CA证书,不输出客户端证书。

    -nocerts:不输出任何证书。

    -nokeys:不输出任何私钥信息值。

    -info:输出PKCS#12文件结构的附加信息值。例如用的算法信息以及迭代次数。

    -des:在输出之前用DES算法加密私钥值。

    -des3:在输出之前用3DES算法加密私钥值。此项为默认。

    -idea:在输出之前用IDEA算法加密私钥值。

    -aes128、-aes192、-aes256:在输出之前用AES算法加密私钥值。

    -camellia128、-camellia192、-camellia256:在输出之前用camellia算法加密私钥值。

    -nodes:一直对私钥不加密。

    -nomacver:读取文件时不验证MAC值的完整性。

    -twopass:需要用户分别指定MAC口令和加密口令。

    文件创建选项:

    -export:这个选项指定了一个PKCS#12文件将会被创建。

    -in filename:指定私钥和证书读取的文件,默认为标准输入。必须为PEM格式。

    -out filename:指定输出的pkcs12文件,默认为标准输出。

    -inkey filename:指定私钥文件的位置。如果没有被指定,私钥必须在-in filename中指定。

    -name name:指定证书以及私钥的友好名字。当用软件导入这个文件时,这个名字将被显示出来。

    -certfilefilename:添加filename中所有的证书信息值。

    -caname name:指定其它证书的友好名字。这个选项可以被用于多次。

    -password arg:指定导入导出口令来源。

    -passin arg:输入文件保护口令来源。

    -passout arg:指定所有输出私钥保护口令来源。

    -chain:如果这个选项被提出,则添加用户证书的证书链。标准CA中心用它来搜索。如果搜索失败,则是一个重大的错误。

    -descert:用3DES对PKCS12进行加密,这样杨浦可能会导致PKCS12文件被一些“export grade”软件不能够读取。默认的是用3DES对私钥文件进行加密,用40位的RC2对证书公钥文件进行加密。

    -certpbealg:该选项允许指定证书的加密算法。任何PKCS#5 v1.5或 PKCS#12 PBE类型的算法都可以被使用。默认使用的是40位的RC2。

    -keypbe alg:该选项允许指定证书私钥的加密算法。任何PKCS#5 v1.5或 PKCS#12 PBE类型的算法都可以被使用。默认使用的是3DES。

    -keyex:设置私钥仅仅被用于密钥交换。

    -keysig:设置私钥仅仅被用于数字签名。

    -macalg digest:指定MAC摘要算法。如果没有被指定,则默认使用sha1。

    -nomaciter、-noiter:这个选项影响MAC值和密钥算法的迭代次数。除非你希望产生的文件能与MSIE 4.0相兼容,可以把这两个选项丢弃一边。

    -maciter:加强完整性保护,多次计算MAC。

    -nomac:不去规定MAC值的完整性。

    -rand file(s):指定随机数种子文件,多个文件间用分隔符分开,windows用“;”,OpenVMS用“,“,其他系统用“:”。

    -CApatharg:指定CA目录。该目录必须是一个标准证书目录:每个CA文件的文件名为XXXX.0,XXXX为其持有者摘要值。

    -CAfile arg:指定CA文件。

    -LMK:添加本地的机械属性到私钥中。

    -CSP name:微软的CSP的名字。

    -engine id:指定硬件引擎。

  • 相关阅读:
    java foreach遍历的前提条件
    Java中的null值总结
    mybatis不可忽略的细节
    设计模式:创建型模式
    设计模式(四):原型模式
    设计模式(三):建造者模式
    设计模式(二):单例模式(DCL及解决办法)
    设计模式(一):简单工厂、工厂模式、抽象工厂
    定时任务 ScheduledExecutorService
    快速访问GitHub
  • 原文地址:https://www.cnblogs.com/yang37/p/15266162.html
Copyright © 2020-2023  润新知