List of usage examples for org.bouncycastle.jce.provider JCEECPublicKey getAlgorithm
public String getAlgorithm()
From source file:eu.europa.ec.markt.dss.validation102853.toolbox.PublicKeyUtils.java
License:Open Source License
/** * This method returns the public algorithm extracted from public key infrastructure. (ex: RSA) * * @param publicKey//w ww . j ava 2 s. co m * @return */ public static String getPublicKeyEncryptionAlgo(final PublicKey publicKey) { String publicKeyAlgorithm = "?"; // TODO: Bob (20130513) The list of different implementation need to be completed. if (publicKey instanceof RSAPublicKeyImpl) { final RSAPublicKeyImpl rsaPublicKey = (RSAPublicKeyImpl) publicKey; publicKeyAlgorithm = rsaPublicKey.getAlgorithm(); } else if (publicKey instanceof JCERSAPublicKey) { final JCERSAPublicKey rsaPublicKey = (JCERSAPublicKey) publicKey; publicKeyAlgorithm = rsaPublicKey.getAlgorithm(); } else if (publicKey instanceof JCEECPublicKey) { final JCEECPublicKey jceecPublicKey = (JCEECPublicKey) publicKey; publicKeyAlgorithm = jceecPublicKey.getAlgorithm(); } else if (publicKey instanceof ECPublicKey) { ECPublicKey ecPublicKey = (ECPublicKey) publicKey; publicKeyAlgorithm = ecPublicKey.getAlgorithm(); } else if (publicKey instanceof DSAPublicKeyImpl) { DSAPublicKeyImpl dsaPublicKeyImpl = (DSAPublicKeyImpl) publicKey; publicKeyAlgorithm = dsaPublicKeyImpl.getAlgorithm(); } else if (publicKey instanceof JDKDSAPublicKey) { JDKDSAPublicKey dsaPublicKeyImpl = (JDKDSAPublicKey) publicKey; publicKeyAlgorithm = dsaPublicKeyImpl.getAlgorithm(); } else { LOG.warning("Unknown public key infrastructure: " + publicKey.getClass().getName()); } if (!"?".equals(publicKeyAlgorithm)) { try { publicKeyAlgorithm = EncryptionAlgorithm.forName(publicKeyAlgorithm).getName(); } catch (DSSException e) { LOG.severe(e.getMessage()); } } return publicKeyAlgorithm; }
From source file:org.ejbca.core.ejb.ca.caadmin.CAsTest.java
License:Open Source License
private void checkECKey(PublicKey pk) { if (pk instanceof JCEECPublicKey) { JCEECPublicKey ecpk = (JCEECPublicKey) pk; assertEquals(ecpk.getAlgorithm(), "EC"); org.bouncycastle.jce.spec.ECParameterSpec spec = ecpk.getParameters(); assertNotNull("Only ImplicitlyCA curves can have null spec", spec); } else if (pk instanceof BCECPublicKey) { BCECPublicKey ecpk = (BCECPublicKey) pk; assertEquals(ecpk.getAlgorithm(), "EC"); org.bouncycastle.jce.spec.ECParameterSpec spec = ecpk.getParameters(); assertNotNull("Only ImplicitlyCA curves can have null spec", spec); } else {/* w ww. ja v a 2s . c o m*/ assertTrue("Public key is not EC: " + pk.getClass().getName(), false); } }
From source file:org.ejbca.core.ejb.ca.caadmin.CAsTest.java
License:Open Source License
/** Adds a CA Using ECDSA 'implicitlyCA' keys to the database. It also checks that the CA is stored correctly. */ @Test/* w w w. ja va 2 s .c o m*/ public void test05AddECDSAImplicitlyCACA() throws Exception { log.trace(">test05AddECDSAImplicitlyCACA()"); boolean ret = false; try { createEllipticCurveDsaImplicitCa(); CAInfo info = caSession.getCAInfo(admin, TEST_ECDSA_IMPLICIT_CA_NAME); X509Certificate cert = (X509Certificate) info.getCertificateChain().iterator().next(); assertTrue("Error in created ca certificate", cert.getSubjectDN().toString().equals("CN=TESTECDSAImplicitlyCA")); assertTrue("Creating CA failed", info.getSubjectDN().equals("CN=TESTECDSAImplicitlyCA")); PublicKey pk = cert.getPublicKey(); if (pk instanceof JCEECPublicKey) { JCEECPublicKey ecpk = (JCEECPublicKey) pk; assertEquals(ecpk.getAlgorithm(), "EC"); ECParameterSpec spec = ecpk.getParameters(); assertNull( "ImplicitlyCA must have null spec, because it should be explicitly set in ejbca.properties", spec); } else if (pk instanceof BCECPublicKey) { BCECPublicKey ecpk = (BCECPublicKey) pk; assertEquals(ecpk.getAlgorithm(), "EC"); org.bouncycastle.jce.spec.ECParameterSpec spec = ecpk.getParameters(); assertNull( "ImplicitlyCA must have null spec, because it should be explicitly set in ejbca.properties", spec); } else { assertTrue("Public key is not EC: " + pk.getClass().getName(), false); } ret = true; } catch (CAExistsException pee) { log.info("CA exists."); } finally { removeOldCa(TEST_ECDSA_IMPLICIT_CA_NAME); } assertTrue("Creating ECDSA ImplicitlyCA CA failed", ret); log.trace("<test05AddECDSAImplicitlyCACA()"); }
From source file:org.ejbca.core.ejb.ca.sign.SignSessionTest.java
License:Open Source License
/** * creates cert// w w w.j a v a 2 s. co m * * @throws Exception * if en error occurs... */ public void test12SignSessionECDSAWithRSACA() throws Exception { log.trace(">test12SignSessionECDSAWithRSACA()"); userAdminSession.setUserStatus(admin, "foo", UserDataConstants.STATUS_NEW); log.debug("Reset status of 'foo' to NEW"); // user that we know exists... X509Certificate selfcert = CertTools.genSelfCert("CN=selfsigned", 1, null, ecdsakeys.getPrivate(), ecdsakeys.getPublic(), AlgorithmConstants.SIGALG_SHA256_WITH_ECDSA, false); X509Certificate cert = (X509Certificate) signSession.createCertificate(admin, "foo", "foo123", selfcert); assertNotNull("Misslyckades skapa cert", cert); log.debug("Cert=" + cert.toString()); PublicKey pk = cert.getPublicKey(); if (pk instanceof JCEECPublicKey) { JCEECPublicKey ecpk = (JCEECPublicKey) pk; assertEquals(ecpk.getAlgorithm(), "EC"); org.bouncycastle.jce.spec.ECParameterSpec spec = ecpk.getParameters(); assertNotNull("ImplicitlyCA must have null spec", spec); } else { assertTrue("Public key is not EC", false); } try { cert.verify(rsacacert.getPublicKey()); } catch (Exception e) { assertTrue("Verify failed: " + e.getMessage(), false); } // FileOutputStream fos = new FileOutputStream("testcert.crt"); // fos.write(cert.getEncoded()); // fos.close(); log.trace("<test12SignSessionECDSAWithRSACA()"); }
From source file:org.ejbca.core.ejb.ca.sign.SignSessionTest.java
License:Open Source License
/** * tests bouncy PKCS10// w ww .j a v a 2 s. com * * @throws Exception * if en error occurs... */ public void test13TestBCPKCS10ECDSAWithRSACA() throws Exception { log.trace(">test13TestBCPKCS10ECDSAWithRSACA()"); userAdminSession.setUserStatus(admin, "foo", UserDataConstants.STATUS_NEW); log.debug("Reset status of 'foo' to NEW"); // Create certificate request PKCS10CertificationRequest req = new PKCS10CertificationRequest("SHA256WithECDSA", CertTools.stringToBcX509Name("C=SE, O=AnaTom, CN=foo"), ecdsakeys.getPublic(), new DERSet(), ecdsakeys.getPrivate()); ByteArrayOutputStream bOut = new ByteArrayOutputStream(); DEROutputStream dOut = new DEROutputStream(bOut); dOut.writeObject(req); dOut.close(); PKCS10CertificationRequest req2 = new PKCS10CertificationRequest(bOut.toByteArray()); boolean verify = req2.verify(); log.debug("Verify returned " + verify); assertTrue(verify); log.debug("CertificationRequest generated successfully."); byte[] bcp10 = bOut.toByteArray(); PKCS10RequestMessage p10 = new PKCS10RequestMessage(bcp10); p10.setUsername("foo"); p10.setPassword("foo123"); IResponseMessage resp = signSession.createCertificate(admin, p10, org.ejbca.core.protocol.X509ResponseMessage.class, null); Certificate cert = CertTools.getCertfromByteArray(resp.getResponseMessage()); assertNotNull("Failed to create certificate", cert); log.debug("Cert=" + cert.toString()); PublicKey pk = cert.getPublicKey(); if (pk instanceof JCEECPublicKey) { JCEECPublicKey ecpk = (JCEECPublicKey) pk; assertEquals(ecpk.getAlgorithm(), "EC"); org.bouncycastle.jce.spec.ECParameterSpec spec = ecpk.getParameters(); assertNotNull("ImplicitlyCA must have null spec", spec); } else { assertTrue("Public key is not EC", false); } try { cert.verify(rsacacert.getPublicKey()); } catch (Exception e) { assertTrue("Verify failed: " + e.getMessage(), false); } log.trace("<test13TestBCPKCS10ECDSAWithRSACA()"); }
From source file:org.ejbca.core.ejb.ca.sign.SignSessionTest.java
License:Open Source License
/** * creates cert//from w w w.j a v a 2 s. c o m * * @throws Exception * if en error occurs... */ public void test14SignSessionECDSAWithECDSACA() throws Exception { log.trace(">test14SignSessionECDSAWithECDSACA()"); userAdminSession.setUserStatus(admin, "fooecdsa", UserDataConstants.STATUS_NEW); log.debug("Reset status of 'fooecdsa' to NEW"); // user that we know exists... X509Certificate selfcert = CertTools.genSelfCert("CN=selfsigned", 1, null, ecdsakeys.getPrivate(), ecdsakeys.getPublic(), AlgorithmConstants.SIGALG_SHA256_WITH_ECDSA, false); X509Certificate cert = (X509Certificate) signSession.createCertificate(admin, "fooecdsa", "foo123", selfcert); assertNotNull("Misslyckades skapa cert", cert); log.debug("Cert=" + cert.toString()); PublicKey pk = cert.getPublicKey(); if (pk instanceof JCEECPublicKey) { JCEECPublicKey ecpk = (JCEECPublicKey) pk; assertEquals(ecpk.getAlgorithm(), "EC"); org.bouncycastle.jce.spec.ECParameterSpec spec = ecpk.getParameters(); assertNotNull("ImplicitlyCA must have null spec", spec); } else { assertTrue("Public key is not EC", false); } try { cert.verify(ecdsacacert.getPublicKey()); } catch (Exception e) { assertTrue("Verify failed: " + e.getMessage(), false); } // FileOutputStream fos = new FileOutputStream("testcert.crt"); // fos.write(cert.getEncoded()); // fos.close(); log.trace("<test14SignSessionECDSAWithECDSACA()"); }
From source file:org.ejbca.core.ejb.ca.sign.SignSessionTest.java
License:Open Source License
/** * tests bouncy PKCS10//from w w w.j ava 2s .co m * * @throws Exception * if en error occurs... */ public void test15TestBCPKCS10ECDSAWithECDSACA() throws Exception { log.trace(">test15TestBCPKCS10ECDSAWithECDSACA()"); userAdminSession.setUserStatus(admin, "fooecdsa", UserDataConstants.STATUS_NEW); log.debug("Reset status of 'foo' to NEW"); // Create certificate request PKCS10CertificationRequest req = new PKCS10CertificationRequest("SHA256WithECDSA", CertTools.stringToBcX509Name("C=SE, O=AnaTom, CN=fooecdsa"), ecdsakeys.getPublic(), new DERSet(), ecdsakeys.getPrivate()); ByteArrayOutputStream bOut = new ByteArrayOutputStream(); DEROutputStream dOut = new DEROutputStream(bOut); dOut.writeObject(req); dOut.close(); PKCS10CertificationRequest req2 = new PKCS10CertificationRequest(bOut.toByteArray()); boolean verify = req2.verify(); log.debug("Verify returned " + verify); assertTrue(verify); log.debug("CertificationRequest generated successfully."); byte[] bcp10 = bOut.toByteArray(); PKCS10RequestMessage p10 = new PKCS10RequestMessage(bcp10); p10.setUsername("fooecdsa"); p10.setPassword("foo123"); IResponseMessage resp = signSession.createCertificate(admin, p10, org.ejbca.core.protocol.X509ResponseMessage.class, null); Certificate cert = CertTools.getCertfromByteArray(resp.getResponseMessage()); assertNotNull("Failed to create certificate", cert); log.debug("Cert=" + cert.toString()); PublicKey pk = cert.getPublicKey(); if (pk instanceof JCEECPublicKey) { JCEECPublicKey ecpk = (JCEECPublicKey) pk; assertEquals(ecpk.getAlgorithm(), "EC"); org.bouncycastle.jce.spec.ECParameterSpec spec = ecpk.getParameters(); assertNotNull("ImplicitlyCA must have null spec", spec); } else { assertTrue("Public key is not EC", false); } try { cert.verify(ecdsacacert.getPublicKey()); } catch (Exception e) { assertTrue("Verify failed: " + e.getMessage(), false); } log.trace("<test15TestBCPKCS10ECDSAWithECDSACA()"); }
From source file:org.ejbca.core.ejb.ca.sign.SignSessionTest.java
License:Open Source License
/** * creates cert/*from w w w . j av a2 s. c om*/ * * @throws Exception * if en error occurs... */ public void test16SignSessionECDSAWithECDSAImplicitlyCACA() throws Exception { log.trace(">test16SignSessionECDSAWithECDSAImplicitlyCACA()"); userAdminSession.setUserStatus(admin, "fooecdsaimpca", UserDataConstants.STATUS_NEW); log.debug("Reset status of 'fooecdsaimpca' to NEW"); // user that we know exists... X509Certificate selfcert = CertTools.genSelfCert("CN=selfsigned", 1, null, ecdsakeys.getPrivate(), ecdsakeys.getPublic(), AlgorithmConstants.SIGALG_SHA256_WITH_ECDSA, false); X509Certificate cert = (X509Certificate) signSession.createCertificate(admin, "fooecdsaimpca", "foo123", selfcert); assertNotNull("Misslyckades skapa cert", cert); log.debug("Cert=" + cert.toString()); PublicKey pk = cert.getPublicKey(); if (pk instanceof JCEECPublicKey) { JCEECPublicKey ecpk = (JCEECPublicKey) pk; assertEquals(ecpk.getAlgorithm(), "EC"); org.bouncycastle.jce.spec.ECParameterSpec spec = ecpk.getParameters(); assertNotNull("ImplicitlyCA must have null spec", spec); } else { assertTrue("Public key is not EC", false); } try { cert.verify(ecdsaimplicitlycacacert.getPublicKey()); } catch (Exception e) { assertTrue("Verify failed: " + e.getMessage(), false); } // FileOutputStream fos = new FileOutputStream("testcert.crt"); // fos.write(cert.getEncoded()); // fos.close(); log.trace("<test16SignSessionECDSAWithECDSAImplicitlyCACA()"); }
From source file:org.ejbca.core.ejb.ca.sign.SignSessionTest.java
License:Open Source License
/** * tests bouncy PKCS10// w ww. j a va 2s.c o m * * @throws Exception * if en error occurs... */ public void test17TestBCPKCS10ECDSAWithECDSAImplicitlyCACA() throws Exception { log.trace(">test17TestBCPKCS10ECDSAWithECDSAImplicitlyCACA()"); userAdminSession.setUserStatus(admin, "fooecdsaimpca", UserDataConstants.STATUS_NEW); log.debug("Reset status of 'foo' to NEW"); // Create certificate request PKCS10CertificationRequest req = new PKCS10CertificationRequest("SHA256WithECDSA", CertTools.stringToBcX509Name("C=SE, O=AnaTom, CN=fooecdsaimpca"), ecdsakeys.getPublic(), new DERSet(), ecdsakeys.getPrivate()); ByteArrayOutputStream bOut = new ByteArrayOutputStream(); DEROutputStream dOut = new DEROutputStream(bOut); dOut.writeObject(req); dOut.close(); PKCS10CertificationRequest req2 = new PKCS10CertificationRequest(bOut.toByteArray()); boolean verify = req2.verify(); log.debug("Verify returned " + verify); assertTrue(verify); log.debug("CertificationRequest generated successfully."); byte[] bcp10 = bOut.toByteArray(); PKCS10RequestMessage p10 = new PKCS10RequestMessage(bcp10); p10.setUsername("fooecdsaimpca"); p10.setPassword("foo123"); IResponseMessage resp = signSession.createCertificate(admin, p10, org.ejbca.core.protocol.X509ResponseMessage.class, null); Certificate cert = CertTools.getCertfromByteArray(resp.getResponseMessage()); assertNotNull("Failed to create certificate", cert); log.debug("Cert=" + cert.toString()); PublicKey pk = cert.getPublicKey(); if (pk instanceof JCEECPublicKey) { JCEECPublicKey ecpk = (JCEECPublicKey) pk; assertEquals(ecpk.getAlgorithm(), "EC"); org.bouncycastle.jce.spec.ECParameterSpec spec = ecpk.getParameters(); assertNotNull("ImplicitlyCA must have null spec", spec); } else { assertTrue("Public key is not EC", false); } try { cert.verify(ecdsaimplicitlycacacert.getPublicKey()); } catch (Exception e) { assertTrue("Verify failed: " + e.getMessage(), false); } log.trace("<test17TestBCPKCS10ECDSAWithECDSAImplicitlyCACA()"); }
From source file:org.ejbca.core.ejb.ca.sign.SignSessionWithECGOST3410Test.java
License:Open Source License
private void checkECKey(PublicKey pk) { if (pk instanceof JCEECPublicKey) { JCEECPublicKey ecpk = (JCEECPublicKey) pk; assertEquals(ecpk.getAlgorithm(), "EC"); org.bouncycastle.jce.spec.ECParameterSpec spec = ecpk.getParameters(); assertNotNull("Only ImplicitlyCA curves can have null spec", spec); } else if (pk instanceof BCECPublicKey) { BCECPublicKey ecpk = (BCECPublicKey) pk; assertEquals(ecpk.getAlgorithm(), "EC"); org.bouncycastle.jce.spec.ECParameterSpec spec = ecpk.getParameters(); assertNotNull("Only ImplicitlyCA curves can have null spec", spec); } else if (pk instanceof BCECGOST3410PublicKey) { BCECGOST3410PublicKey ecpk = (BCECGOST3410PublicKey) pk; assertEquals(ecpk.getAlgorithm(), AlgorithmConstants.KEYALGORITHM_ECGOST3410); org.bouncycastle.jce.spec.ECParameterSpec spec = ecpk.getParameters(); assertNotNull("Only ImplicitlyCA curves can have null spec", spec); } else {/*ww w . j av a 2 s .c o m*/ assertTrue("Public key is not EC: " + pk.getClass().getName(), false); } }