在 Oracle® Solaris 11.2 中管理加密和证书

退出打印视图

更新时间: 2014 年 9 月
 
 

如何使用 pktool gencert 命令创建证书

此过程可创建自签名证书,并将该证书存储在 PKCS #11 密钥库中。在此操作过程中,还将创建一个 RSA 公钥/私钥对。私钥与该证书一起存储在密钥库中。

  1. 生成自签名证书。
    % pktool gencert [keystore=keystore] label=label-name \
    subject=subject-DN serial=hex-serial-number keytype=rsa/dsa keylen=key-size
    –keystore=keystore

    按公钥对象类型指定密钥库。该值可以是 nsspkcs11file。此关键字是可选的。

    –label=label-name

    指定颁发者为证书提供的唯一名称。

    –subject=subject-DN

    指定证书的标识名。

    –serial=hex-serial-number

    指定十六进制格式序列号。证书的颁发者可以选择该序列号,例如 0x0102030405

    –keytype=key type

    可选变量,指定与证书关联的私钥的类型。请查看 pktool (1) 手册页以了解选定密钥库的可用密钥类型。

    要使用 FIPS 140 认可的密钥,请查看Using a FIPS 140 Enabled System in Oracle Solaris 11.2 中的FIPS 140 Algorithms in the Cryptographic Framework中的认可密钥类型。

    –keylen=key size

    可选变量,指定与证书关联的私钥的长度。

    要使用 FIPS 140 认可的密钥,请查看在Using a FIPS 140 Enabled System in Oracle Solaris 11.2 中的FIPS 140 Algorithms in the Cryptographic Framework中选择的密钥类型的认可密钥长度。

  2. 检验密钥库的内容。
    % 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. ...

    此命令可列出密钥库中的所有证书。在下面的示例中,密钥库只包含一个证书。

示例 4-1  使用 pktool 创建自签名证书

在下面的示例中,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
...