Coverage Report - org.mule.umo.security.TlsIndirectKeyStore
 
Classes in this File Line Coverage Branch Coverage Complexity
TlsIndirectKeyStore
N/A
N/A
1
 
 1  
 /*
 2  
  * $Id: TlsIndirectKeyStore.java 7976 2007-08-21 14:26:13Z dirk.olmes $
 3  
  * --------------------------------------------------------------------------------------
 4  
  * Copyright (c) MuleSource, Inc.  All rights reserved.  http://www.mulesource.com
 5  
  *
 6  
  * The software in this package is published under the terms of the CPAL v1.0
 7  
  * license, a copy of which has been included with this distribution in the
 8  
  * LICENSE.txt file.
 9  
  */
 10  
 
 11  
 package org.mule.umo.security;
 12  
 
 13  
 import java.io.IOException;
 14  
 
 15  
 /**
 16  
  * Configure indirect key stores.
 17  
  * TLS/SSL connections are made on behalf of an entity, which can be anonymous or identified by a 
 18  
  * certificate - this interface specifies how a keystore can be used to provide the certificates
 19  
  * (and assocaited private keys) necessary for identification.
 20  
  * 
 21  
  * <p>The information specified in this interface is used to configure a key store indirectly.
 22  
  * For more information see the documentation for the connector or protocol in question.
 23  
  * The comments in {@link org.mule.umo.security.tls.TlsConfiguration} may also be useful.</p>
 24  
  * 
 25  
  * <p><em>Programmers:</em> this information, once stored in and retrieved from properties via
 26  
  * {@link org.mule.umo.security.tls.TlsPropertiesMapper}, will provide a key manager factory via the {@link TlsDirectKeyStore}
 27  
  * interface implemented by {@link org.mule.umo.security.tls.TlsConfiguration}.  This can be associated with a socket
 28  
  * factory via {@link org.mule.umo.security.tls.TlsPropertiesSocketFactory}.</p>
 29  
  */
 30  
 public interface TlsIndirectKeyStore
 31  
 {
 32  
     
 33  
     /**
 34  
      * @return The location (resolved relative to the current classpath and file system, if possible)
 35  
      * of the keystore that contains public certificates and private keys for identification.
 36  
      */
 37  
     String getClientKeyStore();
 38  
 
 39  
     /**
 40  
      * @param name The location of the keystore that contains public certificates  and private keys 
 41  
      * for identification.
 42  
      * @throws IOException If the location cannot be resolved via the file system or classpath
 43  
      */
 44  
     void setClientKeyStore(String name) throws IOException;
 45  
 
 46  
     /**
 47  
      * @return The password used to protect the keystore itself
 48  
      */
 49  
     String getClientKeyStorePassword();
 50  
 
 51  
     /**
 52  
      * @param storePassword The password used to protect the keystore itself
 53  
      */
 54  
     void setClientKeyStorePassword(String clientKeyStorePassword);
 55  
 
 56  
     /**
 57  
      * @return The type of keystore used in {@link #getKeyStore()}
 58  
      */
 59  
     void setClientKeyStoreType(String clientKeyStoreType);
 60  
 
 61  
     /**
 62  
      * @param keystoreType The type of keystore used in {@link #setKeyStore(String)}
 63  
      */
 64  
     String getClientKeyStoreType();
 65  
 
 66  
 }
 67  
 
 68