You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@directory.apache.org by se...@apache.org on 2019/06/20 16:15:00 UTC
[directory-server] branch master updated: Close streams when
loading/storing key store (fix tests on Windows)
This is an automated email from the ASF dual-hosted git repository.
seelmann pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/directory-server.git
The following commit(s) were added to refs/heads/master by this push:
new 177dc93 Close streams when loading/storing key store (fix tests on Windows)
177dc93 is described below
commit 177dc93375dae0668a3427699f506487c896262e
Author: Stefan Seelmann <ma...@stefan-seelmann.de>
AuthorDate: Thu Jun 20 18:04:06 2019 +0200
Close streams when loading/storing key store (fix tests on Windows)
---
.../directory/server/core/security/CertificateUtil.java | 6 ++++--
.../shared/client/api/CertificateValidationTest.java | 5 ++++-
.../sasl/external/ClientCertificateAuthenticationIT.java | 6 ++++--
.../java/org/apache/directory/server/ssl/KeyStoreIT.java | 15 ++++++++++++---
.../java/org/apache/directory/server/ApacheDsService.java | 6 ++++--
.../java/org/apache/directory/server/UberJarMainTest.java | 6 ++++--
.../directory/server/core/integ/AbstractLdapTestUnit.java | 6 ++++--
7 files changed, 36 insertions(+), 14 deletions(-)
diff --git a/core/src/main/java/org/apache/directory/server/core/security/CertificateUtil.java b/core/src/main/java/org/apache/directory/server/core/security/CertificateUtil.java
index 3948883..d11be0f 100644
--- a/core/src/main/java/org/apache/directory/server/core/security/CertificateUtil.java
+++ b/core/src/main/java/org/apache/directory/server/core/security/CertificateUtil.java
@@ -339,8 +339,10 @@ public final class CertificateUtil
keyStore.setKeyEntry( "apachedsKey", keyPair.getPrivate(), keyStorePassword, new X509Certificate[] { certificate } );
- FileOutputStream out = new FileOutputStream( keyStoreFile );
- keyStore.store( out, keyStorePassword );
+ try ( FileOutputStream out = new FileOutputStream( keyStoreFile ) )
+ {
+ keyStore.store( out, keyStorePassword );
+ }
return keyStoreFile;
}
diff --git a/ldap-client-test/src/test/java/org/apache/directory/shared/client/api/CertificateValidationTest.java b/ldap-client-test/src/test/java/org/apache/directory/shared/client/api/CertificateValidationTest.java
index b64a346..1d8645d 100644
--- a/ldap-client-test/src/test/java/org/apache/directory/shared/client/api/CertificateValidationTest.java
+++ b/ldap-client-test/src/test/java/org/apache/directory/shared/client/api/CertificateValidationTest.java
@@ -158,7 +158,10 @@ public class CertificateValidationTest extends AbstractLdapTestUnit
keyStore.setCertificateEntry( "apacheds", cert );
keyStore.setKeyEntry( "apacheds", keyPair.getPrivate(), KEYSTORE_PW.toCharArray(), new Certificate[]
{ cert } );
- keyStore.store( new FileOutputStream( goodKeyStoreFile ), KEYSTORE_PW.toCharArray() );
+ try ( FileOutputStream out = new FileOutputStream( goodKeyStoreFile ) )
+ {
+ keyStore.store( out, KEYSTORE_PW.toCharArray() );
+ }
return keyStore;
}
diff --git a/server-integ/src/test/java/org/apache/directory/server/ldap/handlers/sasl/external/ClientCertificateAuthenticationIT.java b/server-integ/src/test/java/org/apache/directory/server/ldap/handlers/sasl/external/ClientCertificateAuthenticationIT.java
index 50d175f..96d2f06 100644
--- a/server-integ/src/test/java/org/apache/directory/server/ldap/handlers/sasl/external/ClientCertificateAuthenticationIT.java
+++ b/server-integ/src/test/java/org/apache/directory/server/ldap/handlers/sasl/external/ClientCertificateAuthenticationIT.java
@@ -139,14 +139,16 @@ public class ClientCertificateAuthenticationIT extends AbstractLdapTestUnit
TlsKeyGenerator.addKeyPair( entry, issuerDn, subjectDn, startDate, expiryDate, keyAlgo, keySize, null );
// prepare socket factory to provide client certificate
- try ( ByteArrayInputStream in = new ByteArrayInputStream( TlsKeyGenerator.getCertificate( entry ).getEncoded() ) )
+ try (
+ ByteArrayInputStream in = new ByteArrayInputStream( TlsKeyGenerator.getCertificate( entry ).getEncoded() );
+ FileOutputStream out = new FileOutputStream( ClientCertificateSslSocketFactory.ksFile ) )
{
CertificateFactory factory = CertificateFactory.getInstance( "X.509" );
Certificate cert = factory.generateCertificate( in );
KeyStore ks = KeyStore.getInstance( KeyStore.getDefaultType() );
ks.load( null, null );
ks.setKeyEntry("apacheds", TlsKeyGenerator.getKeyPair( entry ).getPrivate(), ClientCertificateSslSocketFactory.ksPassword, new Certificate[] { cert } );
- ks.store( new FileOutputStream( ClientCertificateSslSocketFactory.ksFile ), ClientCertificateSslSocketFactory.ksPassword );
+ ks.store( out, ClientCertificateSslSocketFactory.ksPassword );
}
// set certificte to testuser
diff --git a/server-integ/src/test/java/org/apache/directory/server/ssl/KeyStoreIT.java b/server-integ/src/test/java/org/apache/directory/server/ssl/KeyStoreIT.java
index 01bb016..1fc936b 100644
--- a/server-integ/src/test/java/org/apache/directory/server/ssl/KeyStoreIT.java
+++ b/server-integ/src/test/java/org/apache/directory/server/ssl/KeyStoreIT.java
@@ -89,7 +89,10 @@ public class KeyStoreIT extends AbstractLdapTestUnit
goodKeyStore.setCertificateEntry( "apacheds", cert );
goodKeyStore.setKeyEntry( "apacheds", keyPair.getPrivate(), KEYSTORE_PW.toCharArray(), new Certificate[]
{ cert } );
- goodKeyStore.store( new FileOutputStream( goodKeyStoreFile ), KEYSTORE_PW.toCharArray() );
+ try ( FileOutputStream out = new FileOutputStream( goodKeyStoreFile ) )
+ {
+ goodKeyStore.store( out, KEYSTORE_PW.toCharArray() );
+ }
// Create the empty key store
File emptyKeyStoreFile = new File( BAD_KEYSTORE_WITH_ZERO_ENTRIES );
@@ -99,7 +102,10 @@ public class KeyStoreIT extends AbstractLdapTestUnit
}
KeyStore emptyKeyStore = KeyStore.getInstance( KeyStore.getDefaultType() );
emptyKeyStore.load( null, null );
- emptyKeyStore.store( new FileOutputStream( emptyKeyStoreFile ), KEYSTORE_PW.toCharArray() );
+ try ( FileOutputStream out = new FileOutputStream( emptyKeyStoreFile ) )
+ {
+ emptyKeyStore.store( new FileOutputStream( emptyKeyStoreFile ), KEYSTORE_PW.toCharArray() );
+ }
// Create the bad key store with two entries
File twoEntiesKeyStoreFile = new File( BAD_KEYSTORE_WITH_TWO_ENTRIES );
@@ -112,7 +118,10 @@ public class KeyStoreIT extends AbstractLdapTestUnit
twoEntiesKeyStore.setCertificateEntry( "foo123", cert );
twoEntiesKeyStore.setKeyEntry( "apacheds", keyPair.getPrivate(), KEYSTORE_PW.toCharArray(), new Certificate[]
{ cert } );
- twoEntiesKeyStore.store( new FileOutputStream( twoEntiesKeyStoreFile ), KEYSTORE_PW.toCharArray() );
+ try ( FileOutputStream out = new FileOutputStream( twoEntiesKeyStoreFile ) )
+ {
+ twoEntiesKeyStore.store( out, KEYSTORE_PW.toCharArray() );
+ }
}
diff --git a/service/src/main/java/org/apache/directory/server/ApacheDsService.java b/service/src/main/java/org/apache/directory/server/ApacheDsService.java
index c14cf64..bbd7b03 100644
--- a/service/src/main/java/org/apache/directory/server/ApacheDsService.java
+++ b/service/src/main/java/org/apache/directory/server/ApacheDsService.java
@@ -249,8 +249,10 @@ public class ApacheDsService
keyStore.setKeyEntry( "apachedsKey", keyPair.getPrivate(), keyStorePassword, new X509Certificate[] { certificate } );
- FileOutputStream out = new FileOutputStream( ldapServerKeystoreFile );
- keyStore.store( out, keyStorePassword );
+ try ( FileOutputStream out = new FileOutputStream( ldapServerKeystoreFile ) )
+ {
+ keyStore.store( out, keyStorePassword );
+ }
}
ldapServerBean.setLdapServerKeystoreFile( ldapServerKeystoreFile.getAbsolutePath() );
diff --git a/service/src/test/java/org/apache/directory/server/UberJarMainTest.java b/service/src/test/java/org/apache/directory/server/UberJarMainTest.java
index a793853..625b780 100644
--- a/service/src/test/java/org/apache/directory/server/UberJarMainTest.java
+++ b/service/src/test/java/org/apache/directory/server/UberJarMainTest.java
@@ -120,8 +120,10 @@ public class UberJarMainTest
keyStore.setKeyEntry( "apachedsKey", keyPair.getPrivate(), keyStorePassword, new X509Certificate[] { certificate } );
- FileOutputStream out = new FileOutputStream( keyStoreFile );
- keyStore.store( out, keyStorePassword );
+ try ( FileOutputStream out = new FileOutputStream( keyStoreFile ) )
+ {
+ keyStore.store( out, keyStorePassword );
+ }
}
catch ( Exception e )
{
diff --git a/test-framework/src/main/java/org/apache/directory/server/core/integ/AbstractLdapTestUnit.java b/test-framework/src/main/java/org/apache/directory/server/core/integ/AbstractLdapTestUnit.java
index ffa4fe6..9d290c6 100644
--- a/test-framework/src/main/java/org/apache/directory/server/core/integ/AbstractLdapTestUnit.java
+++ b/test-framework/src/main/java/org/apache/directory/server/core/integ/AbstractLdapTestUnit.java
@@ -116,7 +116,9 @@ public abstract class AbstractLdapTestUnit
keyStore.setKeyEntry( "apachedsKey", keyPair.getPrivate(), keyStorePassword, new X509Certificate[] { certificate } );
- FileOutputStream out = new FileOutputStream( keyStoreFile );
- keyStore.store( out, keyStorePassword );
+ try ( FileOutputStream out = new FileOutputStream( keyStoreFile ) )
+ {
+ keyStore.store( out, keyStorePassword );
+ }
}
}