なんえ?なんえ?

記憶の片隅として利用

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を再作成して無事申請することができた。

 <http://php.tekmemo.com/?cat=51