付録 A - 自己管理型配置をテストするための OpenSSL CA 証明書
警告
Disclaimer
このページはテスト目的のみで提供されており、証明書はテスト目的のみ で提供されています。
次のチュートリアルでは、テストx.509 証明書を作成するためのいくつかのガイドラインを示します。
これらの証明書は本番環境では使用しないでください。 代わりに、セキュリティ ポリシーに従ってください。
OpenSSL の詳細については、 公式 OpenSSL Docsを参照してください。 このチュートリアルでは OpenSSL を使用していますが、このドキュメントを OpenSSL の権限のある参照として使用しないでください。
手順
次の手順では、テストCA PEM ファイルを作成する手順を概説します。 この手順では、サーバーまたはクライアントのテスト証明書に署名するための CA PEM ファイルと中間認証局証明書とキー ファイルの両方が作成されます。
A. OpenSSL 構成ファイルを作成する
次の内容で構成ファイル
openssl-test-ca.cnf
を作成します。# NOT FOR PRODUCTION USE. OpenSSL configuration file for testing. # For the CA policy [ policy_match ] countryName = match stateOrProvinceName = match organizationName = match organizationalUnitName = optional commonName = supplied emailAddress = optional [ req ] default_bits = 4096 default_keyfile = myTestCertificateKey.pem ## The default private key file name. default_md = sha256 ## Use SHA-256 for Signatures distinguished_name = req_dn req_extensions = v3_req x509_extensions = v3_ca # The extentions to add to the self signed cert [ v3_req ] subjectKeyIdentifier = hash basicConstraints = CA:FALSE keyUsage = critical, digitalSignature, keyEncipherment nsComment = "OpenSSL Generated Certificate for TESTING only. NOT FOR PRODUCTION USE." extendedKeyUsage = serverAuth, clientAuth [ req_dn ] countryName = Country Name (2 letter code) countryName_default = countryName_min = 2 countryName_max = 2 stateOrProvinceName = State or Province Name (full name) stateOrProvinceName_default = TestCertificateStateName stateOrProvinceName_max = 64 localityName = Locality Name (eg, city) localityName_default = TestCertificateLocalityName localityName_max = 64 organizationName = Organization Name (eg, company) organizationName_default = TestCertificateOrgName organizationName_max = 64 organizationalUnitName = Organizational Unit Name (eg, section) organizationalUnitName_default = TestCertificateOrgUnitName organizationalUnitName_max = 64 commonName = Common Name (eg, YOUR name) commonName_max = 64 [ v3_ca ] # Extensions for a typical CA subjectKeyIdentifier=hash basicConstraints = critical,CA:true authorityKeyIdentifier=keyid:always,issuer:always 任意。 デフォルトの識別名(DN)値を更新できます。
B. テスト CA PEM ファイルを生成する
テストCA キー ファイル
mongodb-test-ca.key
を作成します。openssl genrsa -out mongodb-test-ca.key 4096 Tip
この秘密キーは、CA の有効な証明書を生成するために使用されます。 この追加のすべてのファイルと同様に、この秘密キーはテスト目的のみで使用されていますが、適切なセキュリティ プラクティスを採用し、このキー ファイルを保護する必要があります。
生成されたキー ファイルを使用して CA 証明書
mongod-test-ca.crt
を作成します。 [Distinguished Name(識別名)] の値を入力するよう求められたら、テストCA 証明書に適した値を入力します。openssl req -new -x509 -days 1826 -key mongodb-test-ca.key -out mongodb-test-ca.crt -config openssl-test-ca.cnf 中間証明書の秘密キーを作成します。
openssl genrsa -out mongodb-test-ia.key 4096 Tip
この秘密キーは、中間認証の有効な証明書を生成するために使用されます。 この追加のすべてのファイルと同様に、この秘密キーはテスト目的のみで使用されていますが、適切なセキュリティ プラクティスを採用し、このキー ファイルを保護する必要があります。
中間証明書の証明書署名リクエストを作成します。 [Distinguished Name(識別名)] の値を入力するよう求められたら、テストの中間認証局証明書に適した値を入力します。
openssl req -new -key mongodb-test-ia.key -out mongodb-test-ia.csr -config openssl-test-ca.cnf 中間証明書
mongodb-test-ia.crt
を作成します。openssl x509 -sha256 -req -days 730 -in mongodb-test-ia.csr -CA mongodb-test-ca.crt -CAkey mongodb-test-ca.key -set_serial 01 -out mongodb-test-ia.crt -extfile openssl-test-ca.cnf -extensions v3_ca テスト CA 証明書
mongod-test-ca.crt
と テスト 中間証明書 から テスト CA PEM ファイルを作成します。mongodb-test-ia.crt
cat mongodb-test-ia.crt mongodb-test-ca.crt > test-ca.pem
TLS/SSL テストmongosh
用に mongod
、 、またはmongos
を構成するときに テスト PEM ファイルを使用できます。
テスト中間認証を使用して、サーバーとクライアントの両方のテスト証明書に署名できます。 単一の認証局がクライアントとサーバーの両方の証明書を発行する必要があります。