GSKit を使用した自己署名証明書の作成
GSKitコマンド gsk8capicmd_64 を実行する際に、ラベル、キーデータベースへのパス、証明書の識別名、その他の値を指定することで、自己署名証明書を作成します。
プロシージャー
- GSKitを開き、以下のコマンドを実行します。
説明gsk8capicmd_64 -cert -create -db server.p12 -stashed -label myselfsigned -dn "CN=myserver.mycompany.com" -size 2048 -sigalg SHA256_WITH_RSA-dbは、鍵データベースへの完全修飾パスです。 Windows プラットフォームでは、MSCS に自己署名証明書を作成するために-db mscngオプションを組み込むことができます。注: MSCS を使用する場合は、コマンドから-stashedオプションを省略してください。-labelは、作成時に自己署名証明書に付加されるラベルです。-dn <string>は、証明書を一意的に識別する識別名です。 入力は、以下の形式の引用符付きストリングでなければなりません。 共通名 (CN) 属性のみが必須です。- cn = 共通名 (common name)
- O = 組織名
- OU = 組織単位
- L = ロケーション
- ST = 都道府県/州
- C = 国
- DC = ドメイン・コンポーネント
- EMAIL = E メール・アドレス
-sizeは、作成する新しい鍵ペアの鍵サイズ (ビット単位) です。 RSA 証明書の場合、最小鍵サイズは 2048 ビットです。-sigalg <signature_algorithm>は、自己署名証明書の作成時に使用される署名アルゴリズムです。 このアルゴリズムは、新しい自己署名証明書に関連した署名を作成する場合に使用します。 生成される鍵タイプは、この署名アルゴリズムと一致するように選択されます。
- Db2 11.5.6 以降のクライアントでホスト名検証を有効にする。バージョン11.5.6以降Db2クライアントでホスト名検証を有効にしている場合は、のクライアントが接続するように設定されているDb2インスタンスの自己署名証明書に、 1つ以上のホスト名を含める必要がある。 これらのサーバーは、 pureScale Db2Db2 pureScale、HADR、データ・パーティショニング機能(DPF)、その他のトポロジーなど、さまざまな構成があります。ホスト名は、証明書が存在する Db2 インスタンスに応じて、さまざまな方法で表されます。
- 単一サーバーは、 -dn オプションの一部として指定される共通名 (CN) フィールドを使用して表されます。
- 1 つ以上のサーバーが、完全修飾ホスト名、IP アドレス、またはワイルドカード (*) ホスト名を使用して、サブジェクト代替名 (san_) フィールドに表されます。
以下の例は、共通名フィールドを使用して単一サーバーのホスト名を追加する構文を示しています。-dn "CN=xyz.db2.example.com,…"xyz.db2.example.comは完全修飾ホスト名です。ホスト名検証の実行時に、CN フィールド内のワイルドカード・ホスト名は、証明書内に SAN 値がない限りサポートされます。 以下の例は、サブジェクト代替名フィールド内で単一サーバーのホスト名を追加する構文を示しています。
複数の SAN 値は、次のようにコンマで区切ります。-san_dnsname "xyz.db2.example.com"
証明書内にサブジェクト代替名 (SAN) 項目がある場合、共通名は無視されます。 IP アドレスを使用して証明書内で 1 つ以上のサーバーを表すことができます。 SAN フィールド -san_ipaddrでは、複数の IP アドレスがコンマで区切られています。 以下の例は、ホスト名検証のために複数の IP アドレスを追加する構文を示しています。-san_dnsname "xyz.db2.example.com,abc.db2.example2.com"
ホスト名検証のために、DNS 名と IP アドレスの両方を SAN に組み込むことができます。 以下の例に、その構文を示します。-san_ipaddr "127.0.0.1, 127.0.0.2"
ワイルドカード・ホスト名を使用して、同じドメインに属する複数のホストを表すことができます。 複数のワイルドカード・ホスト名をコンマで区切って同じ自己署名証明書に追加して、別個のドメイン内のホストのグループを表すことができます。 ホスト名検証の実行時には、共通名フィールド内のワイルドカード (*) ホスト名がサポートされます。 以下の例は、 db2.example.com ドメイン内のすべてのホストを表すワイルドカード・ホスト名の構文を示しています。-san_dnsname "xyz.db2.example.com", -san_ipaddr "127.0.0.1"
以下の例は、別個のドメインに属するホストを表すワイルドカード・ホスト名を追加する構文を示しています。-san_dnsname "*.db2.example.com"
同じ SAN 内の完全修飾ホスト名とワイルドカード・ホスト名は、コンマで区切ります。 以下の例は、完全修飾ホスト名とワイルドカード・ホスト名を同じ SAN 内に組み込む構文を示しています。-san_dnsname "*.db2.example.com,a*.db2.example2.com"-san_dnsname "xyz.db2.example.com,*.db2.example2.com"