pktool - 証明書と鍵の管理
pktool [–f option_file] [–i] subcommand subcommand_options ...
pktool コマンドを使用すると、PKCS#11 トークン (暗号化フレームワーク) および OpenSSL の標準的なファイルベースのキーストアを含む、複数のキーストア内の証明書と鍵を管理できます。
pktool は、証明書失効リスト (Certificate Revocation List、CRL) の一覧表示、削除、およびインポートもサポートしています。pktool は、CRL の作成、CRL への署名の追加、および CRL のエクスポートはサポートしていません。PKCS#11 キーストアの CRL サポートはファイルベースです。
次のコマンドオプションがサポートされています。
コマンド行にオプションを入力する代わりに、ファイルにオプションを設定できます。
pktool では多数のサブコマンドと関連オプションをコマンド行で指定する可能性があるため、ユーザーの利便性を高めるためにこのオプションが用意されています。
option_file は、1 行に 1 つのオプションまたは値のペアという形式になります。
option_file の例を次に示します。
list keystore=file dir=/export/foo objtype=key
gencert サブコマンドおよび gencsr サブコマンドの subject-DN を対話形式で指定できます。–i を指定すると、subject-DN を作成するためのデータを入力するよう求めるプロンプトが表示されます。
–i オプションの使用例を次に示します。
Country Name (2 letter code) [US]:US State or Province Name (full name) [Some-State]:CA Locality Name (eg, city) []:Menlo Park Organization Name (eg, company):Sun Microsystems Inc. Organizational Unit Name (eg, section):OPG Common Name (eg, YOUR name):John Smith Email Address []: john.smith@sun.com
その結果作成される subject-DN は次のとおりです。
"C=US, ST=CA, L=Menlo Park, O=Sun Microsystems Inc.,\ OU=OPG, emailAddress=john.smith@sun.com, \ CN=John Smith"
サポートされているサブコマンドは次のとおりです。
delete サブコマンドの書式は次のとおりです。
pktool delete [token=token[:manuf[:serial]]] [objtype=private|public|both] [label=object-label] pktool delete keystore=pkcs11 objtype=cert[:public | private | both]] [token=token[:manuf[:serial]]] [label=cert-label] [serial=hex-serial-number] [issuer=issuer-DN] [subject=subject-DN] pktool delete keystore=pkcs11 objtype=key[:public | private | both]] [token=token[:manuf[:serial]]] [label=key-label] pktool delete keystore=pkcs11 objtype=crl infile=input-fn pktool delete keystore=file objtype=cert [infile=input-fn] [dir=directory-path] [serial=hex-serial-number] [issuer=issuer-DN] [subject=subject-DN] pktool delete keystore=file objtype=key [infile=input-fn] [dir=directory-path] pktool delete keystore=file objtype=crl infile=input-fn
証明書、鍵、または証明書失効リスト (CRL) を削除します。
PKCS#11 トークンから個人証明書または秘密鍵を削除する場合は、正しい個人識別番号 (Personal Identification Number、PIN) を入力して PKCS#11 に対する認証を行うよう求めるプロンプトが表示されます。
download サブコマンドの書式は次のとおりです。
pktool download url=url_str [objtype=crl|cert] [http_proxy=proxy_str] [outfile=output-fn] [dir=directory-path]
指定された URL の場所から CRL ファイルまたは証明書ファイルをダウンロードします。ファイルが正常にダウンロードされると、ダウンロードした CRL または証明書ファイルの有効性が確認されます。CRL または証明書の期限が切れている場合、download は警告を表示します。
export サブコマンドの書式は次のとおりです。
pktool export [token=token[:manuf[:serial]]] [outfile=output-fn] pktool export keystore=pkcs11 [outfile=output-fn] [objtype=cert|key] [label=label] [subject=subject-DN] [issuer=issuer-DN] [serial=hex-serial-number] [outformat=pem|der|pkcs12|raw] [token=token[:manuf[:serial]]] pktool export keystore=file certfile=cert-input-fn keyfile=key-input-fn [outfile=output-pkcs12-fn]
PKCS#11 トークンの内容またはファイルベースのキーストアに含まれる証明書を、指定されたファイルに保存します。
gencert サブコマンドの書式は次のとおりです。
pktool gencert [-i] [ keystore=pkcs11] label=key/cert-label subject=subject-DN serial=hex_serial_number [altname=[critical:]subjectAltName,subjectAltName...] [keyusage=[critical:]usage,usage...] [token=token[:manuf[:serial]]] [ keytype=rsa | ec [curve=ECC Curve Name] \ [hash=md5 | sha1 | sha224 | sha256 | sha384 | sha512]] [ keytype=dsa [hash=sha1 | sha224 | sha256 ]] [keylen=key-size] [eku=[critical:]EKU_name,...] [listcurves] [lifetime=number-hour|number-day|number-year] pktool gencert [-i] keystore=file outcert=cert-fn outkey=key-fn subject=subject-DN serial=hex_serial_number [altname=[critical:]subjectAltName,subjectAltName...] [keyusage=[critical:]usage,usage...] [format=der|pem] [ keytype=rsa [hash=md5 | sha1 | sha224 | sha256 | sha384 | sha512]] [ keytype=dsa [hash=sha1 | sha224 | sha256 ]] [keylen=key-size] [eku=[critical:]EKU_name,...] [lifetime=number-hour|number-day|number-year]
自己署名付き証明書を生成し、証明書とそれに関連付けられた秘密鍵を指定のキーストアにインストールします。
pktool gencert のオプションとしてハッシュが指定されないかぎり、使用されるデフォルトハッシュは SHA-256 です。
gencert を実行すると、トークンベースのキーストア用の PIN を入力するよう求めるプロンプトが表示されます。
gencsr サブコマンドの書式は次のとおりです。
pktool gencsr [-i] keystore=pkcs11 label=key-label outcsr=csr-fn subject=subject-DN [altname=[critical:]subjectAltName,subjectAltName...] [keyusage=[critical:]usage,usage...] [token=token[:manuf[:serial]]] [ keytype=rsa | ec [curve=ECC Curve Name] \ [hash=md5 | sha1 | sha224 | sha256 | sha384 | sha512]] [ keytype=dsa [hash=sha1 | sha224 | sha256 ]] [keylen=key-size] [format=pem|der] [eku=[critical:]EKU_name,...] [rfc2986attr=y|n] [listcurves] pktool gencsr [-i] keystore=file outcsr=csr-fn outkey=key-fn subject=subject-DN [altname=[critical:]subjectAltName,subjectAltName...] [keyusage=[critical:]usage,usage...] [dir=directory-path] [ keytype=rsa [hash=md5 | sha1 | sha224 | sha256 | sha384 | sha512]] [ keytype=dsa [hash=sha1 | sha224 | sha256 ]] [keylen=key-size] [format=pem|der] [rfc2986attr=y|n] [eku=[critical:]EKU_name,...]
PKCS#10 の証明書署名要求 (CSR) ファイルを作成します。この CSR を承認局 (Certifying Authority、CA) に送信すると、署名を取得できます。gencsr サブコマンドを実行すると、トークンベースのキーストア用の PIN を入力するよう求めるプロンプトが表示されます。
pktool gencsr のオプションとしてハッシュが指定されないかぎり、使用されるデフォルトハッシュは SHA-256 です。
genkey サブコマンドの書式は次のとおりです。
pktool genkey [keystore=pkcs11] label=key-label [keytype=aes|arcfour|des|3des|generic] [keylen=key-size (for aes, arcfour, or \ generic keytypes only)] [token=token[:manuf[:serial]]] [sensitive=y|n] [extractable=y|n] [print=y|n] pktool genkey keystore=file outkey=key-fn [keytype=aes|arcfour|des|3des|generic] [keylen=key-size (for aes, arcfour, \ or generic keytypes only)] [print=y|n]
指定されたキーストアに対称鍵を生成します。genkey サブコマンドを実行すると、トークンベースのキーストア用の PIN を入力するように求めるプロンプトが表示されます。
genkeypair サブコマンドの書式は次のとおりです。
pktool genkeypair [keystore=pkcs11] label=key-label [token=token[:manuf[:serial]]] [keytype=rsa|dsa|ec [curve=ECC Curve Name]] [keylen=key-size] [listcurves] pktool genkeypair keystore=file outkey=key_filename [format=der|pem] [keytype=rsa|dsa] [keylen=key-size]
指定されたキーストアに鍵ペアを生成します。
import サブコマンドの書式は次のとおりです。
pktool import [token=token>[:manuf>[:serial>]]] infile=input-fn pktool import [keystore=pkcs11] infile=input-fn label=object-label [keytype=aes|arcfour|des|3des|generic] [sensitive=y|n] [extractable=y|n] [token=token[:manuf[:serial]]] [objtype=cert|key] pktool import keystore=pkcs11 objtype=crl infile=input-fn outcrl=output-crl-fn outformat=pem|der pktool import keystore=file infile=input-fn outkey=output-key-fn outcert=output-key-fn [outformat=pem|der] pktool import keystore=file objtype=crl infile=input-fn outcrl=output-crl-fn outformat=pem|der
証明書、鍵、または CRL を、指定の入力ファイルから指定のキーストアに読み込みます。
inittoken サブコマンドの書式は次のとおりです。
pktool inittoken [ slotid=slot number ] [ currlabel=token[:manuf[:serial]]] [ newlabel=new token label ]
このコマンドは、C_InitToken API を使用して PKCS#11 トークンを初期化します。トークンを検索するには、トークンのデフォルトラベルを指定することをお勧めします。オプションで、newlabel 引数を使用すると、トークンに新しいラベルを割り当てることができます。newlabel がない場合、トークンラベルは変更されません。このコマンドを続行するために、セキュリティー責任者 (Security Officer、SO) の PIN を入力するよう求めるプロンプトが表示されます。スロット番号を取得するには、pktool トークンの出力を参照してください。
list サブコマンドの書式は次のとおりです。
pktool list [token=token[:manuf[:serial]]] [objtype=private|public|both] [label=label] pktool list [keystore=pkcs11] [objtype=cert[:public | private | both]] [token=token[:manuf[:serial]]] [label=cert-label] [serial=hex-serial-number] [issuer=issuer-DN] [subject=subject-DN] pktool list [keystore=pkcs11] objtype=key[:public | private | both]] [token=token[:manuf[:serial]]] [label=key-label] [keyvalue=y|n] pktool list keystore=pkcs11 objtype=crl infile=input-fn pktool list keystore=file objtype=cert [infile=input-fn] [dir=directory-path] [serial=hex-serial-number] [issuer=issuer-DN] [subject=subject-DN] pktool list keystore=file objtype=key [infile=input-fn] [dir=directory-path] [keyvalue=y|n]
証明書、鍵、または証明書失効リスト (CRL) を一覧表示します。PKCS#11 トークンの個人証明書または秘密鍵を表示すると、正しい PIN を入力して PKCS#11 トークンに対する認証を行うよう求めるプロンプトが表示されます。
setpin サブコマンドの書式は次のとおりです。
pktool setpin [ keystore=pkcs11] [token=token[:manuf[:serial]]] [usertype=user | so]
PKCS#11 トークンに対してユーザーを認証するために使用されるパスフレーズを変更します。パスフレーズには、NULL 以外の 1 - 256 文字の長さの任意の文字列を指定できます。
古いパスフレーズがある場合、setpin は、そのパスフレーズを入力するよう求めるプロンプトを表示します。古いパスフレーズが一致すると、pktool は、新しいパスフレーズを 2 回入力するよう求めるプロンプトを表示します。2 回入力した新しいパスフレーズが一致すると、それがトークンの最新のパスフレーズになります。
Sun Software PKCS#11 ソフトトークンキーストア (デフォルト) の場合は、setpin コマンドを使用してオブジェクトストアのパスフレーズを変更するときに、デフォルトのパスフレーズ changeme を古いパスフレーズとして使用する必要があります。このアクションは、パスフレーズを初期化して、新しく作成したトークンオブジェクトストアに設定するために必要です。
PKCS#11 ベースのトークンに対して usertype=so オプションを指定すると、通常ユーザーの PIN ではなく、セキュリティー責任者 (Security Officer、SO) ユーザーの PIN が変更されます。デフォルトでは、usertype は user とみなされます。
signcsr サブコマンドの書式は次のとおりです。
signcsr keystore=pkcs11 signkey=label (label of key to use for signing) csr=CSR_filename serial=serial_number_hex_string_for_final_certificate outcert=filename_for_final_certificate issuer=issuer-DN [store=y|n] (store the new cert in on the token, default=n) [outlabel=certificate label] [format=pem|der] (certificate output format) [subject=subject-DN] (override the CSR subject name) [altname=subjectAltName,subjectAltName...] (add subjectAltName ) [keyusage=[critical:]usage,...] (add key usage bits) [eku=[critical:]EKU_Name,...] (add Extended Key Usage ) [lifetime=number-hour|number-day|number-year] [token=token[:manuf[:serial]]] signcsr keystore=file signkey=filename csr=CSR_filename serial=serial_number_hex_string_for_final_certificate outcert=filename_for_final_certificate issuer=issuer-DN [dir=directory-path] [format=pem|der] (certificate output format) [subject=subject-DN] (override the CSR subject name) [altname=subjectAltName,subjectAltName...] (add a subjectAltName) [keyusage=[critical:]usage,...] (add key usage bits) [lifetime=number-hour|number-day|number-year] [eku=[critical:]EKU_ Name,...] (add Extended Key Usage)
tokens サブコマンドの書式は次のとおりです。
pktool tokens
tokens サブコマンドは、表示可能なすべての PKCS#11 トークンを一覧表示します。デフォルトトークン (キーストア) は、メタスロットが有効になっている場合でも表示されます。また、メタスロットが有効になっている場合、あるいは 3 つ以上のトークンが存在する場合は、メタスロットも仮想トークンとしてリストに表示されます。
「属性」を空の ASN.1 構造「SET OF」としてエンコードするかどうかを指定します。有効な値は y および n です。デフォルト値は、pktool が PKCS#10 標準 (RFC 2986) に準拠することを示す y です。一部の古い壊れた認証局では、n の指定が要求されることがあります。
rfc2986attr=y | n サブコマンドの形式は次のとおりです。
pktool -? pktool --help
–? オプションを使用すると、使用方法やヘルプ情報を表示できます。–help の機能は –? と同じです。
pktool サブコマンドは次のオプションをサポートします。
証明書の被認証者代替名。altname オプションのあとに指定する引数は、タグ=値の形式にします。有効なタグは、IP、DNS、EMAIL、URI、DN、KRB、UPN、および RID です。altname 文字列の直前に critical: というワードを付加すると、SubjectAltName 拡張が critical としてマークされます。
クリティカルなフラグは、すべての altname で共有されるため、最初の被認証者代替名の先頭に配置してください。
altname タグ (IP、EMAIL、DN など) の区切り記号は、コンマ (,) です。DN タイプ内のコンポーネントの区切り記号は、セミコロン (;) です。
例 1: subjectAltName 拡張に IP アドレスを追加する: altname="IP=1.2.3.4" 例 2: subjectAltName 拡張に電子メールアドレスを追加し、critical としてマークする: altname="critical:EMAIL=first.last@company.com"
例 3: 複数の被認証者代替名 IP アドレス、メールアドレス、および識別名を subjectAltName 拡張に追加し、クリティカルのマークを付けます。
altname="critical:IP=1.2.3.4,EMAIL=first.last@company.com,\ DN=C=US;O=Oracle;OU=Security;CN=John Smith"
このオプションは、inittoken コマンドとのみ使用できます。これは、初期化するデフォルトトークンを見つけるために使用します。使用するトークン名の書式についての詳細は、token オプションを参照してください。
このオプションは、X.509 証明書または証明書署名要求を生成する場合、または楕円曲線の鍵ペアを生成する場合に使用される楕円曲線パラメータを指定します。
次の曲線名がサポートされています。
secp112r1, secp112r2, secp128r1, secp128r2, secp160k1 secp160r1, secp160r2, secp192k1, secp192r1, secp224k1 secp224r1, secp256k1, secp256r1, secp384r1, secp521r1 sect113r1, sect113r2, sect131r1, sect131r2, sect163k1 sect163r1, sect163r2, sect193r1, sect193r2, sect233k1 sect233r1, sect239k1, sect283k1, sect283r1, sect409k1 sect409r1, sect571k1, sect571r1, c2pnb163v1, c2pnb163v2 c2pnb163v3, c2pnb176v1, c2tnb191v1, c2tnb191v2, c2tnb191v3 c2pnb208w1, c2tnb239v1, c2tnb239v2, c2tnb239v3, c2pnb272w1 c2pnb304w1, c2tnb359v1, c2pnb368w1, c2tnb431r1, prime192v2 prime192v3
曲線名の一覧は、gencert、gencsr、または genkeypair サブコマンドで listcurves オプションを使用した場合にも表示されます。
要求したオブジェクトが格納されている OpenSSL キーストアディレクトリを指定します。signcsr サブコマンドをファイルベースのキーストアに適用した場合、このオプションは証明書の発行者が存在するディレクトリを指定します。デフォルトは現在のディレクトリです。
証明書または証明書要求に追加する X.509v3 拡張の拡張鍵用途の値を指定します。
EKU_Name には、serverAuth、clientAuth、codeSigning、emailProtection、ipsecEndSystem、ipsecTunnel、ipsecUser、timeStamping、OCSPSigning、KPClientAuth、KPKdc、または scLogon のいずれかを指定します。
例:
eku=KPClientAuth,clientAuth
PKCS#11 トークン内に生成される対称鍵を抽出可能にするかどうかを指定します。有効な値は y および n です。デフォルト値は y です。
gencert サブコマンドの場合、このオプションは OpenSSL などファイルベースのキーストアにのみ適用されます。このオプションは、作成される鍵ファイルまたは証明書ファイルの出力形式を指定するために使用します。有効な書式は pem または der です。デフォルトの書式は pem です。
gencsr サブコマンドの場合、このオプションは CSR ファイルの出力エンコード形式を指定します。有効な書式は pem または der です。デフォルトの書式は pem です。
gencert および gencsr サブコマンドの場合、このオプションを使用すると、呼び出し側は X.509 証明書の署名を生成するために使用するハッシュアルゴリズムを指定できます。このオプションは、PKCS#11 のキーストアを使用して EC または RSA ベースの証明書を作成するときに使用できます。OpenSSL のファイルベースのキーストアを使用する場合、楕円曲線はサポートされません。
list および delete サブコマンドで objtype=cert および keystore=file の場合、これらのサブコマンドの証明書ファイル名を指定します。import サブコマンドの場合、インポートするファイル名を指定します。list、delete、および import サブコマンドで objtype=crl の場合、これらのサブコマンドの入力 CRL ファイル名を指定します。
証明書の発行者を指定します。
生成する秘密鍵または対称鍵のサイズ (ビット数) を指定します。
gencert および gencsr サブコマンドの場合、デフォルトの鍵長は 2048 ビットです。
genkey サブコマンドの場合、AES アルゴリズムを使用して生成する対称鍵の最小ビット数と最大ビット数は、それぞれ 128 と 256 です。ARCFOUR アルゴリズムを使用する場合の最小ビット数と最大ビット数は、それぞれ 8 と 2048 です。一般的な秘密鍵の場合、最小ビット数は 8 で最大ビット数は任意です。AES、ARCFOUR、または一般的な秘密鍵のデフォルトの鍵長は 128 です。DES 鍵または 3DES 鍵の場合、鍵長は固定であるため、このオプションを指定しても無視されます。
基本となるキーストアのタイプ (PKCS#11 トークン、またはファイルベースのプラグイン) を指定します。
生成する秘密鍵または対称鍵のタイプを指定します。
gencert および gencsr サブコマンドの場合、有効な秘密鍵のタイプは rsa、ec, 、または dsa です。デフォルトの鍵のタイプは rsa です。
genkey サブコマンドの場合、有効な対称鍵のタイプは aes、arcfour、des、3des、または generic です。デフォルトの鍵のタイプは aes です。
keyusage=[critical:]usage,usage,usage,...
Key Usage strings: * digitalSignature * nonRepudiation * keyEncipherment * dataEncipherment * keyAgreement * keyCertSign * cRLSign * encipherOnly * decipherOnly
例 1: cert (または csr) を使用して証明書または CRL 以外のデータを署名および検証するため (digitalSignature)、および暗号化鍵以外のデータを暗号化および復号化するため (dataEncipherment) に使用できるように KeyUsage を設定する: keyusage=digitalSignature,dataEncipherment
例 2: 上記 (例 1) と同じであるが、さらに critical ビットを設定する: keyusage=critical:digitalSignature,dataEncipherment
このオプションは、ファイルベースおよび PKCS#11 鍵ストア内の対称鍵の鍵値を 16 進数形式で表示します。有効な値は y および n です。デフォルト値は n です。
gencert サブコマンドの場合、このオプションは、PKCS#11 トークン内の秘密鍵と自己署名証明書のラベルを指定します。
gencsr サブコマンドの場合、このオプションは、PKCS#11 トークン内の秘密鍵のラベルを指定します。
list サブコマンドでは、このオプションは、リストを絞り込む PKCS#11 トークン内の X.509 証明書 (objtype=cert の場合) または非公開鍵 (objtype=key の場合) のラベルを指定します。
delete サブコマンドでは、このオプションは、指定されたオブジェクトを PKCS#11 トークンから削除する X.509 証明書 (objtype=cert の場合) または非公開鍵 (objtype=key の場合) のラベルを指定します。
サポートされている楕円曲線名の一覧を表示します。このオプションは、gencert、gencsr、または genkeypair サブコマンドでのみ使用できます。
証明書の有効期間を指定します。証明書の有効期間は、number-hour、number-day、または number-year で指定できます。指定できる書式は 1 つだけです。デフォルトは 1-year です。たとえば、このオプションは、lifetime=1-hour、lifetime=2-day、lifetime=3-year のようになります。
このオプションは、inittoken コマンドとのみ使用できます。これは、初期化するトークンに割り当てられたラベルを変更するために使用します。使用するトークン名の書式についての詳細は、token オプションを参照してください。
PKCS#11 トークンの場合、これは gencert コマンドの「label」オプションの代替として使用できます。
オブジェクトのクラス (cert、key、または crl) を指定します。download サブコマンドの場合、このオプションを指定しないと、デフォルトの crl が使用されます。
オブジェクトのタイプ (非公開オブジェクトまたは公開オブジェクト、あるいはその両方) を指定します。このオプションは、list および delete サブコマンドで objtype=key と指定した場合の PKCS#11 トークンにのみ適用されます。デフォルト値は public です。
list サブコマンドの場合、label オプションをこのオプションと組み合わせると、鍵のリストをさらに絞り込むことができます。delete サブコマンドの場合、このオプションを使用すると、削除する鍵を公開鍵または秘密鍵だけに絞り込むことができます。また、label オプションを省略すれば、すべての公開鍵、すべての非公開鍵、または両方のタイプのすべての鍵、を削除対象にできます。objtype パラメータの選択肢として public、private、および both を使用できるのは PKCS#11 キーストアの場合だけですが、これは、以前のバージョンの pktool コマンドとの互換性を維持するためです。
書き込み先の出力証明書ファイル名を指定します。このオプションは、OpenSSL などファイルベースのプラグインに対して指定する必要があります。このオプションともに、outkey=key-fn オプションも指定する必要があります。
書き込み先の出力 CRL ファイル名を指定します。
書き込み先の出力 CSR ファイル名を指定します。
export サブコマンドの場合、このオプションは、作成される出力ファイル名を指定します。import サブコマンドの場合、このオプションは、証明書または CRL の出力ファイル名を指定します。OpenSSL などファイルベースのプラグインにのみ適用されます。download サブコマンドの場合、このオプションを指定しないと、ダウンロードされたファイルの名前は URL 文字列のベース名になります。
import サブコマンドの場合、このオプションは、指定した PKCS#12 ファイルからファイルベースのプラグインに抽出される証明書または鍵の出力形式を指定します。有効な値は pem または der です。デフォルトは pem です。CRL を CRL ファイルベースのキーストアにインポートする場合、このオプションは、CRL の出力形式を指定します。有効な値は pem または der です。デフォルトは der です。export サブコマンドの場合、このオプションは、作成される指定の出力ファイルの形式を指定します。サポートされている書式は、pem、der、または pkcs12 です。デフォルトは pkcs12 です。
書き込み先の出力秘密鍵ファイル名を指定します。このオプションは、ファイルベースのキーストアを使用する場合にのみ必要です。
このオプションは genkey サブコマンドで使用され、PKCS11 キーストアとファイルベースのキーストアに適用されます。print=y の場合、genkey サブコマンドは、生成された鍵の鍵値を 16 進数で 1 行に出力します。デフォルト値は n です。PKCS11 キーストアの場合、sensitive=y または extractable=n と指定して対称鍵を作成すると、print オプションを y に設定していても鍵値は表示されません。鍵は作成されますが、「cannot reveal the key value」という警告が表示されます。
PKCS#11 トークン内に生成される対称鍵を機密扱いするかどうかを指定します。有効な値は y および n です。デフォルト値は n です。
証明書に対して一意のシリアル番号を指定します。シリアル番号は 16 進数値で指定する必要があります。例: 0x0102030405060708090a0b0c0d0e0f
トークンのインタフェースになるスロットの ID を指定します。slotid は変わる可能性があります。これが起こる可能性があるのは、cryptoadm コマンドでトークンプロバイダを変更、追加、または削除した場合です。詳細は、cryptoadm(8) のマニュアルページを参照してください。
そのため、slotid= の代わりに label= を使ってトークンプロバイダを特定することをお勧めします。トークンラベルは、pktool tokens 出力の「Token Name」列の下に表示されます。
証明書または証明書要求に対して特定の証明書所有者を指定します。subject= の設定例を次に示します。
subject=O=Sun Microsystems Inc., \ OU=Solaris Security Technologies Group, \ L=Ashburn, ST=VA, C=US, CN=John Smith
トークンラベルの末尾にスペースがある場合でも、このオプションではユーザーがスペースを入力する必要はありません。
コロンで区切られたトークン識別文字列です (token:manuf:serial)。いずれかの部分に文字として : を含める場合、バックスラッシュ (\) を使用してエスケープする必要があります。: がない場合、文字列全体 (最大 32 文字) がトークンラベルとみなされます。: が 1 つだけある場合、文字列はトークンラベルと作成者となります。keystore=pkcs11 と指定した場合、このオプションを指定しないと、デフォルトで pkcs11_softtoken が使用されます。
setpin コマンドの実行対象となるユーザーのタイプを指定します。デフォルトは標準ユーザーですが、so を指定すると、トークンのセキュリティー責任者の PIN を設定できます。
CRL または証明書ファイルをダウンロードするための URL を指定します。
プロキシサーバーのホスト名とポート番号を指定します。書式は http://hostname[:port] または hostname[:port] です。このオプションを指定しないと、download サブコマンドは http_proxy 環境変数をチェックします。コマンド行オプションが環境変数よりも優先されます。
次の例では、証明書を作成し、コマンドで指定したキーストアに格納しています。
$ pktool gencert keystore=pkcs11 label=WebServerCert \ subject="O=Oracle Inc., OU=Solaris Security Technologies Group, \ L=Ashburn, ST=VA, C=US, CN=John Smith" serial=0x01 \ keytype=rsa keylen=2048 hash=sha512使用例 2 証明書署名要求を生成する
次の例では、CSR を作成し、コマンドで指定したキーストアに格納しています。
$ pktool gencsr keystore=pkcs11 subject="O=Example Company Inc., \ OU=HR Department, L=Ashburn, ST=VA, C=US, CN=John Smith" \ keytype=rsa keylen=2048 hash=sha256 outcsr=csr.dat \ label=TestCert使用例 3 証明書をインポートする
次の例では、証明書オブジェクトを指定の入力ファイルからコマンドで指定したキーストアにインポートしています。
$ pktool import keystore=pkcs11 objtype=cert infile=mycert.pem \ label=mycert
次の終了ステータスが返されます。
正常終了。
エラーが発生しました。
属性についての詳細は、マニュアルページの attributes(7) を参照してください。
|
list サブコマンドに keystore=[file|pkcs11] objtype=key keyvalue=y|n を指定する場合のコマンド呼び出しおよび解析可能な出力は「確実」です。ほかのすべての出力は非インタフェースです。
attributes(7), pkcs11_softtoken(7)
https://tools.ietf.org/html/rfc7292RSA PKCS#12 v1.0
SECG Recommended Elliptic Curve Domain Parameters http://www.secg.org