0
最近我開始研究開發一個簡單的CA/SCEP服務器。雖然CA並不是什麼大問題(CA也不是很多),但是SCEP服務器讓我在某個特定的地方發生了一些循環。來自SCEP請求的Java PKIHeader
到目前爲止,我正確迴應了「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);
的順序是有效的,但所有的註釋掉線全部失敗。有什麼想法嗎?
謝謝!