PKCS 公钥加密标准(Public Key Cryptography Standards, PKCS),此一标准的设计与发布皆由RSA资讯安全公司(英语:RSA Security)所制定,PKCS 目前共发布过 15 个标准。更多公钥加密标准
X.509 是密码学里公钥证书的格式标准。
X.509是常见通用的证书格式。是ITU-T标准化部门基于他们之前的ASN.1定义的一套证书标准。 X.509附带了证书吊销列表和用于从最终对证书进行签名的证书签发机构直到最终可信点为止的证书合法性验证算法。 X.509证书已应用在包括TLS/SSL在内的众多网络协议里,同时它也用在很多非在线应用场景里。
应用场景如电子签名服务。X.509证书里含有公钥、身份信息(比如网络主机名,组织的名称或个体名称等)和签名信息(可以是证书签发机构CA的签名,也可以是自签名)。
对称密钥
与非对称密钥
Tips:
原文链接:https://blog.csdn.net/qq_41586280/article/details/82669840
CERT格式
的文件为PEM的二进制格式,文件扩展名.cert /.cer /.crt。KEY格式
通常用来存放公钥或者私钥,并非X.509证书,编码可能是PEM也有可能是DER,扩展名为 .key。Apache和其他类似服务器使用PEM格式证书。几个PEM证书,甚至私钥,可以包含在一个文件中,一个在另一个文件之下,但是大多数平台(例如Apache)希望证书和私钥位于单独的文件中。
交换公共的和私有的对象
的标准格式。JKS和PKCS12之间的最大区别是JKS是Java专用的格式,而PKCS12是存储加密的私钥和证书的标准化且与语言无关的方式。
OpenSSL是一个非常有用的开源命令行工具包,可用于 X.509 证书,证书签名请求(CSRs)和加密密钥。
(PFX to PEM后CERTIFICATE.cer文件包含认证证书和私钥,需要把它们分开存储才能使用。)
-inform PEM|DER 输入格式 - DER或PEM(x509默认为PEM)
-in infile 输入文件(x509默认为stdin)
-outform PEM|DER 输出格式 - DER或PEM(x509默认为PEM)
-out outfile 输出文件(x509默认为stdout)
-keyform PEM|DER|ENGINE 私钥格式 - 默认PEM
-passin val 私钥密码/口令来源
-modulus 打印RSA密钥模数
-pubkey 输出公钥
-fingerprint 打印证书的指纹
-alias 输出证书别名
-noout 没有输出,只有状态
-nocert 无证书输出
-trustout 输出一个受信任的证书
-setalias val 设置证书别名
-days int 签署的证书到期前的时间 - 默认 30 天
-signkey val 用参数自行签署证书
-x509toreq 输出一个认证请求对象
-req 输入是一个证书请求,签署并输出
-CA infile 设置CA证书,必须是PEM格式
-CAkey val 设置 CA 密钥,必须是 PEM 格式;如果不在 CAfile 中
-text 打印文本形式的证书
-ext val 打印各种X509V3扩展文件
-extfile infile 要添加X509V3扩展的文件
-writerand outfile 将随机数据写到指定文件中
-extensions val 要使用的配置文件中的部分
-nameopt val 各种证书名称选项
-certopt val 各种证书文本选项
-checkhost val 检查证书是否与主机匹配
-checkemail val 检查证书是否与电子邮件匹配
-checkip val 检查证书是否与ipaddr匹配
-CAform PEM|DER CA格式--默认PEM
-CAkeyform PEM|DER|ENGINE CA密钥格式--默认为PEM
-export 输出PKCS12文件
-nodes 不要加密私钥
-nokeys 不输出私钥
-keysig 设置 MS 密钥签名类型
-nocerts 不输出证书
-clcerts 只输出客户证书
-cacerts 只输出CA证书
-info 打印有关PKCS#12结构的信息
-chain 添加证书链
-certpbe val 证书PBE算法(默认为RC2-40)
-inkey val 如果不是infile,则为私钥
-certfile infile 从文件中加载证书
-CApath dir PEM格式的CA的目录
-CAfile infile PEM格式的CA的文件
-no-CAfile 不加载默认的证书文件
-no-CApath 不从默认的证书目录中加载证书
Reference