KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > com > ca > commons > security > cert > extensions > BasicConstraints


1
2 package com.ca.commons.security.cert.extensions;
3
4 import com.ca.commons.security.asn1.*;
5
6 /**
7  * <pre>
8  * BasicConstraints ::= SEQUENCE {
9  * cA BOOLEAN DEFAULT FALSE,
10  * pathLenConstraint INTEGER (0..MAX) OPTIONAL }
11  * </pre>
12  *
13  * @author vbui
14  */

15 public class BasicConstraints implements V3Extension
16 {
17     String JavaDoc value = null;
18
19     public int pathLenConstraint = -1;
20
21     public void init(ASN1Object asn1object) throws Exception JavaDoc
22     {
23         if (!asn1object.isASN1Type(ASN1Type.SEQUENCE))
24             throw new Exception JavaDoc("Wrong ASN.1 type for BasicConstraints");
25
26         if (asn1object.size() == 0)
27         {
28             value = "CA: False\nPath Length Constraint: None";
29             return;
30         }
31
32         if (asn1object.size() >= 1)
33         {
34             Object JavaDoc ca = asn1object.getComponent(0).getValue();
35             if (!(ca instanceof Boolean JavaDoc))
36                 throw new Exception JavaDoc("Wrong ASN.1 type for BasicConstraints.cA");
37
38             value = "CA: " + ca;
39         }
40
41         if (asn1object.size() >= 2)
42         {
43             Object JavaDoc pathLen = asn1object.getComponent(1).getValue();
44             value = value + "\nPath Length Constraint: " + pathLen;
45             try
46             {
47                 int len = Integer.parseInt(pathLen.toString());
48                 if (len >= 0) pathLenConstraint = len;
49             }
50             catch (NumberFormatException JavaDoc ex)
51             {
52                 // ignore
53
}
54         }
55         else
56         {
57             value = value + "\nPath Length Constraint: None";
58         }
59     }
60
61     public String JavaDoc toString()
62     {
63         return value;
64     }
65 }
66
67
Popular Tags