2

入力base64でエンコードされた文字列をASN1parseする必要があります

コマンドでopensslを使用して実行できます

openssl asn1parse -out outfile.der -in infile

同じものに相当するJavaはありますか?多くの ASN1 ライブラリを試しましたが、openssl コマンドと比較して結果が異なるか、初期化に問題があります。

4

2 に答える 2

0

これは古い質問ですが、答えは他の人に役立つかもしれません。

Base64 文字列を ASN1 構造に解析する場合は、BoncyCastle 依存関係を使用でき、上記の openssl コマンドと同じように動作するはずです。

https://mvnrepository.com/artifact/org.bouncycastleにある Bouncy Castle プロバイダーの説明を含めてください。

Java コード:

ASN1Sequence seq = (ASN1Sequence) DERSequence.fromByteArray(Base64.decode(base64String.getBytes()));
int n = seq.size();
for (int i = 0; i < n; i++) {
    ASN1Encodable obj = seq.getObjectAt(i);
    if (obj instanceof DEROctetString) {
        System.out.println(new String(((DEROctetString) obj).getOctets()));
    } else {
        System.out.println(obj);
    }
}
于 2019-09-17T14:29:03.120 に答える
0

証明書をデコードし、そこから java.security.cert.X509Certificate インスタンスを作成し (java.security.cert.CertificateFactory を使用)、getter を使用できます。お役に立てれば。

于 2015-03-10T22:58:32.083 に答える