ここしばらくは、サーバの設定をしているのですが、このうち富士通のサーバがあり、ServerView という管理ツール類が提供されていて、統括的な管理はもちろん、個別にも管理できるようになっているようです。そのうち、ServerView Connector Service(SCS/SSM) という単独でのリモート管理につかうパッケージがあり、linux向けのものをインストールしてみた所、動作には問題はないものの、代替名が含まれないため、生成された証明書をインポートしてもSSLがエラーになりました。そこで、中身を少しのぞいてみたのですが、証明書を作成するプログラムはシェルスクリプトで記述されており、該当部分は以下のようになっていました。
かもしれませんが追っては調べていません。修正・追記2025/05/08:ではないようです。というのも almalinux 9.5 でテストした所、同じエラーが出て同じ修正をした所動作したためです。)
とりま備忘録として挙げてみました。
今回は以上です。それでは。
#/opt/fujitsu/ServerViewSuite/SCS/scs_cert_generator.sh _GENERATED_CERTIFICATE=$(openssl x509 -req -in <(echo "$_GENERATED_CSR") -sha256 -extfile "$SCS_OPENSSL_CONFIG_FILE" \ -extensions v3_ca -signkey <(echo "$_PRIVATE_KEY") -out >(cat) -days ${SCS_OPENSSL_DAYS} 2>/dev/null)このスクリプトのうち、$SCS_OPENSSL_CONFIG_FILE が OpenSSLの cnf ファイルで中身は一般的な cnf ファイルと同じでした。そこで、この cnfファイルを編集し代替名を生成するようにしたつもりだったのですが、このスクリプトの記述のままだと、なぜか生成された証明書に代替名がはいりません。
# /opt/fujitsu/ServerViewSuite/SCS/ssl/default.cnf [ v3_req ] # 以下を追加 subjectAltName = @alt_names # 以下を追加 [ alt_names ] DNS.1 = sv112.xronos-msys.com DNS.2 = sv112そこで、一旦、代替名を入れる sslコマンドの例をしらべたところ、スクリプトの記述の順序が違うものですが、同じパラーメータを与えた所、生成された証明書に代替名が含まれていることが確認できました。
openssl x509 -in server.crt -text -noout --snip X509v3 extensions: X509v3 Basic Constraints: CA:FALSE X509v3 Key Usage: Digital Signature, Non Repudiation, Key Encipherment, Data Encipherment X509v3 Extended Key Usage: TLS Web Server Authentication, TLS Web Client Authentication X509v3 Subject Alternative Name: DNS:sv106.example.com, DNS:sv106 --snipとなると、該当スクリプトのパラメータ記述順序が疑わしいことになりますが、ほんまかいなとおもいつつも、代替名を生成したスクリプトと同じパラーメータ記述順序にしてみました。
_GENERATED_CERTIFICATE=$(openssl x509 -req -sha256 -days ${SCS_OPENSSL_DAYS} -in <(echo "$_GENERATED_CSR") \ -signkey <(echo "$_PRIVATE_KEY") -out >(cat) -extensions v3_req -extfile "$SCS_OPENSSL_CONFIG_FILE" 2>/dev/null)結果はビンゴでした。つまりはOpenSSLのパラーメータ記述には何らかの順位があり、注意する必要がある場合がある、ということのようです。(ちなみにOpenSSLは OpenSSL 3.5.0 8 Apr 2025 (Library: OpenSSL 3.5.0 8 Apr 2025) / on Debian 13 trixieで rpmパッケージを alien + dpkg-buildpackge をつかってリパッケージしたのですが、Debian 側の OpenSSL のバグ
今回は以上です。それでは。
コメント
コメントを投稿