/** * Detects the type of KeyStore / TrustStore file from the file extension. * If the file name ends with ".jks", returns <code>StoreFileType.JKS</code>. * If the file name ends with ".pem", returns <code>StoreFileType.PEM</code>. * Otherwise, throws an IllegalArgumentException. * @param filename the filename of the key store or trust store file. * @return a KeyStoreFileType. * @throws IllegalArgumentException if the filename does not end with * ".jks" or ".pem". */ public static KeyStoreFileType fromFilename(String filename) { int i = filename.lastIndexOf('.'); if (i >= 0) { String extension = filename.substring(i); for (KeyStoreFileType storeFileType : KeyStoreFileType.values()) { if (storeFileType.getDefaultFileExtension().equals(extension)) { return storeFileType; } } } throw new IllegalArgumentException( "Unable to auto-detect store file type from file name: " + filename); }
private File getTrustStorePemFile() throws IOException { if (trustStorePemFile == null) { File trustStorePemFile = File.createTempFile( TRUST_STORE_PREFIX, KeyStoreFileType.PEM.getDefaultFileExtension(), tempDir); trustStorePemFile.deleteOnExit(); FileUtils.writeStringToFile( trustStorePemFile, X509TestHelpers.pemEncodeX509Certificate(trustStoreCertificate), StandardCharsets.US_ASCII, false); this.trustStorePemFile = trustStorePemFile; } return trustStorePemFile; }
private File getKeyStorePemFile() throws IOException { if (keyStorePemFile == null) { try { File keyStorePemFile = File.createTempFile( KEY_STORE_PREFIX, KeyStoreFileType.PEM.getDefaultFileExtension(), tempDir); keyStorePemFile.deleteOnExit(); FileUtils.writeStringToFile( keyStorePemFile, X509TestHelpers.pemEncodeCertAndPrivateKey( keyStoreCertificate, keyStoreKeyPair.getPrivate(), keyStorePassword), StandardCharsets.US_ASCII, false); this.keyStorePemFile = keyStorePemFile; } catch (OperatorCreationException e) { throw new IOException(e); } } return keyStorePemFile; }
private File getTrustStoreJksFile() throws IOException { if (trustStoreJksFile == null) { try { File trustStoreJksFile = File.createTempFile( TRUST_STORE_PREFIX, KeyStoreFileType.JKS.getDefaultFileExtension(), tempDir); trustStoreJksFile.deleteOnExit(); final FileOutputStream trustStoreOutputStream = new FileOutputStream(trustStoreJksFile); try { byte[] bytes = X509TestHelpers.certToJavaTrustStoreBytes(trustStoreCertificate, trustStorePassword); trustStoreOutputStream.write(bytes); trustStoreOutputStream.flush(); } finally { trustStoreOutputStream.close(); } this.trustStoreJksFile = trustStoreJksFile; } catch (GeneralSecurityException e) { throw new IOException(e); } } return trustStoreJksFile; }
private File getKeyStoreJksFile() throws IOException { if (keyStoreJksFile == null) { try { File keyStoreJksFile = File.createTempFile( KEY_STORE_PREFIX, KeyStoreFileType.JKS.getDefaultFileExtension(), tempDir); keyStoreJksFile.deleteOnExit(); final FileOutputStream keyStoreOutputStream = new FileOutputStream(keyStoreJksFile); try { byte[] bytes = X509TestHelpers.certAndPrivateKeyToJavaKeyStoreBytes( keyStoreCertificate, keyStoreKeyPair.getPrivate(), keyStorePassword); keyStoreOutputStream.write(bytes); keyStoreOutputStream.flush(); } finally { keyStoreOutputStream.close(); } this.keyStoreJksFile = keyStoreJksFile; } catch (GeneralSecurityException e) { throw new IOException(e); } } return keyStoreJksFile; }