1 2 package com.ca.commons.security.cert.extensions; 3 4 import com.ca.commons.security.asn1.*; 5 6 24 public class NameConstraints implements V3Extension 25 { 26 String value = null; 27 28 public void init(ASN1Object asn1object) throws Exception 29 { 30 if (!asn1object.isASN1Type(ASN1Type.SEQUENCE)) 31 throw new Exception ("Wrong ASN.1 type for NameConstraints"); 32 33 if (asn1object.size() >= 1) 34 { 35 value = "permittedSubtrees: " + getSubtrees(asn1object.getComponent(0)); 36 } 37 38 if (asn1object.size() >= 2) 39 { 40 value = value + "\nexcludedSubtrees: " + getSubtrees(asn1object.getComponent(0)); 41 } 42 } 43 44 public String getSubtrees(ASN1Object obj) 45 { 46 StringBuffer buff = new StringBuffer (); 47 48 for (int i = 0; i < obj.size(); i++) 49 { 50 buff.append("\n generalSubtree"); 51 ASN1Object gsubtree = obj.getComponent(i); 52 if (gsubtree.size() >= 1) 53 { 54 buff.append("\n\tbase: " + IssuerAltName.getGNameString(gsubtree.getComponent(0))); 55 } 56 if (gsubtree.size() >= 2) 57 { 58 buff.append("\n\tminimum: " + gsubtree.getComponent(1).getValue()); 59 } 60 if (gsubtree.size() >= 3) 61 { 62 buff.append("\n\tmaximum: " + gsubtree.getComponent(2).getValue()); 63 } 64 } 65 66 return buff.toString(); 67 } 68 69 public String toString() 70 { 71 return value; 72 } 73 } 74 75 | Popular Tags |