Bouncy Castleライブラリのバージョン146のCMSAuthenticatedDataを使用していますが、正しく作成でき、ASN.1ダンプを調べることで検証できますコンテンツを取得します。Bouncy CastleのCMSAuthenticatedData [Java]からカプセル化されたコンテンツを取得する
認証データオブジェクトが発生して作成され、このように:
CMSAuthenticatedDataGenerator generator = new CMSAuthenticatedDataGenerator();
CMSProcessableByteArray myContent = new CMSProcessableByteArray(myBytes);
CMSAuthenticatedData cmsData = generator.generate(myContent, myMacCalculator);
cmsDataは、サーバに送信.getEncoded()とシリアル化され、バイト[]コンストラクタとデシリアライズ。 RFCから、myBytesはAuthenticatedDataオブジェクト内のencapContentInfoフィールドにあるはずですが、取得できません。ここで私はこれまで試したものです:
// The original byte array I want to retrieve is 633 bytes long.
cmsData.getEncoded();
// returns ASN.1 for authData OID and AuthenticatedData object. Size: 724
cmsData.getContentInfo();
// Same as cmsData.getEncoded(). Size: 724
cmsData.getContentInfo().getContent().getDERObject().getEncoded();
// returns ASN.1 for AuthenticatedData object. Size: 703
だから、これはさえ可能である、または私はASN.1のバイト配列を解析し、私自身の実装を展開する必要がありますか?研究の週間後