org.owasp.webscarab.plugin
Class SSLKeyManager

java.lang.Object
  extended by org.owasp.webscarab.plugin.SSLKeyManager
All Implemented Interfaces:
javax.net.ssl.KeyManager, javax.net.ssl.X509KeyManager

public class SSLKeyManager
extends java.lang.Object
implements javax.net.ssl.X509KeyManager

Author:
rdawes

Field Summary
static java.lang.String KEY_PROPERTY
           
static java.lang.String SELECTED_KEY
           
 
Constructor Summary
SSLKeyManager()
          Creates a new instance of SSLKeyManager
 
Method Summary
 void addKeyStore(java.lang.String description, java.security.KeyStore ks, char[] password)
           
 java.lang.String addPKCS12KeyStore(java.lang.String filename, java.lang.String keyStorePassword, java.lang.String keyPassword)
           
 void addPropertyChangeListener(java.beans.PropertyChangeListener listener)
           
 java.lang.String chooseClientAlias(java.lang.String[] keyType, java.security.Principal[] issuers, java.net.Socket socket)
           
 java.lang.String chooseServerAlias(java.lang.String keyType, java.security.Principal[] issuers, java.net.Socket socket)
           
 java.lang.String[] getAliases(java.lang.String description)
           
 java.security.cert.X509Certificate[] getCertificateChain(java.lang.String alias)
           
 java.lang.String[] getClientAliases(java.lang.String keyType, java.security.Principal[] issuers)
           
 java.lang.String[] getKeyStoreDescriptions()
           
 java.lang.String getPreferredAlias()
           
 java.lang.String getPreferredStore()
           
 java.security.PrivateKey getPrivateKey(java.lang.String alias)
           
 java.lang.String[] getServerAliases(java.lang.String keyType, java.security.Principal[] issuers)
           
 void removeKeyStore(java.lang.String description)
           
 void removePropertyChangeListener(java.beans.PropertyChangeListener listener)
           
 boolean setPreferredAlias(java.lang.String description, java.lang.String alias)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

KEY_PROPERTY

public static final java.lang.String KEY_PROPERTY
See Also:
Constant Field Values

SELECTED_KEY

public static final java.lang.String SELECTED_KEY
See Also:
Constant Field Values
Constructor Detail

SSLKeyManager

public SSLKeyManager()
Creates a new instance of SSLKeyManager

Method Detail

addPKCS12KeyStore

public java.lang.String addPKCS12KeyStore(java.lang.String filename,
                                          java.lang.String keyStorePassword,
                                          java.lang.String keyPassword)
                                   throws java.security.KeyStoreException,
                                          java.security.UnrecoverableKeyException,
                                          java.io.IOException,
                                          java.security.cert.CertificateException
Throws:
java.security.KeyStoreException
java.security.UnrecoverableKeyException
java.io.IOException
java.security.cert.CertificateException

addKeyStore

public void addKeyStore(java.lang.String description,
                        java.security.KeyStore ks,
                        char[] password)
                 throws java.security.KeyStoreException,
                        java.security.UnrecoverableKeyException
Throws:
java.security.KeyStoreException
java.security.UnrecoverableKeyException

getKeyStoreDescriptions

public java.lang.String[] getKeyStoreDescriptions()

removeKeyStore

public void removeKeyStore(java.lang.String description)

addPropertyChangeListener

public void addPropertyChangeListener(java.beans.PropertyChangeListener listener)

removePropertyChangeListener

public void removePropertyChangeListener(java.beans.PropertyChangeListener listener)

getAliases

public java.lang.String[] getAliases(java.lang.String description)

setPreferredAlias

public boolean setPreferredAlias(java.lang.String description,
                                 java.lang.String alias)

getPreferredStore

public java.lang.String getPreferredStore()

getPreferredAlias

public java.lang.String getPreferredAlias()

chooseClientAlias

public java.lang.String chooseClientAlias(java.lang.String[] keyType,
                                          java.security.Principal[] issuers,
                                          java.net.Socket socket)
Specified by:
chooseClientAlias in interface javax.net.ssl.X509KeyManager

chooseServerAlias

public java.lang.String chooseServerAlias(java.lang.String keyType,
                                          java.security.Principal[] issuers,
                                          java.net.Socket socket)
Specified by:
chooseServerAlias in interface javax.net.ssl.X509KeyManager

getCertificateChain

public java.security.cert.X509Certificate[] getCertificateChain(java.lang.String alias)
Specified by:
getCertificateChain in interface javax.net.ssl.X509KeyManager

getClientAliases

public java.lang.String[] getClientAliases(java.lang.String keyType,
                                           java.security.Principal[] issuers)
Specified by:
getClientAliases in interface javax.net.ssl.X509KeyManager

getPrivateKey

public java.security.PrivateKey getPrivateKey(java.lang.String alias)
Specified by:
getPrivateKey in interface javax.net.ssl.X509KeyManager

getServerAliases

public java.lang.String[] getServerAliases(java.lang.String keyType,
                                           java.security.Principal[] issuers)
Specified by:
getServerAliases in interface javax.net.ssl.X509KeyManager