org.owasp.webscarab.httpclient
Class AliasKeyManager

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

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

A KeyManager implementation that only ever selects a single alias, rather than considering the "best" alias for the circumstances

Author:
rdawes

Constructor Summary
AliasKeyManager(java.security.KeyStore ks, java.lang.String alias, java.lang.String keyPassword)
          Creates a new instance of AliasKeyManager
 
Method Summary
 java.lang.String chooseClientAlias(java.lang.String[] str, java.security.Principal[] principal, java.net.Socket socket)
           
 java.lang.String chooseServerAlias(java.lang.String str, java.security.Principal[] principal, java.net.Socket socket)
           
 java.security.cert.X509Certificate[] getCertificateChain(java.lang.String alias)
           
 java.lang.String[] getClientAliases(java.lang.String str, java.security.Principal[] principal)
           
 java.security.PrivateKey getPrivateKey(java.lang.String alias)
           
 java.lang.String[] getServerAliases(java.lang.String str, java.security.Principal[] principal)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

AliasKeyManager

public AliasKeyManager(java.security.KeyStore ks,
                       java.lang.String alias,
                       java.lang.String keyPassword)
Creates a new instance of AliasKeyManager

Parameters:
ks - The KeyStore that contains the keypair to use
password - the password for the key (not the keystore)
alias - the alias of the certificate to use
Method Detail

chooseClientAlias

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

chooseServerAlias

public java.lang.String chooseServerAlias(java.lang.String str,
                                          java.security.Principal[] principal,
                                          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 str,
                                           java.security.Principal[] principal)
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 str,
                                           java.security.Principal[] principal)
Specified by:
getServerAliases in interface javax.net.ssl.X509KeyManager