openssl pkcs12命令 ################## 用途:: pkcs12文件工具,能生成和分析pkcs12文件.PKCS#12文件可以被用于多个项目,例如: 包含Netscape, MSIE 和 MS Outlook openssl pkcs12命令:: Usage: pkcs12 [options] where options are -export 指定输出的pkcs12文件 -chain add certificate chain -inkey file 指定私钥文件的位置。如果没有被指定,私钥必须在-in filename中指定 -certfile f 添加filename中所有的证书信息值 -CApath arg - PEM format directory of CA's -CAfile arg - PEM format file of CA's -name "name" 指定证书以及私钥的友好名字。当用软件导入这个文件时,这个名字将被显示出来 -caname "nm" 指定其它证书的友好名字。这个选项可以被用于多次 -in infile 指定私钥和证书读取的文件,必须为PEM格式 -out outfile output filename -noout 只verify不输出任何东西 -nomacver don't verify MAC. -nocerts 不输出任何证书. -clcerts 仅仅输出客户端证书,不输出CA证书. -cacerts 仅仅输出CA证书,不输出客户端证书. -nokeys 不输出任何private keys. -info 输出PKCS#12文件结构的附加信息值, 如用的算法信息以及迭代次数. -des 在输出之前用DES算法加密私钥值 -des3 在输出之前用DES3算法加密私钥值 (default) -aes128, -aes192, -aes256 在输出之前用cbc aes算法加密私钥值 -camellia128, -camellia192, -camellia256 在输出之前用cbc camellia算法加密私钥值 -nodes 一直对私钥不加密 -noiter don't use encryption iteration -nomaciter 读取文件时不验证MAC值的完整性(don't use MAC iteration) -maciter use MAC iteration -nomac don't generate MAC -twopass 需要用户分别指定MAC口令和加密口令(separate MAC, encryption passwords) -descert encrypt PKCS#12 certificates with triple DES (default RC2-40) -certpbe alg specify certificate PBE algorithm (default RC2-40) -keypbe alg specify private key PBE algorithm (default 3DES) -macalg alg digest algorithm used in MAC (default SHA1) -keyex set MS key exchange type -keysig set MS key signature type -password p 指定导入导出口令来源 -passin p 输入文件保护口令来源(input file pass phrase source) -passout p 指定所有输出私钥保护口令来源(output file pass phrase source) -engine e use engine e, possibly a hardware device. -CSP name Microsoft CSP name -LMK Add local machine keyset attribute to private key 实例 ==== 实例:: // 分析一个PKCS#12文件,并输出到文件中: openssl pkcs12 -in file.p12 -out file.pem // 仅仅输出客户端证书到文件中: openssl pkcs12 -in file.p12 -clcerts -out file.pem // 不加密私钥文件: openssl pkcs12 -in file.p12 -out file.pem -nodes // 打印PKCS#12格式的信息值: openssl pkcs12 -in file.p12 -info -noout // 生成pkcs12文件,但不包含CA证书: openssl pkcs12 -export -inkey ocspserverkey.pem -in ocspservercert.pem -out ocspserverpkcs12.pfx // 生成pcs12文件,包含CA证书: openssl pkcs12 -export -inkey ocspserverkey.pem -in ocspservercert.pem -CAfile demoCA/cacert.pem -chain -out ocsp1.pfx // 将pcks12中的信息分离出来,写入文件: openssl pkcs12 –in ocsp1.pfx -out certandkey.pem // 显示pkcs12信息: openssl pkcs12 –in ocsp1.pfx -info 提取 CA 证书,客户端证书和私钥:: openssl pkcs12 -in vpnclient.p12 -cacerts -nokeys -out ca.cer openssl pkcs12 -in vpnclient.p12 -clcerts -nokeys -out client.cer openssl pkcs12 -in vpnclient.p12 -nocerts -nodes -out client.key