1 /* 2 * Copyright �, Aegeus Technology Limited. 3 * All rights reserved. 4 */ 5 package jsdsi.certstore.jdbc; 6 7 import java.security.KeyPair; 8 import java.security.cert.CertPathBuilder; 9 import java.security.cert.CertPathBuilderResult; 10 import java.security.cert.CertStore; 11 12 import org.apache.commons.dbcp.BasicDataSource; 13 14 import jsdsi.AuthCert; 15 import jsdsi.Cert; 16 import jsdsi.CertPathParameters; 17 import jsdsi.Certificate; 18 import jsdsi.IssuerCertPathParameters; 19 import jsdsi.NameCert; 20 import jsdsi.Principal; 21 import jsdsi.Provider; 22 import jsdsi.Signature; 23 import jsdsi.StringTag; 24 import jsdsi.Tag; 25 import jsdsi.Validity; 26 import jsdsi.certstore.CertificateDAO; 27 import jsdsi.certstore.JsdsiCertStoreParameters; 28 import jsdsi.util.DateUtil; 29 import jsdsi.util.DigestAlgoEnum; 30 import jsdsi.util.KeyEnum; 31 import jsdsi.util.KeyPairFactory; 32 import junit.framework.TestCase; 33 34 35 /*** 36 * @author Sean Radford 37 * @version $Revision: 1.1.4.4 $ $Date: 2004/12/12 17:01:39 $ 38 */ 39 public class ProverWithJdbcCertStoreTest extends TestCase { 40 41 static { 42 Provider.install(); 43 } 44 45 private CertificateDAO dao; 46 private CertStore store; 47 48 /*** 49 * @see TestCase#setUp() 50 */ 51 protected void setUp() throws Exception { 52 super.setUp(); 53 Provider.install(); 54 BasicDataSource ds = new BasicDataSource(); 55 ds.setDriverClassName("org.hsqldb.jdbcDriver"); 56 ds.setUrl("jdbc:hsqldb:/tmp/jsdsi-testdb"); 57 ds.setUsername("sa"); 58 //ds.setPassword(""); 59 this.dao = new JdbcCertificateDAO(ds); 60 JsdsiCertStoreParameters params = new JsdsiCertStoreParameters(dao); 61 this.store = CertStore.getInstance("SPKI", params); 62 } 63 64 /*** 65 * @see TestCase#tearDown() 66 */ 67 protected void tearDown() throws Exception { 68 super.tearDown(); 69 } 70 71 public void test() throws Exception { 72 KeyPair kp1 = KeyPairFactory.create(KeyEnum.RSA, 512); 73 Certificate certificate = createAuthCertificate(kp1, 74 (Principal) kp1.getPublic(), new StringTag("test")); 75 this.dao.store(certificate); 76 77 Cert cert = certificate.getCert(); 78 79 CertPathBuilder builder = CertPathBuilder.getInstance("SPKI"); 80 CertPathParameters params = new IssuerCertPathParameters(cert, 81 this.store); 82 CertPathBuilderResult res = builder.build(params); 83 84 } 85 86 private Certificate createAuthCertificate(KeyPair kp, 87 Principal subject, 88 Tag tag) throws Exception { 89 Principal issuer = (Principal) kp.getPublic(); 90 Validity validity = new Validity(DateUtil.newDate(), 91 DateUtil.newDate(0, 0, 1)); 92 String display = "text/sexp"; 93 String comment = "a test certificate"; 94 boolean propagate = false; 95 AuthCert c = new AuthCert(issuer, 96 subject, 97 validity, display, comment, tag, propagate ); 98 Signature s = Signature.create(kp, c, DigestAlgoEnum.MD5); 99 Certificate certificate = new Certificate(c, s); 100 return certificate; 101 } 102 103 private Certificate createNameCertificate(KeyPair kp, 104 Principal subject, 105 String name) throws Exception { 106 Principal issuer = (Principal) kp.getPublic(); 107 Validity validity = new Validity(DateUtil.newDate(), 108 DateUtil.newDate(0, 0, 1)); 109 String display = "text/sexp"; 110 String comment = "a test certificate"; 111 boolean propagate = false; 112 NameCert c = new NameCert(issuer, 113 subject, validity, display, comment, name); 114 Signature s = Signature.create(kp, c, DigestAlgoEnum.MD5); 115 Certificate certificate = new Certificate(c, s); 116 return certificate; 117 } 118 119 }

This page was automatically generated by Maven