がをopenssl x509
使用している間、使用-extfile
しているコマンドは構成ファイルを指定するopenssl req
必要-config
があります。
したがって、次のようなコマンドを使用できます。
openssl req -x509 -config cert_config -extensions 'my server exts' -nodes \
-days 365 -newkey rsa:4096 -keyout myserver.key -out myserver.crt
識別名ビットの通常のプロンプトはデフォルトの構成ファイル(おそらく/System/Library/OpenSSL/openssl.cnf
OS Xにあります)で定義されていますが、を使用する-config
とこのファイルは処理されないため、構成ファイルにもいくつかのDNビットを含める必要があります。したがって、上記の参照cert_config
は次のようになります。
[ req ]
prompt = no
distinguished_name = my dn
[ my dn ]
# The bare minimum is probably a commonName
commonName = secure.example.com
countryName = XX
localityName = Fun Land
organizationName = MyCo LLC LTD INC (d.b.a. OurCo)
organizationalUnitName = SSL Dept.
stateOrProvinceName = YY
emailAddress = ssl-admin@example.com
name = John Doe
surname = Doe
givenName = John
initials = JXD
dnQualifier = some
[ my server exts ]
extendedKeyUsage = 1.3.6.1.5.5.7.3.1
# 1.3.6.1.5.5.7.3.1 can also be spelled serverAuth:
# extendedKeyUsage = serverAuth
# see x509v3_config for other extensions
コメントに示されているように、DNフィールドのほとんどを省略できます。HTTPSを使用する場合、必要なのはホスト名と一致するCNだけです。
req(1)のDistinguished Name and Attribute Section Formatセクションは、上記の設定を変更して、複数の同様の証明書/リクエストを生成したい場合に値を要求する(そしてデフォルト値を提供する)方法を示しています。
他の証明書拡張が必要な場合は、x509v3_config(5)
で、拡張セクションで指定できる他のビットを確認してください
。