次の内容を含むファイル-crl.txtがあります。
MDYwNKAyoDCGLmh0dHA6Ly93d3cyLnB1YmxpYy10cnVzdC5jb20vY3JsL2N0L2N0cm9vdC5jcmw=
特定のX.509証明書の拡張機能の1つからのものです。次のコマンドを実行しても何も起こらないのはなぜですか?
openssl asn1parse -inform PEM -in crl.txt -i
これがその文字列の16進エンコーディングです。
00000000 30:36:30:34:a0:32:a0:30:86:2e:68:74:74:70:3a:2f 0604.2.0..http:/
00000010 2f:77:77:77:32:2e:70:75:62:6c:69:63:2d:74:72:75 /www2.public-tru
00000020 73:74:2e:63:6f:6d:2f:63:72:6c:2f:63:74:2f:63:74 st.com/crl/ct/ct
00000030 72:6f:6f:74:2e:63:72:6c root.crl
DERデコード(私が間違っていない限り)は次のとおりです。
SEQUENCE {
SEQUENCE {
[0] {
[0] {
[6] 'http://www2.public-trust.com/crl/ct/ctroot.crl'
}
}
}
}
これはid-ce-cRLDistributionPoints拡張です。最初の[0]はdistributionPoint用、2番目の[0]はfullName用、[6]はuniformResourceIdentifier(暗黙的にエンコードされたIA5String)用です。
OpenSSL 0.9.8rでは、次のようになります。
_$ cat crl.txt
MDYwNKAyoDCGLmh0dHA6Ly93d3cyLnB1YmxpYy10cnVzdC5jb20vY3JsL2N0L2N0cm9vdC5jcmw=
$ /usr/bin/openssl asn1parse -inform PEM -in crl.txt -i
0:d=0 hl=2 l= 54 cons: SEQUENCE
2:d=1 hl=2 l= 52 cons: SEQUENCE
4:d=2 hl=2 l= 50 cons: cont [ 0 ]
6:d=3 hl=2 l= 48 cons: cont [ 0 ]
8:d=4 hl=2 l= 46 prim: cont [ 6 ]
_
OpenSSLが「何もしない」場合は、OpenSSLまたはコンピューターに問題があります。
「PEM」、stricto sensuはBase64用であることに注意してくださいヘッダーとフッター付き:_-----BEGIN FOO-----
_で始まり(FOO
から)、_-----END FOO-----
_で終わる必要があります。 OpenSSLは、ヘッダーのないBase64の処理を受け入れるのにかなり都会的です(または、あなたの場合はそうでないかもしれません).