ベスパリブ

プログラミングを主とした日記・備忘録です。ベスパ持ってないです。

OpenSSLの"problem creating object tsa_policy1=1.2.3.4.1" エラー

環境

現象

証明書署名要求(CSR)の確認をするコマンドを行うと、2回目以降で以下のようなエラーが発生しました。

# 初回実行はうまく動作する
OpenSSL> req -text -noout -in localhost.csr
Certificate Request:
    Data:
        Version: 1 (0x0)
        Subject: C = JP, ST = Kyoto, L = Sakyoku, O = hogehoge, CN = hogehoge.co.jp
        Subject Public Key Info:
            Public Key Algorithm: id-ecPublicKey
                Public-Key: (256 bit)
                pub:
                    04:eb:95:8d:d6:fc:53:fe:e7:3e:d7:ed:64:14:11:
                    28:de:d2:3b:2f:4a:a5:6b:fc:61:b0:8e:d3:bf:38:
                    59:15:a6:f6:d3:2a:48:7f:35:4d:12:aa:95:6e:ed:
                    dc:3e:bb:1a:e5:de:13:59:77:75:09:10:89:c9:3f:
                    ac:08:18:7a:ec
                ASN1 OID: prime256v1
                NIST CURVE: P-256
        Attributes:
            a0:00
    Signature Algorithm: ecdsa-with-SHA256
         30:45:02:20:04:da:d9:e5:67:be:c3:51:42:2e:2d:6f:c1:0c:
         78:cd:79:90:33:e8:6d:79:6d:ba:f8:c8:d2:6f:47:50:65:29:
         02:21:00:bf:fa:4d:7b:51:83:67:ba:99:c1:ae:eb:6a:c1:9a:
         78:3a:6f:a8:6f:27:db:25:91:90:93:41:7b:f6:a2:85:8d
# 2回目以降は、全く同じコマンドを打ってもエラーが発生する。
OpenSSL> req -text -noout -in localhost.csr
problem creating object tsa_policy1=1.2.3.4.1
27948:error:08064066:object identifier routines:OBJ_create:oid exists:crypto\objects\obj_dat.c:698:
error in req

追記(2020/07/07)

以下のコマンドでも同現象が発生しました。

OpenSSL> req -noout -modulus -in server.csr
Modulus=D33DDA42...31587DC9
OpenSSL> req -noout -modulus -in server.csr
problem creating object tsa_policy1=1.2.3.4.1
10040:error:08064066:object identifier routines:OBJ_create:oid exists:crypto\objects\obj_dat.c:698:
error in req

やはりreqコマンド系で発生するようです。

直し方

本質的な直し方は不明です 笑。

いかがでしたか?(は?)

Ctrl-Cで一旦OpenSSLプロンプトから抜けると、とりあえず直ります。面倒くさいですが、こうする以外に私は方法を見つけれませんでした。

以下の参考URLのissueを追うと、「コマンド実行する際にライブラリコンテクストを作成し、コマンド終了時にそれをクリーンアップするのだけれど、そのクリーンアップがうまく行ってないとかなんとか」みたいに書いてありました。

よくわからないのでバグ修正待ちです。

参考

OpenSSLv1.1.0e CSR verification error, problem creating object tsa_policy1=1.2.3.4.1 · Issue #2795 · openssl/openssl