mirror of https://github.com/apache/cassandra
Merge branch 'cassandra-2.1' into trunk
This commit is contained in:
commit
0b89ae2601
|
|
@ -26,6 +26,7 @@
|
|||
* (Windows) fix startup when WMI memory query fails (CASSANDRA-7505)
|
||||
* Anti-compaction proceeds if any part of the repair failed (CASANDRA-7521)
|
||||
Merged from 2.0:
|
||||
* Warn when SSL certificates have expired (CASSANDRA-7528)
|
||||
* Fix error when doing reversed queries with static columns (CASSANDRA-7490)
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -23,6 +23,9 @@ import java.io.IOException;
|
|||
import java.net.InetAddress;
|
||||
import java.net.InetSocketAddress;
|
||||
import java.security.KeyStore;
|
||||
import java.security.cert.X509Certificate;
|
||||
import java.util.Date;
|
||||
import java.util.Enumeration;
|
||||
import java.util.Set;
|
||||
|
||||
import javax.net.ssl.KeyManagerFactory;
|
||||
|
|
@ -48,6 +51,8 @@ public final class SSLFactory
|
|||
{
|
||||
private static final Logger logger = LoggerFactory.getLogger(SSLFactory.class);
|
||||
|
||||
private static boolean checkedExpiry = false;
|
||||
|
||||
public static SSLServerSocket getServerSocket(EncryptionOptions options, InetAddress address, int port) throws IOException
|
||||
{
|
||||
SSLContext ctx = createSSLContext(options, true);
|
||||
|
|
@ -114,6 +119,20 @@ public final class SSLFactory
|
|||
KeyManagerFactory kmf = KeyManagerFactory.getInstance(options.algorithm);
|
||||
KeyStore ks = KeyStore.getInstance(options.store_type);
|
||||
ks.load(ksf, options.keystore_password.toCharArray());
|
||||
if (!checkedExpiry)
|
||||
{
|
||||
for (Enumeration<String> aliases = ks.aliases(); aliases.hasMoreElements(); )
|
||||
{
|
||||
String alias = aliases.nextElement();
|
||||
if (ks.getCertificate(alias).getType().equals("X.509"))
|
||||
{
|
||||
Date expires = ((X509Certificate) ks.getCertificate(alias)).getNotAfter();
|
||||
if (expires.before(new Date()))
|
||||
logger.warn("Certificate for {} expired on {}", alias, expires);
|
||||
}
|
||||
}
|
||||
checkedExpiry = true;
|
||||
}
|
||||
kmf.init(ks, options.keystore_password.toCharArray());
|
||||
|
||||
ctx.init(kmf.getKeyManagers(), trustManagers, null);
|
||||
|
|
|
|||
Loading…
Reference in New Issue