Opnessl が発行する CSR のストリングタイプ
opnessl.cnf で CSR 発行時のストリンプタイプを指定可能です。
ベリサイン等、証明書発行期間では SSL証明書申請時にCSRのストリングタイプで
エラーが発生する。
■ Openssl.cnf 内のストリングタイプ設定箇所
・ cat <openssl.cnf ファイルを指定>
# This sets a mask for permitted string types. There are several options.
# default: PrintableString, T61String, BMPString.
# pkix : PrintableString, BMPString.
# utf8only: only UTF8Strings.
# nombstr : PrintableString, T61String (no BMPStrings or UTF8Strings).
# MASK:XXXX a literal mask value.
# WARNING: current versions of Netscape crash on BMPStrings or UTF8Strings
# so use this option with caution!
# we use PrintableString+UTF8String mask so if pure ASCII texts are used
# the resulting certificates are compatible with Netscape
string_mask = MASK:0x2002
# "string_mask" 項目でストリンプタイプを指定している。
# MASK:0x2002 の意味を正確に理解していないが、固定値で処理しているのだろう?(後で正式に確認する)
■作成後の CSR ストリングタイプ確認方法
# openssl asn1parse -in <CSRファイルを指定>
0:d=0 hl=4 l= 680 cons: SEQUENCE
4:d=1 hl=4 l= 400 cons: SEQUENCE
8:d=2 hl=2 l= 1 prim: INTEGER :00
11:d=2 hl=2 l= 99 cons: SEQUENCE
13:d=3 hl=2 l= 11 cons: SET
15:d=4 hl=2 l= 9 cons: SEQUENCE
17:d=5 hl=2 l= 3 prim: OBJECT :countryName
22:d=5 hl=2 l= 2 prim: PRINTABLESTRING :JP <--- "PRINTABLESTRING" 型を使用してる事が確認可能
26:d=3 hl=2 l= 14 cons: SET
"string_mask" 項目で "utf8only" などを設定している場合、onenssl CSR 構造確認コマンドで
"PRINTABLESTRING" 型以外が表示される。
<備考>
・PrintableStringとは(SSL証明書発行時の留意事項)
PrintableStringはプログラミング言語におけるオブジェクトの型の一種となる。
PrintableStringは "文字列" 型です。
・nombstr
「nombstr」って要は「マルチバイト文字列はありません」 ってことですかね。この変更をしてその後、
キーとCSRを再作成して無事申請することができた。