Java Code Examples for java.security.KeyStore#setCertificateEntry()
The following examples show how to use
java.security.KeyStore#setCertificateEntry() .
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example 1
Source File: ComodoHacker.java From openjdk-8 with GNU General Public License v2.0 | 6 votes |
private static X509TrustManager getTrustManager() throws Exception { // generate certificate from cert string CertificateFactory cf = CertificateFactory.getInstance("X.509"); // create a key store KeyStore ks = KeyStore.getInstance("JKS"); ks.load(null, null); // import the trusted cert try (ByteArrayInputStream is = new ByteArrayInputStream(trustedCertStr.getBytes())) { Certificate trustedCert = cf.generateCertificate(is); ks.setCertificateEntry("RSA Export Signer", trustedCert); } // create the trust manager TrustManagerFactory tmf = TrustManagerFactory.getInstance(tmAlgorithm); tmf.init(ks); return (X509TrustManager)tmf.getTrustManagers()[0]; }
Example 2
Source File: SecurityHelper.java From MQTT-Essentials-A-Lightweight-IoT-Protocol with MIT License | 6 votes |
private static KeyManagerFactory createKeyManagerFactory( final String clientCertificateFileName, final String clientKeyFileName, final String clientKeyPassword) throws InvalidKeySpecException, NoSuchAlgorithmException, KeyStoreException, IOException, CertificateException, UnrecoverableKeyException { // Creates a key manager factory // Load and create the client certificate final X509Certificate clientCertificate = createX509CertificateFromFile(clientCertificateFileName); // Load the private client key final PrivateKey privateKey = createPrivateKeyFromPemFile(clientKeyFileName); // Client key and certificate are sent to server final KeyStore keyStore = KeyStore.getInstance(KeyStore.getDefaultType()); keyStore.load(null, null); keyStore.setCertificateEntry("certificate", clientCertificate); keyStore.setKeyEntry("private-key", privateKey, clientKeyPassword.toCharArray(), new Certificate[] { clientCertificate }); final KeyManagerFactory keyManagerFactory = KeyManagerFactory.getInstance(KeyManagerFactory.getDefaultAlgorithm()); keyManagerFactory.init(keyStore, clientKeyPassword.toCharArray()); return keyManagerFactory; }
Example 3
Source File: ComodoHacker.java From jdk8u_jdk with GNU General Public License v2.0 | 6 votes |
private static X509TrustManager getTrustManager() throws Exception { // generate certificate from cert string CertificateFactory cf = CertificateFactory.getInstance("X.509"); // create a key store KeyStore ks = KeyStore.getInstance("JKS"); ks.load(null, null); // import the trusted cert try (ByteArrayInputStream is = new ByteArrayInputStream(trustedCertStr.getBytes())) { Certificate trustedCert = cf.generateCertificate(is); ks.setCertificateEntry("RSA Export Signer", trustedCert); } // create the trust manager TrustManagerFactory tmf = TrustManagerFactory.getInstance(tmAlgorithm); tmf.init(ks); return (X509TrustManager)tmf.getTrustManagers()[0]; }
Example 4
Source File: ComodoHacker.java From jdk8u60 with GNU General Public License v2.0 | 6 votes |
private static X509TrustManager getTrustManager() throws Exception { // generate certificate from cert string CertificateFactory cf = CertificateFactory.getInstance("X.509"); // create a key store KeyStore ks = KeyStore.getInstance("JKS"); ks.load(null, null); // import the trusted cert try (ByteArrayInputStream is = new ByteArrayInputStream(trustedCertStr.getBytes())) { Certificate trustedCert = cf.generateCertificate(is); ks.setCertificateEntry("RSA Export Signer", trustedCert); } // create the trust manager TrustManagerFactory tmf = TrustManagerFactory.getInstance(tmAlgorithm); tmf.init(ks); return (X509TrustManager)tmf.getTrustManagers()[0]; }
Example 5
Source File: GatewaySSLContextProvider.java From gateway-android-sdk with Apache License 2.0 | 5 votes |
KeyStore createKeyStore() throws Exception { KeyStore keyStore = KeyStore.getInstance(KeyStore.getDefaultType()); keyStore.load(null, null); // add our trusted cert to the keystore keyStore.setCertificateEntry("gateway.mastercard.com", readCertificate(INTERMEDIATE_CA)); return keyStore; }
Example 6
Source File: LdapUserDB.java From git-as-svn with GNU General Public License v2.0 | 5 votes |
@NotNull private static KeyStore assembleKeyStore(@NotNull X509Certificate certificate) throws Exception { final KeyStore keyStore = KeyStore.getInstance(KeyStore.getDefaultType()); keyStore.load(null); keyStore.setCertificateEntry("alias", certificate); return keyStore; }
Example 7
Source File: CertificateValidator.java From cloudhopper-commons with Apache License 2.0 | 5 votes |
/** * validates a specific certificate inside of the keystore being passed in * * @param keyStore * @param cert * @throws CertificateException */ public void validate(KeyStore keyStore, Certificate cert) throws CertificateException { Certificate[] certChain = null; if (cert != null && cert instanceof X509Certificate) { ((X509Certificate)cert).checkValidity(); String certAlias = null; try { if (keyStore == null) { throw new InvalidParameterException("Keystore cannot be null"); } certAlias = keyStore.getCertificateAlias((X509Certificate)cert); if (certAlias == null) { certAlias = "CHSMPP" + String.format("%016X", aliasCount.incrementAndGet()); keyStore.setCertificateEntry(certAlias, cert); } certChain = keyStore.getCertificateChain(certAlias); if (certChain == null || certChain.length == 0) { throw new IllegalStateException("Unable to retrieve certificate chain"); } } catch (KeyStoreException kse) { logger.debug("", kse); throw new CertificateException("Unable to validate certificate" + (certAlias == null ? "":" for alias [" +certAlias + "]") + ": " + kse.getMessage(), kse); } validate(certChain); } }
Example 8
Source File: PKIXExtendedTM.java From openjdk-jdk9 with GNU General Public License v2.0 | 4 votes |
private static SSLContext getSSLContext(String trusedCertStr, String keyCertStr, byte[] modulus, byte[] privateExponent, char[] passphrase) throws Exception { // generate certificate from cert string CertificateFactory cf = CertificateFactory.getInstance("X.509"); ByteArrayInputStream is = new ByteArrayInputStream(trusedCertStr.getBytes()); Certificate trusedCert = cf.generateCertificate(is); is.close(); // create a key store KeyStore ks = KeyStore.getInstance("JKS"); ks.load(null, null); // import the trused cert ks.setCertificateEntry("RSA Export Signer", trusedCert); if (keyCertStr != null) { // generate the private key. RSAPrivateKeySpec priKeySpec = new RSAPrivateKeySpec( new BigInteger(modulus), new BigInteger(privateExponent)); KeyFactory kf = KeyFactory.getInstance("RSA"); RSAPrivateKey priKey = (RSAPrivateKey)kf.generatePrivate(priKeySpec); // generate certificate chain is = new ByteArrayInputStream(keyCertStr.getBytes()); Certificate keyCert = cf.generateCertificate(is); is.close(); Certificate[] chain = new Certificate[2]; chain[0] = keyCert; chain[1] = trusedCert; // import the key entry. ks.setKeyEntry("Whatever", priKey, passphrase, chain); } // create SSL context TrustManagerFactory tmf = TrustManagerFactory.getInstance("PKIX"); tmf.init(ks); TrustManager tms[] = tmf.getTrustManagers(); if (tms == null || tms.length == 0) { throw new Exception("unexpected trust manager implementation"); } else { if (!(tms[0] instanceof X509ExtendedTrustManager)) { throw new Exception("unexpected trust manager implementation: " + tms[0].getClass().getCanonicalName()); } } SSLContext ctx = SSLContext.getInstance("TLS"); if (keyCertStr != null) { KeyManagerFactory kmf = KeyManagerFactory.getInstance("SunX509"); kmf.init(ks, passphrase); ctx.init(kmf.getKeyManagers(), tmf.getTrustManagers(), null); } else { ctx.init(null, tmf.getTrustManagers(), null); } return ctx; }
Example 9
Source File: SSLSocketSNISensitive.java From hottub with GNU General Public License v2.0 | 4 votes |
private static SSLContext generateSSLContext(boolean isClient) throws Exception { // generate certificate from cert string CertificateFactory cf = CertificateFactory.getInstance("X.509"); // create a key store KeyStore ks = KeyStore.getInstance("JKS"); ks.load(null, null); // import the trused cert ByteArrayInputStream is = new ByteArrayInputStream(trustedCertStr.getBytes()); Certificate trusedCert = cf.generateCertificate(is); is.close(); ks.setCertificateEntry("RSA Export Signer", trusedCert); String[] certStrs = null; String[] keyStrs = null; if (isClient) { certStrs = clientCerts; keyStrs = clientKeys; } else { certStrs = serverCerts; keyStrs = serverKeys; } for (int i = 0; i < certStrs.length; i++) { // generate the private key. String keySpecStr = keyStrs[i]; PKCS8EncodedKeySpec priKeySpec = new PKCS8EncodedKeySpec( Base64.getMimeDecoder().decode(keySpecStr)); KeyFactory kf = KeyFactory.getInstance("RSA"); RSAPrivateKey priKey = (RSAPrivateKey)kf.generatePrivate(priKeySpec); // generate certificate chain String keyCertStr = certStrs[i]; is = new ByteArrayInputStream(keyCertStr.getBytes()); Certificate keyCert = cf.generateCertificate(is); is.close(); Certificate[] chain = new Certificate[2]; chain[0] = keyCert; chain[1] = trusedCert; // import the key entry. ks.setKeyEntry("key-entry-" + i, priKey, passphrase, chain); } // create SSL context TrustManagerFactory tmf = TrustManagerFactory.getInstance(tmAlgorithm); tmf.init(ks); SSLContext ctx = SSLContext.getInstance("TLS"); KeyManagerFactory kmf = KeyManagerFactory.getInstance("NewSunX509"); kmf.init(ks, passphrase); ctx.init(kmf.getKeyManagers(), tmf.getTrustManagers(), null); ks = null; return ctx; }
Example 10
Source File: IPAddressDNSIdentities.java From jdk8u60 with GNU General Public License v2.0 | 4 votes |
private static SSLContext getSSLContext(String trusedCertStr, String keyCertStr, byte[] modulus, byte[] privateExponent, char[] passphrase) throws Exception { // generate certificate from cert string CertificateFactory cf = CertificateFactory.getInstance("X.509"); ByteArrayInputStream is = new ByteArrayInputStream(trusedCertStr.getBytes()); Certificate trusedCert = cf.generateCertificate(is); is.close(); // create a key store KeyStore ks = KeyStore.getInstance("JKS"); ks.load(null, null); // import the trused cert ks.setCertificateEntry("RSA Export Signer", trusedCert); if (keyCertStr != null) { // generate the private key. RSAPrivateKeySpec priKeySpec = new RSAPrivateKeySpec( new BigInteger(modulus), new BigInteger(privateExponent)); KeyFactory kf = KeyFactory.getInstance("RSA"); RSAPrivateKey priKey = (RSAPrivateKey)kf.generatePrivate(priKeySpec); // generate certificate chain is = new ByteArrayInputStream(keyCertStr.getBytes()); Certificate keyCert = cf.generateCertificate(is); is.close(); Certificate[] chain = new Certificate[2]; chain[0] = keyCert; chain[1] = trusedCert; // import the key entry. ks.setKeyEntry("Whatever", priKey, passphrase, chain); } // create SSL context TrustManagerFactory tmf = TrustManagerFactory.getInstance("PKIX"); tmf.init(ks); SSLContext ctx = SSLContext.getInstance("TLS"); if (keyCertStr != null) { KeyManagerFactory kmf = KeyManagerFactory.getInstance("SunX509"); kmf.init(ks, passphrase); ctx.init(kmf.getKeyManagers(), tmf.getTrustManagers(), null); } else { ctx.init(null, tmf.getTrustManagers(), null); } return ctx; }
Example 11
Source File: RSAExport.java From openjdk-jdk8u with GNU General Public License v2.0 | 4 votes |
private SSLContext getSSLContext(boolean authnRequired) throws Exception { // generate certificate from cert string CertificateFactory cf = CertificateFactory.getInstance("X.509"); ByteArrayInputStream is = new ByteArrayInputStream(trusedCertStr.getBytes()); Certificate trustedCert = cf.generateCertificate(is); // create a key store KeyStore ks = KeyStore.getInstance("JKS"); ks.load(null, null); // import the trusted cert ks.setCertificateEntry("RSA Export Signer", trustedCert); if (authnRequired) { // generate the private key. RSAPrivateKeySpec priKeySpec = new RSAPrivateKeySpec( new BigInteger(modulus), new BigInteger(privateExponent)); KeyFactory kf = KeyFactory.getInstance("RSA"); RSAPrivateKey priKey = (RSAPrivateKey)kf.generatePrivate(priKeySpec); // generate certificate chain is = new ByteArrayInputStream(serverCertStr.getBytes()); Certificate serverCert = cf.generateCertificate(is); Certificate[] chain = new Certificate[2]; chain[0] = serverCert; chain[1] = trustedCert; // import the key entry. ks.setKeyEntry("RSA Export", priKey, passphrase, chain); } // create SSL context TrustManagerFactory tmf = TrustManagerFactory.getInstance("PKIX"); tmf.init(ks); SSLContext ctx = SSLContext.getInstance("TLS"); if (authnRequired) { KeyManagerFactory kmf = KeyManagerFactory.getInstance("SunX509"); kmf.init(ks, passphrase); ctx.init(kmf.getKeyManagers(), tmf.getTrustManagers(), null); } else { ctx.init(null, tmf.getTrustManagers(), null); } return ctx; }
Example 12
Source File: DisabledShortRSAKeys.java From openjdk-jdk9 with GNU General Public License v2.0 | 4 votes |
private static SSLContext generateSSLContext(String trustedCertStr, String keyCertStr, String keySpecStr) throws Exception { // generate certificate from cert string CertificateFactory cf = CertificateFactory.getInstance("X.509"); // create a key store KeyStore ks = KeyStore.getInstance("JKS"); ks.load(null, null); // import the trused cert Certificate trusedCert = null; ByteArrayInputStream is = null; if (trustedCertStr != null) { is = new ByteArrayInputStream(trustedCertStr.getBytes()); trusedCert = cf.generateCertificate(is); is.close(); ks.setCertificateEntry("RSA Export Signer", trusedCert); } if (keyCertStr != null) { // generate the private key. PKCS8EncodedKeySpec priKeySpec = new PKCS8EncodedKeySpec( Base64.getMimeDecoder().decode(keySpecStr)); KeyFactory kf = KeyFactory.getInstance("RSA"); RSAPrivateKey priKey = (RSAPrivateKey)kf.generatePrivate(priKeySpec); // generate certificate chain is = new ByteArrayInputStream(keyCertStr.getBytes()); Certificate keyCert = cf.generateCertificate(is); is.close(); Certificate[] chain = null; if (trusedCert != null) { chain = new Certificate[2]; chain[0] = keyCert; chain[1] = trusedCert; } else { chain = new Certificate[1]; chain[0] = keyCert; } // import the key entry. ks.setKeyEntry("Whatever", priKey, passphrase, chain); } // create SSL context TrustManagerFactory tmf = TrustManagerFactory.getInstance(tmAlgorithm); tmf.init(ks); SSLContext ctx = SSLContext.getInstance("TLS"); if (keyCertStr != null && !keyCertStr.isEmpty()) { KeyManagerFactory kmf = KeyManagerFactory.getInstance("NewSunX509"); kmf.init(ks, passphrase); ctx.init(kmf.getKeyManagers(), tmf.getTrustManagers(), null); ks = null; } else { ctx.init(null, tmf.getTrustManagers(), null); } return ctx; }
Example 13
Source File: TLSRestrictions.java From openjdk-jdk9 with GNU General Public License v2.0 | 4 votes |
static SSLContext createSSLContext(String[] trustNames, String[] certNames) throws Exception { CertificateFactory certFactory = CertificateFactory.getInstance("X.509"); TrustManagerFactory tmf = null; if (trustNames != null && trustNames.length > 0 && !trustNames[0].equals(NONE_CERT)) { KeyStore trustStore = KeyStore.getInstance("JKS"); trustStore.load(null, null); for (int i = 0; i < trustNames.length; i++) { try (InputStream is = new ByteArrayInputStream( loadCert(trustNames[i]).getBytes())) { Certificate trustCert = certFactory.generateCertificate(is); trustStore.setCertificateEntry("trustCert-" + i, trustCert); } } tmf = TrustManagerFactory.getInstance("PKIX"); tmf.init(trustStore); } Certificate[] certChain = new Certificate[certNames.length]; for (int i = 0; i < certNames.length; i++) { try (InputStream is = new ByteArrayInputStream( loadCert(certNames[i]).getBytes())) { Certificate cert = certFactory.generateCertificate(is); certChain[i] = cert; } } PKCS8EncodedKeySpec privKeySpec = new PKCS8EncodedKeySpec( Base64.getMimeDecoder().decode(loadPrivKey(certNames[0]))); KeyFactory keyFactory = KeyFactory.getInstance("RSA"); PrivateKey privKey = keyFactory.generatePrivate(privKeySpec); KeyStore keyStore = KeyStore.getInstance("JKS"); keyStore.load(null, null); keyStore.setKeyEntry("keyCert", privKey, PASSWORD, certChain); KeyManagerFactory kmf = KeyManagerFactory.getInstance("NewSunX509"); kmf.init(keyStore, PASSWORD); SSLContext context = SSLContext.getInstance("TLS"); context.init(kmf.getKeyManagers(), tmf == null ? null : tmf.getTrustManagers(), null); return context; }
Example 14
Source File: ShortRSAKeyGCM.java From dragonwell8_jdk with GNU General Public License v2.0 | 4 votes |
private static SSLContext generateSSLContext(String trustedCertStr, String keyCertStr, String keySpecStr) throws Exception { // generate certificate from cert string CertificateFactory cf = CertificateFactory.getInstance("X.509"); // create a key store KeyStore ks = KeyStore.getInstance("JKS"); ks.load(null, null); // import the trused cert Certificate trusedCert = null; ByteArrayInputStream is = null; if (trustedCertStr != null) { is = new ByteArrayInputStream(trustedCertStr.getBytes()); trusedCert = cf.generateCertificate(is); is.close(); ks.setCertificateEntry("RSA Export Signer", trusedCert); } if (keyCertStr != null) { // generate the private key. PKCS8EncodedKeySpec priKeySpec = new PKCS8EncodedKeySpec( new BASE64Decoder().decodeBuffer(keySpecStr)); KeyFactory kf = KeyFactory.getInstance("RSA"); RSAPrivateKey priKey = (RSAPrivateKey)kf.generatePrivate(priKeySpec); // generate certificate chain is = new ByteArrayInputStream(keyCertStr.getBytes()); Certificate keyCert = cf.generateCertificate(is); is.close(); Certificate[] chain = null; if (trusedCert != null) { chain = new Certificate[2]; chain[0] = keyCert; chain[1] = trusedCert; } else { chain = new Certificate[1]; chain[0] = keyCert; } // import the key entry. ks.setKeyEntry("Whatever", priKey, passphrase, chain); } // create SSL context TrustManagerFactory tmf = TrustManagerFactory.getInstance(tmAlgorithm); tmf.init(ks); SSLContext ctx = SSLContext.getInstance("TLS"); if (keyCertStr != null && !keyCertStr.isEmpty()) { KeyManagerFactory kmf = KeyManagerFactory.getInstance("NewSunX509"); kmf.init(ks, passphrase); ctx.init(kmf.getKeyManagers(), tmf.getTrustManagers(), null); ks = null; } else { ctx.init(null, tmf.getTrustManagers(), null); } return ctx; }
Example 15
Source File: Identities.java From jdk8u-jdk with GNU General Public License v2.0 | 4 votes |
private static SSLContext getSSLContext(String trusedCertStr, String keyCertStr, byte[] modulus, byte[] privateExponent, char[] passphrase) throws Exception { // generate certificate from cert string CertificateFactory cf = CertificateFactory.getInstance("X.509"); ByteArrayInputStream is = new ByteArrayInputStream(trusedCertStr.getBytes()); Certificate trusedCert = cf.generateCertificate(is); is.close(); // create a key store KeyStore ks = KeyStore.getInstance("JKS"); ks.load(null, null); // import the trused cert ks.setCertificateEntry("RSA Export Signer", trusedCert); if (keyCertStr != null) { // generate the private key. RSAPrivateKeySpec priKeySpec = new RSAPrivateKeySpec( new BigInteger(modulus), new BigInteger(privateExponent)); KeyFactory kf = KeyFactory.getInstance("RSA"); RSAPrivateKey priKey = (RSAPrivateKey)kf.generatePrivate(priKeySpec); // generate certificate chain is = new ByteArrayInputStream(keyCertStr.getBytes()); Certificate keyCert = cf.generateCertificate(is); is.close(); Certificate[] chain = new Certificate[2]; chain[0] = keyCert; chain[1] = trusedCert; // import the key entry. ks.setKeyEntry("Whatever", priKey, passphrase, chain); } // create SSL context TrustManagerFactory tmf = TrustManagerFactory.getInstance("PKIX"); tmf.init(ks); SSLContext ctx = SSLContext.getInstance("TLS"); if (keyCertStr != null) { KeyManagerFactory kmf = KeyManagerFactory.getInstance("SunX509"); kmf.init(ks, passphrase); ctx.init(kmf.getKeyManagers(), tmf.getTrustManagers(), null); } else { ctx.init(null, tmf.getTrustManagers(), null); } return ctx; }
Example 16
Source File: IPAddressDNSIdentities.java From hottub with GNU General Public License v2.0 | 4 votes |
private static SSLContext getSSLContext(String trusedCertStr, String keyCertStr, byte[] modulus, byte[] privateExponent, char[] passphrase) throws Exception { // generate certificate from cert string CertificateFactory cf = CertificateFactory.getInstance("X.509"); ByteArrayInputStream is = new ByteArrayInputStream(trusedCertStr.getBytes()); Certificate trusedCert = cf.generateCertificate(is); is.close(); // create a key store KeyStore ks = KeyStore.getInstance("JKS"); ks.load(null, null); // import the trused cert ks.setCertificateEntry("RSA Export Signer", trusedCert); if (keyCertStr != null) { // generate the private key. RSAPrivateKeySpec priKeySpec = new RSAPrivateKeySpec( new BigInteger(modulus), new BigInteger(privateExponent)); KeyFactory kf = KeyFactory.getInstance("RSA"); RSAPrivateKey priKey = (RSAPrivateKey)kf.generatePrivate(priKeySpec); // generate certificate chain is = new ByteArrayInputStream(keyCertStr.getBytes()); Certificate keyCert = cf.generateCertificate(is); is.close(); Certificate[] chain = new Certificate[2]; chain[0] = keyCert; chain[1] = trusedCert; // import the key entry. ks.setKeyEntry("Whatever", priKey, passphrase, chain); } // create SSL context TrustManagerFactory tmf = TrustManagerFactory.getInstance("PKIX"); tmf.init(ks); SSLContext ctx = SSLContext.getInstance("TLS"); if (keyCertStr != null) { KeyManagerFactory kmf = KeyManagerFactory.getInstance("SunX509"); kmf.init(ks, passphrase); ctx.init(kmf.getKeyManagers(), tmf.getTrustManagers(), null); } else { ctx.init(null, tmf.getTrustManagers(), null); } return ctx; }
Example 17
Source File: DHEKeySizing.java From openjdk-jdk8u with GNU General Public License v2.0 | 4 votes |
private SSLContext getSSLContext() throws Exception { // generate certificate from cert string CertificateFactory cf = CertificateFactory.getInstance("X.509"); // create a key store KeyStore ts = KeyStore.getInstance("JKS"); KeyStore ks = KeyStore.getInstance("JKS"); ts.load(null, null); ks.load(null, null); // import the trused cert ByteArrayInputStream is = new ByteArrayInputStream(trustedCertStr.getBytes()); Certificate trusedCert = cf.generateCertificate(is); is.close(); ts.setCertificateEntry("rsa-trusted-2048", trusedCert); // generate the private key. String keySpecStr = targetPrivateKey; PKCS8EncodedKeySpec priKeySpec = new PKCS8EncodedKeySpec( Base64.getMimeDecoder().decode(keySpecStr)); KeyFactory kf = KeyFactory.getInstance("RSA"); RSAPrivateKey priKey = (RSAPrivateKey)kf.generatePrivate(priKeySpec); Certificate[] chain = new Certificate[1]; chain[0] = trusedCert; // import the key entry. ks.setKeyEntry("rsa-key-2048", priKey, passphrase, chain); // create SSL context KeyManagerFactory kmf = KeyManagerFactory.getInstance("SunX509"); kmf.init(ks, passphrase); TrustManagerFactory tmf = TrustManagerFactory.getInstance("SunX509"); tmf.init(ts); SSLContext sslCtx = SSLContext.getInstance("TLSv1"); sslCtx.init(kmf.getKeyManagers(), tmf.getTrustManagers(), null); return sslCtx; }
Example 18
Source File: ShortRSAKey512.java From dragonwell8_jdk with GNU General Public License v2.0 | 4 votes |
private static SSLContext generateSSLContext(String trustedCertStr, String keyCertStr, String keySpecStr) throws Exception { // generate certificate from cert string CertificateFactory cf = CertificateFactory.getInstance("X.509"); // create a key store KeyStore ks = KeyStore.getInstance("JKS"); ks.load(null, null); // import the trused cert Certificate trusedCert = null; ByteArrayInputStream is = null; if (trustedCertStr != null) { is = new ByteArrayInputStream(trustedCertStr.getBytes()); trusedCert = cf.generateCertificate(is); is.close(); ks.setCertificateEntry("RSA Export Signer", trusedCert); } if (keyCertStr != null) { // generate the private key. PKCS8EncodedKeySpec priKeySpec = new PKCS8EncodedKeySpec( Base64.getMimeDecoder().decode(keySpecStr)); KeyFactory kf = KeyFactory.getInstance("RSA"); RSAPrivateKey priKey = (RSAPrivateKey)kf.generatePrivate(priKeySpec); // generate certificate chain is = new ByteArrayInputStream(keyCertStr.getBytes()); Certificate keyCert = cf.generateCertificate(is); is.close(); Certificate[] chain = null; if (trusedCert != null) { chain = new Certificate[2]; chain[0] = keyCert; chain[1] = trusedCert; } else { chain = new Certificate[1]; chain[0] = keyCert; } // import the key entry. ks.setKeyEntry("Whatever", priKey, passphrase, chain); } // create SSL context TrustManagerFactory tmf = TrustManagerFactory.getInstance(tmAlgorithm); tmf.init(ks); SSLContext ctx = SSLContext.getInstance("TLS"); if (keyCertStr != null && !keyCertStr.isEmpty()) { KeyManagerFactory kmf = KeyManagerFactory.getInstance("NewSunX509"); kmf.init(ks, passphrase); ctx.init(kmf.getKeyManagers(), tmf.getTrustManagers(), null); ks = null; } else { ctx.init(null, tmf.getTrustManagers(), null); } return ctx; }
Example 19
Source File: IPIdentities.java From openjdk-jdk8u-backup with GNU General Public License v2.0 | 4 votes |
private static SSLContext getSSLContext(String trusedCertStr, String keyCertStr, byte[] modulus, byte[] privateExponent, char[] passphrase) throws Exception { // generate certificate from cert string CertificateFactory cf = CertificateFactory.getInstance("X.509"); ByteArrayInputStream is = new ByteArrayInputStream(trusedCertStr.getBytes()); Certificate trusedCert = cf.generateCertificate(is); is.close(); // create a key store KeyStore ks = KeyStore.getInstance("JKS"); ks.load(null, null); // import the trused cert ks.setCertificateEntry("RSA Export Signer", trusedCert); if (keyCertStr != null) { // generate the private key. RSAPrivateKeySpec priKeySpec = new RSAPrivateKeySpec( new BigInteger(modulus), new BigInteger(privateExponent)); KeyFactory kf = KeyFactory.getInstance("RSA"); RSAPrivateKey priKey = (RSAPrivateKey)kf.generatePrivate(priKeySpec); // generate certificate chain is = new ByteArrayInputStream(keyCertStr.getBytes()); Certificate keyCert = cf.generateCertificate(is); is.close(); Certificate[] chain = new Certificate[2]; chain[0] = keyCert; chain[1] = trusedCert; // import the key entry. ks.setKeyEntry("Whatever", priKey, passphrase, chain); } // create SSL context TrustManagerFactory tmf = TrustManagerFactory.getInstance("PKIX"); tmf.init(ks); SSLContext ctx = SSLContext.getInstance("TLS"); if (keyCertStr != null) { KeyManagerFactory kmf = KeyManagerFactory.getInstance("SunX509"); kmf.init(ks, passphrase); ctx.init(kmf.getKeyManagers(), tmf.getTrustManagers(), null); } else { ctx.init(null, tmf.getTrustManagers(), null); } return ctx; }
Example 20
Source File: SelfIssuedCert.java From jdk8u60 with GNU General Public License v2.0 | 4 votes |
private static SSLContext getSSLContext(String trusedCertStr, String keyCertStr, String keySpecStr) throws Exception { // generate certificate from cert string CertificateFactory cf = CertificateFactory.getInstance("X.509"); // create a key store KeyStore ks = KeyStore.getInstance("JKS"); ks.load(null, null); // import the trused cert Certificate trusedCert = null; ByteArrayInputStream is = null; if (trusedCertStr != null) { is = new ByteArrayInputStream(trusedCertStr.getBytes()); trusedCert = cf.generateCertificate(is); is.close(); ks.setCertificateEntry("RSA Export Signer", trusedCert); } if (keyCertStr != null) { // generate the private key. PKCS8EncodedKeySpec priKeySpec = new PKCS8EncodedKeySpec( Base64.getMimeDecoder().decode(keySpecStr)); KeyFactory kf = KeyFactory.getInstance("RSA"); RSAPrivateKey priKey = (RSAPrivateKey)kf.generatePrivate(priKeySpec); // generate certificate chain is = new ByteArrayInputStream(keyCertStr.getBytes()); Certificate keyCert = cf.generateCertificate(is); is.close(); Certificate[] chain = null; if (trusedCert != null) { chain = new Certificate[2]; chain[0] = keyCert; chain[1] = trusedCert; } else { chain = new Certificate[1]; chain[0] = keyCert; } // import the key entry. ks.setKeyEntry("Whatever", priKey, passphrase, chain); } // create SSL context TrustManagerFactory tmf = TrustManagerFactory.getInstance(tmAlgorithm); tmf.init(ks); SSLContext ctx = SSLContext.getInstance("TLS"); if (keyCertStr != null && !keyCertStr.isEmpty()) { KeyManagerFactory kmf = KeyManagerFactory.getInstance("NewSunX509"); kmf.init(ks, passphrase); ctx.init(kmf.getKeyManagers(), tmf.getTrustManagers(), null); ks = null; } else { ctx.init(null, tmf.getTrustManagers(), null); } return ctx; }