此过程可创建自签名证书,并将该证书存储在 PKCS #11 密钥库中。在此操作过程中,还将创建一个 RSA 公钥/私钥对。私钥与该证书一起存储在密钥库中。
% pktool gencert [keystore=keystore] label=label-name \ subject=subject-DN serial=hex-serial-number keytype=rsa/dsa keylen=key-size
按公钥对象类型指定密钥库。该值可以是 nss、pkcs11 或 file。此关键字是可选的。
指定颁发者为证书提供的唯一名称。
指定证书的标识名。
指定十六进制格式序列号。证书的颁发者可以选择该序列号,例如 0x0102030405。
可选变量,指定与证书关联的私钥的类型。请查看 pktool (1) 手册页以了解选定密钥库的可用密钥类型。
要使用 FIPS 140 认可的密钥,请查看Using a FIPS 140 Enabled System in Oracle Solaris 11.2 中的FIPS 140 Algorithms in the Cryptographic Framework中的认可密钥类型。
可选变量,指定与证书关联的私钥的长度。
要使用 FIPS 140 认可的密钥,请查看在Using a FIPS 140 Enabled System in Oracle Solaris 11.2 中的FIPS 140 Algorithms in the Cryptographic Framework中选择的密钥类型的认可密钥长度。
% pktool list Found number certificates. 1. (X.509 certificate) Label: label-name ID: fingerprint that binds certificate to private key Subject: subject-DN Issuer: distinguished-name Serial: hex-serial-number n. ...
此命令可列出密钥库中的所有证书。在下面的示例中,密钥库只包含一个证书。
在下面的示例中,My Company 的用户创建了一个自签名证书,并将该证书存储在 PKCS #11 对象的密钥库中。该密钥库最初是空的。如果尚未初始化此密钥库,则软令牌的 PIN 为 changeme,并且您可以使用 pktool setpin 命令重置该 PIN。请注意,在命令选项中指定 FIPS 认可的密钥类型和密钥长度 RSA 2048。
% pktool gencert keystore=pkcs11 label="My Cert" \ subject="C=US, O=My Company, OU=Security Engineering Group, CN=MyCA" \ serial=0x000000001 keytype=rsa keylen=2048 Enter pin for Sun Software PKCS#11 softtoken:Type PIN for token
% pktool list No. Key Type Key Len. Key Label ---------------------------------------------------- Asymmetric public keys: 1 RSA My Cert Certificates: 1 X.509 certificate Label: My Cert ID: d2:7e:20:04:a5:66:e6:31:90:d8:53:28:bc:ef:55:55:dc:a3:69:93 Subject: C=US, O=My Company, OU=Security Engineering Group, CN=MyCA Issuer: C=US, O=My Company, OU=Security Engineering Group, CN=MyCA ... ... Serial: 0x00000010 ...