ウェブサーバのサーバ証明書の署名を依頼するために証明書署名要求ファイルをopensslコマンドで作成しますが、エラーが表示されることがあります。
problems making Certificate Request 139998267029312:error:0D07A097:asn1 encoding routines:ASN1_mbstring_ncopy:string too long:crypto/asn1/a_mbstr.c:107:maxsize=2
目次
opensslコマンド reqを対話式で実行した場合のサブジェクト項目について確認すると下記の内容が表示されます。
Country Name (2 letter code) [XX]: State or Province Name (full name) []: Locality Name (eg, city) [Default City]: Organization Name (eg, company) [Default Company Ltd]: Organizational Unit Name (eg, section) []: Common Name (eg, your name or your server's hostname) []: Email Address []:
このエラーはサブジェクト項目のCountry Nameが文字数2文字を超えているため発生しています。
opensslコマンドを引数で使用しているときのサブジェクト項目CについてJPと2文字にすることで正常に証明書署名要求ファイルが作成されます。
-subj "/C=Japan/ST=[都道府県]/L=[市区町村]/O=[会社名]/CN=[FQDN]" ↓ -subj "/C=JP/ST=[都道府県]/L=[市区町村]/O=[会社名]/CN=[FQDN]"
opensslコマンド入力時には文字数制限を確認しておく必要があります。エラーが発生した場合は、対話形式に変えてみて証明書署名要求ファイルが作成されるか確認しました。制限事項などの間違いには気を付ける必要があります。