web-dev-qa-db-ja.com

v1の代わりに証明書v3を生成する

証明書v3を取得しようとしていますが、v1を取得しています。私は次のコマンドを使用しています:

openssl req -out server.csr -newkey rsa:2048 -nodes -keyout server.key -config san_server.cnf
openssl ca -config san_server.cnf -create_serial -batch -in server.csr -out server.crt

設定ファイルsan_server.cnfコンテンツ:

[ca]
default_ca=CA_default

[CA_default]
dir=./ca
database=$dir/index.txt
new_certs_dir=$dir/newcerts
serial=$dir/serial
private_key=./ca.key
certificate=./ca.crt
default_days=3650
default_md=sha256
policy=policy_anything
copy_extensions=copyall

[policy_anything]
countryName=optional
stateOrProvinceName=optional
localityName=optional
organizationName=optional
organizationalUnitName=optional
commonName=optional
emailAddress=optional

[req]
Prompt=no
distinguished_name=req_distinguished_name
req_extensions=v3_req
x509_extensions=v3_ca

[req_distinguished_name]
countryName=EN
stateOrProvinceName=Some-State
localityName=London
organizationName=Internet Widgits Pty Ltd
commonName=192.168.1.8

[v3_req]
subjectAltName=@alt_names

[v3_ca]
subjectAltName=@alt_names

[alt_names]
IP.1=127.0.0.1
IP.2=192.168.1.8
DNS.1=localhost

その結果、v1証明書を取得しました。 v3を作成する方法は?

1
vico

1.0.2g 1.1.0m(2017年11月の両方)または1.1.1(2018年9月)より前のOpenSSLを使用している場合、これを行うバグがありました https://unix.stackexchange.comを参照)/questions/393601/local-ssl-certificates-in-chrome-ium-63 / -そして私の回避策 https://unix.stackexchange.com/questions/371997/creating-a- local-ssl-certificate は、CA構成セクション([CA_default])またはコマンドラインで、実際には拡張機能を含まない拡張機能セクションの名前を指定することです。

ただし、v3証明書を使用する場合、ほとんどのアプリケーションでは、する必要があります少なくともBasicConstraintsとKeyUsage拡張機能があり、おそらくそれ以上あります。それらは主にサブジェクトに依存しないため、CSRではなくCA構成で指定されます。

また、ほとんどのリライアは約10年間MD5を使用した証明書の署名を受け入れていません。また、多くのリライアは最近、「粉砕」の結果としてSHA-1を使用した署名の受け入れをやめました。修羅場」。さらに、CAキーがEEキーと同じくらい強力(大きい)であると想定すると、RSA-2048と組み合わせてこれらのハッシュを推奨することはありませんでした。全員(たとえば、すべての「実際の」パブリックCA)はSHA-256を使用します。

1