自己署名証明書は、公的に署名された証明書が認証局 (CA) から返されるのを待っている間に、クライアントとサーバーとの間の SSL セッションを使用可能にする証明書を提供します。秘密鍵および公開鍵は、このプロセス中に作成されます。自己署名証明書を作成すると、自己署名した X509 証明書が、確認されている鍵データベースに生成されます。自己署名証明書には、その対象名と同じ発行者名が含まれています。
このタスクについて
ユーザー自身がプライベート Web ネットワークの認証局になっている場合は、この手順を使用します。
IKEYCMD コマンド行インターフェースまたは GSKCapiCmd ツールを使用して、自己署名証明書を作成します。
手順
- 以下のようにして、IKEYCMD コマンド行インターフェースを使用して自己署名証明書を作成します。
gskcmd -cert -create -db <filename> -pw <password> -size <2048 | 1024 | 512> -dn <distinguished_name>
-label label> -default_cert <yes | no> - expire <days> -san dnsname <DNS name value>[,<DNS name value>]
-san emailaddr <email address value>[,<email address value>]
-san ipaddr <IP address value>[,<IP address value>][-ca <true | false>]
各部の意味は、次のとおりです。- -cert は、自己署名証明書を指定します。
- -create は、作成アクションを指定します。
- -db <filename> は、データベース名です。
- -pw <password> は、鍵データベースにアクセスするためのパスワードです。
- -dn <distinguished_name> - X.500 識別名を示します。
以下のフォーマットの引用符付きストリングとして入力します (CN、O、および C のみが必要です)。CN=common_name、
O=organization、OU=organization_unit、L=location、ST=state、province、C=country
例えば、以下のようになります。"CN=weblinux.raleigh.ibm.com,O=IBM,OU=IBM
HTTP Server,L=RTP,ST=NC,C=US"
- -label <label> は、データベースで鍵および証明書を識別するために使用する説明コメントです。
- -size <2048 | 1024 | 512> は、2048、1024、または 512 の鍵サイズを示します。デフォルトの鍵サイズは 1024 です。2048 の鍵サイズは、Global Security Kit (GSKit) Version 7.0.4.14 以降を使用している場合に使用可能です。
- -default_cert<yes | no> は、これが鍵データベースのデフォルトの証明書であるかどうかを指定します。
- -expire <days> は、新規自己署名デジタル証明書のデフォルトの有効期間が 365 日であることを示しています。最小値は 1 日です。最大値は 7300 日 (20 年) です。
- -san * <subject alternate name attribute value> | <subject
alternate name attribute value> は、認証要求内のサブジェクト代替名拡張機能を指定します。サブジェクト代替名拡張機能は、
署名付き証明書に対応する代替ホスト名を SSL クライアントに通知します。
これらのオプションは、
ikminit.properties ファイルに以下の行が入力されている場合にのみ有効です。
DEFAULT_SUBJECT_ALTERNATE_NAME_SUPPORT=
true* (アスタリスク) は、以下の値を入れることができます。
- dnsname
- 値は、RFC 1034 に準拠する「推奨名前構文」を使用してフォーマットされる必要があり、
例は zebra,tek.ibm.com などです。
- emailaddr
- 値は、RFC 822 に準拠する「追加仕様」としてフォーマットされる必要があり、
例は myname@zebra.tek.ibm.com などです。
- ipaddr
- 値は、RFC 1338 および RFC 1519 に準拠してフォーマットされた IP アドレスを表すストリングで、例は 193.168.100.115 などです。
これらのオプションの値は、生成された証明書のサブジェクト代替名拡張属性に追加されます。
これらのオプションが使用されなかった場合は、この拡張属性は証明書に追加されません。
- -ca <true | false> は、自己署名証明書に対する基本的な拡張子の制約を指定します。渡される値が TRUE の場合、CA:true および PathLen:<max int> を使用して拡張子が追加され、渡される値が FALSE の場合は追加されません。
- GSKCapiCmd ツールを使用して、自己署名証明書を作成します。 GSKCapiCmd は、CMS 鍵データベース内の鍵、証明書、および証明書要求を管理するツールです。このツールは、既存の GSKit Java コマンド行ツールが持っている機能をすべて備えています。ただし、GSKCapiCmd は CMS および PKCS11 鍵データベースをサポートしています。CMS または PKCS11 以外の鍵データベースを管理する場合は、既存の Java ツールを使用してください。GSKCapiCmd を使用すると、CMS 鍵データベースのすべての側面を管理できます。GSKCapiCmd は、システムに Java がインストールされていなくても使用できます。
gskcapicmd -cert -create [-db <name>]|[-crypto <module name> -tokenlabel <token label>][-pw <passwd>]
-label <label> -dn <dist name> [-size <2048|1024|512>][-x509version <1|2|3>][-default_cert <yes|no>]
[-expire <days>][-secondaryDB <filename> -secondaryDBpw <password>] [-ca <true|false>][-fips]
[-sigalg<md5|sha1|sha224|sha256|sha384|sha512>]
注: UNIX タイプのオペレーティング・システムでは、常にすべてのタグに関連する文字列を二重引用符 (“”) でカプセル化してください。また、文字‘!'、‘¥'、‘”'、‘`' がストリング値に含まれる場合は、‘¥' 文字を使用して、これらの文字をエスケープする必要があります。
そうすることにより、一部のコマンド行シェルがこれらの値の中の特定文字を解釈しないようにすることができます。
(例えば、gsk7capicmd –keydb –create –db “/tmp/key.kdb”
–pw “j¥!jj”)
ただし、gsk7capicmd により値 (例えばパスワード) の入力を求めるプロンプトが表示される場合は、ストリングに引用符を付けたり拡張文字を追加したりしないようにしてください。
これは、シェルにはこれ以上この入力への影響力がないためです。