private NamedGroup getPublicNamedGroup(Certificate cert) { if (cert.isEmpty()) { throw new IllegalArgumentException("Empty CertChain provided!"); } if (!(publicKey instanceof CustomEcPublicKey)) { return null; } try { X509CertificateObject obj = new X509CertificateObject(cert.getCertificateAt(0)); if (obj.getPublicKey() instanceof BCECGOST3410PublicKey) { return NamedGroup.GOST3410; } if (obj.getPublicKey() instanceof BCECGOST3410_2012PublicKey) { return NamedGroup.GOST3410_2012; } BCECPublicKey ecKey = (BCECPublicKey) obj.getPublicKey(); ECNamedCurveSpec spec = (ECNamedCurveSpec) ecKey.getParams(); return NamedGroup.fromJavaName(spec.getName()); } catch (Exception ex) { LOGGER.warn("Could not determine EC public key group", ex); return null; } }
private int calculateHashCode() { try { int hashCode = 0; byte[] certData = this.getEncoded(); for (int i = 1; i < certData.length; i++) { hashCode += certData[i] * i; } return hashCode; } catch (CertificateEncodingException e) { return 0; } }
public synchronized int hashCode() { if (!hashValueSet) { hashValue = calculateHashCode(); hashValueSet = true; } return hashValue; }
String nl = Strings.lineSeparator(); buf.append(" [0] Version: ").append(this.getVersion()).append(nl); buf.append(" SerialNumber: ").append(this.getSerialNumber()).append(nl); buf.append(" IssuerDN: ").append(this.getIssuerDN()).append(nl); buf.append(" Start Date: ").append(this.getNotBefore()).append(nl); buf.append(" Final Date: ").append(this.getNotAfter()).append(nl); buf.append(" SubjectDN: ").append(this.getSubjectDN()).append(nl); buf.append(" Public Key: ").append(this.getPublicKey()).append(nl); buf.append(" Signature Algorithm: ").append(this.getSigAlgName()).append(nl); byte[] sig = this.getSignature();
private static Certificate toJava(X509CertificateHolder certHolder) throws Exception { return new X509CertificateObject(certHolder.toASN1Structure()); }
public final void verify( PublicKey key) throws CertificateException, NoSuchAlgorithmException, InvalidKeyException, NoSuchProviderException, SignatureException { Signature signature; String sigName = X509SignatureUtil.getSignatureName(c.getSignatureAlgorithm()); try { signature = Signature.getInstance(sigName, BouncyCastleProvider.PROVIDER_NAME); } catch (Exception e) { signature = Signature.getInstance(sigName); } checkSignature(key, signature); }
LOGGER.debug("Invoking certificate engine to parse the certificate {}", config.getEncryptionCertificate()); final X509CertificateObject cert = (X509CertificateObject) certParser.engineRead(); LOGGER.debug("Creating final credential based on the certificate {} and the private key", cert.getIssuerDN()); return new BasicX509Credential(cert, kp.getPrivate()); } catch (final Exception e) {
derin.close(); ASN1Sequence seq = ASN1Sequence.getInstance(certInfo); X509CertificateObject certificateObject = new X509CertificateObject(org.bouncycastle.asn1.x509.Certificate.getInstance(seq)); certificateObject.verify(ca.getPublicKey());
FileReader fileReader = new FileReader("/path/to/cert.pem"); PEMReader pemReader = new PEMReader(fileReader); Object obj = pemReader.readObject(); pemReader.close(); // sloppy IO handling, be thorough in production code X509CertificateObject certObj = (X509CertificateObject) obj; System.out.println(certObj.getPublicKey());
public static X509CertificateObject loadX509Certificate(KeyStore keyStore, String alias) throws KeyStoreException, CertificateEncodingException, IOException, CertificateParsingException { return new X509CertificateObject(loadTLSCertificate(keyStore, alias).getCertificateAt(0)); }
public final void verify( PublicKey key, String sigProvider) throws CertificateException, NoSuchAlgorithmException, InvalidKeyException, NoSuchProviderException, SignatureException { String sigName = X509SignatureUtil.getSignatureName(c.getSignatureAlgorithm()); Signature signature; if (sigProvider != null) { signature = Signature.getInstance(sigName, sigProvider); } else { signature = Signature.getInstance(sigName); } checkSignature(key, signature); }
LOGGER.debug("Invoking certificate engine to parse the certificate [{}]", config.getEncryptionCertificate()); val cert = (X509CertificateObject) certParser.engineRead(); LOGGER.debug("Creating final credential based on the certificate [{}] and the private key", cert.getIssuerDN()); return new BasicX509Credential(cert, kp.getPrivate());
public static PublicKey fetchServerPublicKey(Config config) { X509CertificateObject cert; try { Certificate fetchedServerCertificate = fetchServerCertificate(config); if (fetchedServerCertificate != null && fetchedServerCertificate.getLength() > 0) { cert = new X509CertificateObject(fetchedServerCertificate.getCertificateAt(0)); return cert.getPublicKey(); } } catch (CertificateParsingException ex) { throw new WorkflowExecutionException("Could not get public key from server certificate", ex); } return null; }
private Certificate readPEMCertificate( InputStream in) throws IOException, CertificateParsingException { ASN1Sequence seq = PEM_PARSER.readPEMObject(in); if (seq != null) { return new X509CertificateObject( org.bouncycastle.asn1.x509.Certificate.getInstance(seq)); } return null; }
@Override public String marshal(X509CertificateObject v) throws Exception { return ArrayConverter.bytesToHexString(v.getEncoded()); }
public final void verify( PublicKey key, Provider sigProvider) throws CertificateException, NoSuchAlgorithmException, InvalidKeyException, SignatureException { String sigName = X509SignatureUtil.getSignatureName(c.getSignatureAlgorithm()); Signature signature; if (sigProvider != null) { signature = Signature.getInstance(sigName, sigProvider); } else { signature = Signature.getInstance(sigName); } checkSignature(key, signature); }
X509CertificateObject obj = new X509CertificateObject(cert.getCertificateAt(0)); if (obj.getPublicKey() instanceof BCECGOST3410PublicKey) { return NamedGroup.GOST3410; if (obj.getPublicKey() instanceof BCECGOST3410_2012PublicKey) { return NamedGroup.GOST3410_2012; BCECPublicKey ecKey = (BCECPublicKey) obj.getPublicKey(); ECNamedCurveSpec spec = (ECNamedCurveSpec) ecKey.getParams(); NamedGroup group = NamedGroup.fromJavaName(spec.getName());
public static X509Certificate getCertificate(final X509CertificateHolder x509CertificateHolder) { try { final Certificate certificate = x509CertificateHolder.toASN1Structure(); final X509CertificateObject x509CertificateObject = new X509CertificateObject(certificate); return x509CertificateObject; } catch (CertificateParsingException e) { throw new DSSException(e); } }
public boolean equals( Object o) { if (o == this) { return true; } if (!(o instanceof Certificate)) { return false; } Certificate other = (Certificate)o; try { byte[] b1 = this.getEncoded(); byte[] b2 = other.getEncoded(); return Arrays.areEqual(b1, b2); } catch (CertificateEncodingException e) { return false; } }
/** * This method return {@code X509Certificate} representing {@code X509CertificateHolder}. The {@code CertificateParsingException} is transformed in {@code * DSSException}. * * @param certificateHolder {@code X509CertificateHolder} * @return {@code X509Certificate}. * @throws DSSException */ public static X509Certificate getCertificate(final X509CertificateHolder certificateHolder) throws DSSException { try { final X509Certificate certificate = new X509CertificateObject(certificateHolder.toASN1Structure()); return certificate; } catch (CertificateParsingException e) { throw new DSSException(e); } }