48 throw new InvalidParameterException(
"The signature algorithm cannot be null");
55 KeyPairGenerator keyGen = KeyPairGenerator.getInstance(
"ECDSA",
"BC");
56 keyGen.initialize(ecSpec,
new SecureRandom());
58 this.
keyPair = keyGen.generateKeyPair();
59 BCECPrivateKey privateKeySpec = (BCECPrivateKey)
keyPair.getPrivate();
60 BCECPublicKey publicKeySpec = (BCECPublicKey)
keyPair.getPublic();
62 BigInteger x = publicKeySpec.getQ().getX().toBigInteger();
63 BigInteger y = publicKeySpec.getQ().getY().toBigInteger();
64 BigInteger d = privateKeySpec.getD();
69 if (StringUtils.isNotBlank(dnName)) {
71 GregorianCalendar startDate =
new GregorianCalendar();
72 GregorianCalendar expiryDate =
new GregorianCalendar();
73 expiryDate.add(Calendar.YEAR, 1);
74 BigInteger serialNumber =
new BigInteger(1024,
new Random());
76 X509V1CertificateGenerator certGen =
new X509V1CertificateGenerator();
77 X500Principal principal =
new X500Principal(dnName);
79 certGen.setSerialNumber(serialNumber);
80 certGen.setIssuerDN(principal);
81 certGen.setNotBefore(startDate.getTime());
82 certGen.setNotAfter(expiryDate.getTime());
83 certGen.setSubjectDN(principal);
84 certGen.setPublicKey(
keyPair.getPublic());
85 certGen.setSignatureAlgorithm(
"SHA256WITHECDSA");
87 X509Certificate x509Certificate = certGen.generate(privateKeySpec,
"BC");
KeyPair keyPair
Definition: ECDSAKeyFactory.java:38
Certificate certificate
Definition: ECDSAKeyFactory.java:42
ECDSAPublicKey ecdsaPublicKey
Definition: ECDSAKeyFactory.java:41
SignatureAlgorithm signatureAlgorithm
Definition: ECDSAKeyFactory.java:37
ECEllipticCurve getCurve()
Definition: SignatureAlgorithm.java:75
String getName()
Definition: ECEllipticCurve.java:26
ECDSAPrivateKey ecdsaPrivateKey
Definition: ECDSAKeyFactory.java:40