2010-09-07 29 views
0

Récemment, j'ai commencé à chercher à développer un serveur CA/SCEP simple. Alors que l'AC n'était pas vraiment un problème (pas beaucoup d'AC non plus), le serveur SCEP m'a lancé pour un peu de boucle à un endroit particulier.Java PKIHeader de la demande SCEP

Jusqu'à présent, je réponds correctement aux requêtes "GetCACert" et "GetCACaps". Maintenant j'essaye de répondre à la demande "PKIOperation". Je suis en mesure de créer un cert avec la demande, le signer et tout le reste. Le problème est que je dois ajouter quelques "attributs" à la réponse ...

Spécifiquement destinataireNonce.

Le problème est que j'ai du mal à obtenir les attributs de la demande initiale. Puisque le reciepientNonce devrait être une copie du senderNonce, j'ai essayé d'extraire cet attribut spécifique du message PKIOperation. Voici mon code jusqu'à présent ...

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); 

La séquence est valide, mais toutes les toutes les lignes commentées échouent. Des pensées?

Merci!

Répondre

2

Trouvé. JSCEP a une classe appelée "PKIMessage" qui fait tout l'analyse pour vous.