1 load("EAC2CVCertificateGenerator.js");
  2 
  3 function test(crypto, priKey, pubKey, taOID) {
  4 	generator = new EAC2CVCertificateGenerator(crypto);
  5 
  6 	var CAR = "decvca00000";
  7 	generator.setCAR(CAR);
  8 
  9 	var CHR = "decvca00000";
 10 	generator.setCHR(CHR);
 11 
 12 	generator.setEffectiveDate(new Date());
 13 
 14 	var notAfter = "110225";
 15 	generator.setExpiryDate(notAfter);
 16 
 17 	var chatOID = "0.4.0.127.0.7.3.1.2.1"; // inspection system
 18 	generator.setChatOID(new ByteString(chatOID, OID));
 19 
 20 	var chatAuth = "E3"; // CVCA, read access to eID, DG3, DG4
 21 	
 22 	generator.setChatAuthorizationLevel(new ByteString(chatAuth, HEX));
 23 
 24 	generator.setPublicKey(pubKey);
 25 
 26 	var profileIdentifier = 0x00;
 27 
 28 	generator.setProfileIdentifier(profileIdentifier);
 29 
 30 	generator.setTAAlgorithmIdentifier(taOID);
 31 
 32 	//var extensions = new Array();
 33 	//extensions[0] = new ASN1("ext1", ASN1.OBJECT_IDENTIFIER, new ByteString("2A1200", HEX));
 34 	//extensions[1] = new ASN1("ext2", ASN1.OBJECT_IDENTIFIER, new ByteString("2A1200", HEX));
 35 
 36 	//generator.setExtensions(extensions);
 37 
 38 	generator.setIncludeDomainParameters(true);
 39 
 40 	var cvc = generator.generateCVCertificate(priKey, taOID);
 41 	print(cvc);
 42 	
 43 	print(new ASN1(cvc.getBytes()));
 44 	cvc.verifyWith(crypto, cvc.getPublicKey(), cvc.getPublicKeyOID());
 45 }
 46 
 47 
 48 var crypto = new Crypto();
 49 
 50 var priKey = new Key();
 51 var pubKey = new Key();
 52 priKey.setType(Key.PRIVATE);
 53 pubKey.setType(Key.PUBLIC);
 54 priKey.setComponent(Key.ECC_CURVE_OID, new ByteString("brainpoolP256t1", OID));
 55 pubKey.setComponent(Key.ECC_CURVE_OID, new ByteString("brainpoolP256t1", OID));
 56 crypto.generateKeyPair(Crypto.EC, pubKey, priKey);
 57 
 58 test(crypto, priKey, pubKey, new ByteString("id-TA-ECDSA-SHA-256", OID));
 59 
 60 
 61 var priKey = new Key();
 62 var pubKey = new Key();
 63 priKey.setType(Key.PRIVATE);
 64 pubKey.setType(Key.PUBLIC);
 65 pubKey.setSize(1024);
 66 crypto.generateKeyPair(Crypto.RSA, pubKey, priKey);
 67 
 68 test(crypto, priKey, pubKey, new ByteString("id-TA-RSA-v1-5-SHA-256", OID));
 69