質問

最近、私は簡単なCA/SCEPサーバーの開発を検討し始めました。 CAはそれほど問題ではありませんでしたが(CAでもあまりありません)、SCEPサーバーは特定の場所で少しループを投げかけました。

これまでのところ、「GetCacert」および「GetCacaps」リクエストに正しく応答します。今、私は「pkioperation」リクエストに応答しようとしています。私は実際にリクエストで証明書を作成し、それとすべての良いものに署名することができます。問題は、応答に「属性」を追加しなければならないことです...

gen1.addSigner(this.rootKeyPair.getPrivate(), this.getRootCertificate(), CMSSignedGenerator.DIGEST_SHA1, new AttributeTable(attributes), null);
CMSSignedData finalData = gen1.generate(msg, true, new BouncyCastleProvider());

具体的にはレシピンノンス。

問題は、最初の要求から属性を取り出すのに苦労していることです。 ReciepientnonceはSendernonceのコピーである必要があるため、私はその特定の属性をpkioperationメッセージから引き出そうとしてきました。これがこれまでの私のコードです...

Base64 base64 = new Base64();
ASN1Object object = ASN1Object.fromByteArray(base64.decode(request));
//The "request" is the "message" from scep 
ASN1Sequence sequence = ASN1Sequence.getInstance(object);
//   PKIMessage.getInstance(sequence);
//   PKIHeader.getInstance(sequence);
//   PKIConfirmContent.getInstance(sequence);
//   PKIBody.getInstance(sequence);
//   PKIStatusInfo.getInstance(sequence);
//   PKIFreeText.getInstance(sequence);
//   PKIFailureInfo.getInstance(sequence);
//   PKIStatus.getInstance(sequence);

シーケンスは有効ですが、コメントしたすべての行はすべて失敗します。何かご意見は?

ありがとう!

役に立ちましたか?

解決

それを見つけた。 jscep あなたのためにすべての解析を行う「pkimessage」というクラスがあります。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top