1 /*
2  * @(#) $Id: CertTest.java,v 1.2 2003/07/08 08:13:52 pankaj Exp $
3  *
4  * Copyright (c) 2002-03 by Pankaj Kumar (http://www.pankaj-k.net). 
5  * All rights reserved.
6  *
7  * The license governing the use of this file can be found in the 
8  * root directory of the containing software.
9  */
10package org.jstk.cert;
11
12import org.jstk.JSTKUtil;
13import java.math.BigInteger;
14import org.jstk.asn1.*;
15import junit.framework.*;
16
17public class CertTest extends TestCase {
18    public static void main (String[] args) {
19        junit.textui.TestRunner.run (suite());
20    }
21    public static Test suite() {
22        return new TestSuite(CertTest.class);
23    }
24    public void testBasicConstraint() throws ASN1PullParserException, java.io.IOException{
25        ASN1Seq basicConstraints = new ASN1Seq();
26        ASN1Boolean caFlag = new ASN1Boolean();
27        caFlag.setValue(true);
28        ASN1Integer pathLen = new ASN1Integer();
29        pathLen.setValue(new BigInteger("5"));
30        basicConstraints.add(caFlag);
31        basicConstraints.add(pathLen);
32
33        byte[] encoded = basicConstraints.encode();
34        System.out.println();
35        System.out.println("Encoded Basic Constraint (HEX): " + JSTKUtil.hexStringFromBytes(encoded));
36        System.out.println();
37
38        System.out.println("Parsed Basic Constraint:");
39        ASN1PullParser parser = DefASN1PullParser.getInstance(encoded);
40        parser.printParsed(System.out);
41    }
42
43    public void testCGBasicConstraint() throws ASN1PullParserException, java.io.IOException{
44
45        CertificateGenerator cg = new CertificateGenerator(null, null);
46        cg.setBasicConstraints(true, 5);
47        byte[] encoded = cg.encodeBasicConstraints();
48
49        System.out.println("Encoded Basic Constraint Extn. (HEX): " + JSTKUtil.hexStringFromBytes(encoded));
50        System.out.println();
51
52        System.out.println("Parsed Basic Constraint Extn.:");
53        ASN1PullParser parser = DefASN1PullParser.getInstance(encoded);
54        parser.printParsed(System.out);
55    }
56}