最近,我开始研究开发一个简单的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());特别是recipientNonce。
问题是我很难从最初的请求中获取属性。因为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);序列是有效的,但是所有注释掉的行都失败了。有什么想法吗?
谢谢!
发布于 2010-09-15 01:43:50
找到了。JSCEP有一个名为"PKIMessage“的类,它为您完成所有的解析工作。
https://stackoverflow.com/questions/3655290
复制相似问题