IdP/SPで用いる自己署名証明書の作成方法例

IdP/SPで用いる自己署名証明書の作成方法例

IdP/SPで用いる自己署名証明書のOpenSSLによる作成例を示します。

(補足) この例では下記の鍵ペア及び証明書が作成されます。

  • 鍵アルゴリズム: RSA

  • 鍵長: 3072bit

  • 主体者DN: CN = idp.example.ac.jp

  • 有効期限: 1185日 (3年3ヶ月)

まず、下記内容でOpenSSLの設定ファイル(openssl.cnf)を作成します。

[ req ] prompt = no encrypt_key = no default_bits = 3072 default_md = sha256 distinguished_name = dn x509_extensions = ext string_mask = utf8only [ dn ] commonName = ${ENV::CN} [ ext ] basicConstraints = critical, CA:true keyUsage = critical, digitalSignature, keyEncipherment, keyCertSign extendedKeyUsage = serverAuth, clientAuth subjectKeyIdentifier = hash authorityKeyIdentifier = keyid:always, issuer subjectAltName = DNS:${ENV::CN}

openssl reqコマンドにより鍵ペア及び証明書を作成します。

$ export CN=idp.example.ac.jp DATE=$(date +%Y%m%d) $ openssl req -new -x509 -newkey rsa -keyout $CN-$DATE-selfsigned.key -days 1185 -out $CN-$DATE-selfsigned.cer -config openssl.cnf

opensslコマンドの実体がLibreSSLの場合、${ENV::CN}の部分でエラーが発生する可能性があります。その場合はopenssl.cnfの${ENV::CN}の部分(2か所)をホスト名で置き換えてください。

最後に、作成した証明書を確認します。

$ openssl x509 -in $CN-$DATE-selfsigned.cer -noout -text