私たちは独自のOpenVPNサーバーCAインフラストラクチャを持っています。自己署名ルートCAを作成し、OpenVPNプロセス/ネットワークごとに中間CAを作成しました。次のコマンドを使用して中間CAを生成します。
openssl req -new -batch -days 3650 -newkey rsa:2048 -nodes sha256 -keyout network.hostname.ca.key -out sign_request.csr -subj "/C=land/ST=region/L=town/O=org/OU=CAnetwork/CN=cn/emailAddress=email" -config /path/to/config
openssl ca -cert root.ca.crt -keyfile root.ca.key -in sign_request.csr -out network.hostname.ca.crt -noemailDN -md sha256 -extensions v3_ca -outdir /some/dir -config /path/to/config -batch
これで、中間CAがすぐに期限切れになる予定であり(数ヶ月以内に)、証明書を更新したいと思います。 10年前と同じコマンドを実行してこれを試しましたが、新しいキーを生成するのではなく、中間caの古いキーを使用しました(発行された証明書を有効にしたいからです!)。しかしこれは文句を言ったSerial number 01 has already been issued
。シリアル番号01は、現在/賞味期限の中間製品のシリアル番号です。
既存の有効な中間CAを無視し、より長い有効期間で再生成して、新しいCAが期限切れの古いCAで生成されたクライアント証明書を検証するようにopensslに指示するにはどうすればよいですか?
ベストアンサー1
CSR生成コマンドが間違っているようです。
openssl req -new -batch -days 3650 -newkey rsa:2048 -nodes sha256 -keyout network.hostname.ca.key -out sign_request.csr -subj "/C=land/ST=region/L=town/O=org/OU=CAnetwork/CN=cn/emailAddress=email" -config /path/to/config
network.hostname.ca.key という新しいキーが生成されます。実際に更新するには、既存のキーを使用する必要があります。私の考えは次のとおりです。
openssl req -new -batch -days 3650 -key network.hostname.ca.key -sha256 -out sign_request.csr -subj "/C=land/ST=region/L=town/O=org/OU=CAnetwork/CN=cn/emailAddress=email" -config /path/to/config