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