|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.glite.security.trustmanager.UpdatingKeyManager
public class UpdatingKeyManager
A KeyManager that reloads the credentials periodically. Notice! If the identity certificate changes, the private key changes too. The SSL mechanism fetches the certificate chain and the private key using two different calls, so there is a possibility that update happens between calls to these methods thus leading to the situation that you get old cert and new private key and they do not work together. If the system has built-in retry, this shouldn't matter, only a small delay occurs. But if there is no retry, failure occurs. This can only be solved by changing the internal api inside java or by using mutexes in the software that uses this class. So, solution is not likely.
Constructor Summary | |
---|---|
UpdatingKeyManager(org.glite.security.util.CaseInsensitiveProperties config,
org.bouncycastle.openssl.PasswordFinder finder)
Creates a new instance of UpdatingKeyManager |
|
UpdatingKeyManager(java.security.KeyStore store,
char[] pass)
Creates a new UpdatingKeyManager object. |
Method Summary | |
---|---|
java.lang.String |
chooseClientAlias(java.lang.String[] str,
java.security.Principal[] principal,
java.net.Socket socket)
DOCUMENT ME! |
java.lang.String |
chooseServerAlias(java.lang.String str,
java.security.Principal[] principal,
java.net.Socket socket)
DOCUMENT ME! |
java.lang.String |
findProxy()
DOCUMENT ME! |
java.security.cert.X509Certificate[] |
getCertificateChain(java.lang.String str)
DOCUMENT ME! |
java.lang.String[] |
getClientAliases(java.lang.String str,
java.security.Principal[] principal)
DOCUMENT ME! |
java.security.PrivateKey |
getPrivateKey(java.lang.String str)
DOCUMENT ME! |
java.lang.String[] |
getServerAliases(java.lang.String str,
java.security.Principal[] principal)
DOCUMENT ME! |
java.lang.String |
toString()
|
Methods inherited from class java.lang.Object |
---|
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Constructor Detail |
---|
public UpdatingKeyManager(org.glite.security.util.CaseInsensitiveProperties config, org.bouncycastle.openssl.PasswordFinder finder) throws java.security.NoSuchAlgorithmException, java.security.cert.CertificateException
java.security.NoSuchAlgorithmException
java.security.cert.CertificateException
public UpdatingKeyManager(java.security.KeyStore store, char[] pass) throws java.lang.Exception
store
- DOCUMENT ME!pass
- DOCUMENT ME!
java.lang.Exception
- DOCUMENT ME!Method Detail |
---|
public java.lang.String chooseClientAlias(java.lang.String[] str, java.security.Principal[] principal, java.net.Socket socket)
chooseClientAlias
in interface javax.net.ssl.X509KeyManager
str
- DOCUMENT ME!principal
- DOCUMENT ME!socket
- DOCUMENT ME!
public java.lang.String chooseServerAlias(java.lang.String str, java.security.Principal[] principal, java.net.Socket socket)
chooseServerAlias
in interface javax.net.ssl.X509KeyManager
str
- DOCUMENT ME!principal
- DOCUMENT ME!socket
- DOCUMENT ME!
public java.security.cert.X509Certificate[] getCertificateChain(java.lang.String str)
getCertificateChain
in interface javax.net.ssl.X509KeyManager
str
- DOCUMENT ME!
public java.lang.String[] getClientAliases(java.lang.String str, java.security.Principal[] principal)
getClientAliases
in interface javax.net.ssl.X509KeyManager
str
- DOCUMENT ME!principal
- DOCUMENT ME!
public java.security.PrivateKey getPrivateKey(java.lang.String str)
getPrivateKey
in interface javax.net.ssl.X509KeyManager
str
- DOCUMENT ME!
public java.lang.String[] getServerAliases(java.lang.String str, java.security.Principal[] principal)
getServerAliases
in interface javax.net.ssl.X509KeyManager
str
- DOCUMENT ME!principal
- DOCUMENT ME!
public java.lang.String findProxy() throws java.io.IOException
java.io.IOException
- DOCUMENT ME!public java.lang.String toString()
toString
in class java.lang.Object
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |