diff options
Diffstat (limited to 'pki/base/java-tools/src/com/netscape/cmstools/CMCResponse.java')
-rw-r--r-- | pki/base/java-tools/src/com/netscape/cmstools/CMCResponse.java | 149 |
1 files changed, 66 insertions, 83 deletions
diff --git a/pki/base/java-tools/src/com/netscape/cmstools/CMCResponse.java b/pki/base/java-tools/src/com/netscape/cmstools/CMCResponse.java index fb7906f8..33fce125 100644 --- a/pki/base/java-tools/src/com/netscape/cmstools/CMCResponse.java +++ b/pki/base/java-tools/src/com/netscape/cmstools/CMCResponse.java @@ -44,11 +44,11 @@ import org.mozilla.jss.pkix.cms.EncapsulatedContentInfo; * Tool for parsing a CMC response * * <P> - * * @version $Revision$, $Date$ - * + * */ -public class CMCResponse { +public class CMCResponse +{ public CMCResponse() { } @@ -61,18 +61,17 @@ public class CMCResponse { while (fis.available() > 0) fis.read(bb, 0, 10000); } catch (Exception e) { - System.out.println("Error reading the response. Exception: " - + e.toString()); + System.out.println("Error reading the response. Exception: "+e.toString()); System.exit(1); } try { ByteArrayInputStream bis = new ByteArrayInputStream(bb); - org.mozilla.jss.pkix.cms.ContentInfo cii = (org.mozilla.jss.pkix.cms.ContentInfo) org.mozilla.jss.pkix.cms.ContentInfo - .getTemplate().decode(bis); + org.mozilla.jss.pkix.cms.ContentInfo cii = (org.mozilla.jss.pkix.cms.ContentInfo) + org.mozilla.jss.pkix.cms.ContentInfo.getTemplate().decode(bis); - org.mozilla.jss.pkix.cms.SignedData cmcFullResp = (org.mozilla.jss.pkix.cms.SignedData) cii - .getInterpretedContent(); + org.mozilla.jss.pkix.cms.SignedData cmcFullResp = + (org.mozilla.jss.pkix.cms.SignedData)cii.getInterpretedContent(); String content = ""; if (cmcFullResp.hasCertificates()) { @@ -81,71 +80,62 @@ public class CMCResponse { for (int i = 0; i < numCerts; i++) { Certificate cert = (Certificate) certs.elementAt(i); - X509CertImpl certImpl = new X509CertImpl( - ASN1Util.encode(cert)); + X509CertImpl certImpl = new X509CertImpl(ASN1Util.encode(cert)); CertPrettyPrint print = new CertPrettyPrint(certImpl); content += print.toString(Locale.getDefault()); } } - + System.out.println("Certificates: "); System.out.println(content); System.out.println(""); EncapsulatedContentInfo ci = cmcFullResp.getContentInfo(); OBJECT_IDENTIFIER id = ci.getContentType(); - OBJECT_IDENTIFIER dataid = new OBJECT_IDENTIFIER( - "1.2.840.113549.1.7.1"); - if (!id.equals(OBJECT_IDENTIFIER.id_cct_PKIResponse) - && !id.equals(dataid)) { + OBJECT_IDENTIFIER dataid = new OBJECT_IDENTIFIER("1.2.840.113549.1.7.1"); + if (!id.equals(OBJECT_IDENTIFIER.id_cct_PKIResponse) && !id.equals(dataid)) { System.out.println("Invalid CMC Response Format"); - } + } if (!ci.hasContent()) return; OCTET_STRING content1 = ci.getContent(); - ByteArrayInputStream bbis = new ByteArrayInputStream( - content1.toByteArray()); - ResponseBody responseBody = (ResponseBody) (new ResponseBody.Template()) - .decode(bbis); + ByteArrayInputStream bbis = new ByteArrayInputStream(content1.toByteArray()); + ResponseBody responseBody = (ResponseBody) (new ResponseBody.Template()).decode(bbis); SEQUENCE controlSequence = responseBody.getControlSequence(); - + int numControls = controlSequence.size(); - System.out.println("Number of controls is " + numControls); + System.out.println("Number of controls is "+numControls); INTEGER bodyPartId = null; String error = ""; - for (int i = 0; i < numControls; i++) { - TaggedAttribute taggedAttr = (TaggedAttribute) controlSequence - .elementAt(i); + for (int i=0; i<numControls; i++) { + TaggedAttribute taggedAttr = (TaggedAttribute) controlSequence.elementAt(i); OBJECT_IDENTIFIER type = taggedAttr.getType(); if (type.equals(OBJECT_IDENTIFIER.id_cmc_cMCStatusInfo)) { - System.out.println("Control #" + i + ": CMCStatusInfo"); - System.out.println(" OID: " + type.toString()); + System.out.println("Control #"+i+": CMCStatusInfo"); + System.out.println(" OID: "+type.toString()); SET sts = taggedAttr.getValues(); int numSts = sts.size(); for (int j = 0; j < numSts; j++) { - CMCStatusInfo cst = (CMCStatusInfo) ASN1Util.decode( - CMCStatusInfo.getTemplate(), - ASN1Util.encode(sts.elementAt(j))); + CMCStatusInfo cst = (CMCStatusInfo)ASN1Util.decode(CMCStatusInfo.getTemplate(), + ASN1Util.encode(sts.elementAt(j))); SEQUENCE seq = cst.getBodyList(); - + String s = " BodyList: "; - for (int k = 0; k < seq.size(); k++) { - INTEGER n = (INTEGER) seq.elementAt(k); - s = s + n.toString() + " "; - } + for (int k=0; k < seq.size(); k++) { + INTEGER n = (INTEGER)seq.elementAt(k); + s = s+n.toString()+" "; + } System.out.println(s); int st = cst.getStatus(); - if (st != CMCStatusInfo.SUCCESS - && st != CMCStatusInfo.CONFIRM_REQUIRED) { + if (st != CMCStatusInfo.SUCCESS && st != CMCStatusInfo.CONFIRM_REQUIRED) { String stString = cst.getStatusString(); if (stString != null) - System.out.println(" Status String: " - + stString); + System.out.println(" Status String: "+stString); OtherInfo oi = cst.getOtherInfo(); - OtherInfo.Type t = oi.getType(); + OtherInfo.Type t = oi.getType(); if (t == OtherInfo.FAIL) System.out.println(" OtherInfo type: FAIL"); else if (t == OtherInfo.PEND) { @@ -155,11 +145,9 @@ public class CMCResponse { byte[] bp = pi.getPendToken().toByteArray(); String pt = new String(bp); String datePattern = "dd/MMM/yyyy:HH:mm:ss z"; - SimpleDateFormat dateFormat = new SimpleDateFormat( - datePattern); + SimpleDateFormat dateFormat = new SimpleDateFormat(datePattern); Date d = pi.getPendTime().toDate(); - System.out.println(" Date: " - + dateFormat.format(d)); + System.out.println(" Date: "+dateFormat.format(d)); } } } else if (st == CMCStatusInfo.SUCCESS) { @@ -167,68 +155,63 @@ public class CMCResponse { } } } else if (type.equals(OBJECT_IDENTIFIER.id_cmc_transactionId)) { - System.out - .println("Control #" + i + ": CMC Transaction Id"); - System.out.println(" OID: " + type.toString()); - SET transIds = taggedAttr.getValues(); - INTEGER num = (INTEGER) (ASN1Util.decode( - INTEGER.getTemplate(), - ASN1Util.encode(transIds.elementAt(0)))); - System.out.println(" INTEGER: " + num); + System.out.println("Control #"+i+": CMC Transaction Id"); + System.out.println(" OID: "+type.toString()); + SET transIds = taggedAttr.getValues(); + INTEGER num = (INTEGER)(ASN1Util.decode(INTEGER.getTemplate(), + ASN1Util.encode(transIds.elementAt(0)))); + System.out.println(" INTEGER: "+num); } else if (type.equals(OBJECT_IDENTIFIER.id_cmc_recipientNonce)) { - System.out.println("Control #" + i - + ": CMC Recipient Nonce"); - System.out.println(" OID: " + type.toString()); + System.out.println("Control #"+i+": CMC Recipient Nonce"); + System.out.println(" OID: "+type.toString()); SET recipientN = taggedAttr.getValues(); - OCTET_STRING str = (OCTET_STRING) (ASN1Util.decode( - OCTET_STRING.getTemplate(), - ASN1Util.encode(recipientN.elementAt(0)))); + OCTET_STRING str = + (OCTET_STRING)(ASN1Util.decode(OCTET_STRING.getTemplate(), + ASN1Util.encode(recipientN.elementAt(0)))); byte b[] = str.toByteArray(); String s = " Value: "; - for (int m = 0; m < b.length; m++) { - s = s + b[m] + " "; + for (int m=0; m<b.length; m++) { + s = s+b[m]+" "; } System.out.println(s); } else if (type.equals(OBJECT_IDENTIFIER.id_cmc_senderNonce)) { - System.out.println("Control #" + i + ": CMC Sender Nonce"); - System.out.println(" OID: " + type.toString()); + System.out.println("Control #"+i+": CMC Sender Nonce"); + System.out.println(" OID: "+type.toString()); SET senderN = taggedAttr.getValues(); - OCTET_STRING str = (OCTET_STRING) (ASN1Util.decode( - OCTET_STRING.getTemplate(), - ASN1Util.encode(senderN.elementAt(0)))); + OCTET_STRING str = + (OCTET_STRING)(ASN1Util.decode(OCTET_STRING.getTemplate(), + ASN1Util.encode(senderN.elementAt(0)))); byte b[] = str.toByteArray(); String s = " Value: "; - for (int m = 0; m < b.length; m++) { - s = s + b[m] + " "; + for (int m=0; m<b.length; m++) { + s = s+b[m]+" "; } System.out.println(s); } else if (type.equals(OBJECT_IDENTIFIER.id_cmc_dataReturn)) { - System.out.println("Control #" + i + ": CMC Data Return"); - System.out.println(" OID: " + type.toString()); + System.out.println("Control #"+i+": CMC Data Return"); + System.out.println(" OID: "+type.toString()); SET dataReturn = taggedAttr.getValues(); - OCTET_STRING str = (OCTET_STRING) (ASN1Util.decode( - OCTET_STRING.getTemplate(), - ASN1Util.encode(dataReturn.elementAt(0)))); + OCTET_STRING str = + (OCTET_STRING)(ASN1Util.decode(OCTET_STRING.getTemplate(), + ASN1Util.encode(dataReturn.elementAt(0)))); byte b[] = str.toByteArray(); String s = " Value: "; - for (int m = 0; m < b.length; m++) { - s = s + b[m] + " "; + for (int m=0; m<b.length; m++) { + s = s+b[m]+" "; } System.out.println(s); } } } catch (Exception e) { - System.out.println("Error found in the response. Exception: " - + e.toString()); + System.out.println("Error found in the response. Exception: "+e.toString()); System.exit(1); - + } } private static void printUsage() { System.out.println(""); - System.out - .println("Usage: CMCResponse -d <pathname for cert8.db> -i <pathname for CMC response in binary format> "); + System.out.println("Usage: CMCResponse -d <pathname for cert8.db> -i <pathname for CMC response in binary format> "); } public static void main(String args[]) { @@ -238,11 +221,11 @@ public class CMCResponse { System.exit(1); } - for (int i = 0; i < args.length; i++) { + for (int i=0; i<args.length; i++) { if (args[i].equals("-d")) - path = args[i + 1]; + path = args[i+1]; else if (args[i].equals("-i")) - filename = args[i + 1]; + filename = args[i+1]; } if (filename == null || path == null) { |