JavaTM 2 Platform
Standard Ed. 6

javax.net.ssl
類別 KeyManagerFactory

java.lang.Object
  繼承者 javax.net.ssl.KeyManagerFactory

public class KeyManagerFactory
extends Object

此類別充當基於密鑰內容源的密鑰管理器的處理器。每個密鑰管理器管理特定型別的、由安全Socket所使用的密鑰內容。密鑰內容是基於 KeyStore 和/或提供者特定的源。

從以下版本開始:
1.4
另請參見:
KeyManager

建構子摘要
protected KeyManagerFactory(KeyManagerFactorySpi factorySpi, Provider provider, String algorithm)
          創建 KeyManagerFactory 物件。
 
方法摘要
 String getAlgorithm()
          返回此 KeyManagerFactory 物件的演算法名稱。
static String getDefaultAlgorithm()
          獲取預設的 KeyManagerFactory 演算法名稱。
static KeyManagerFactory getInstance(String algorithm)
          返回充當密鑰管理器處理器的 KeyManagerFactory 物件。
static KeyManagerFactory getInstance(String algorithm, Provider provider)
          返回充當密鑰管理器處理器的 KeyManagerFactory 物件。
static KeyManagerFactory getInstance(String algorithm, String provider)
          返回充當密鑰管理器處理器的 KeyManagerFactory 物件。
 KeyManager[] getKeyManagers()
          為每類別密鑰內容返回一個密鑰管理器。
 Provider getProvider()
          返回此 KeyManagerFactory 物件的提供者。
 void init(KeyStore ks, char[] password)
          使用密鑰內容源初始化此處理器。
 void init(ManagerFactoryParameters spec)
          使用特定於提供者的密鑰內容源初始化此處理器。
 
從類別 java.lang.Object 繼承的方法
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

建構子詳細資訊

KeyManagerFactory

protected KeyManagerFactory(KeyManagerFactorySpi factorySpi,
                            Provider provider,
                            String algorithm)
創建 KeyManagerFactory 物件。

參數:
factorySpi - 委託
provider - 提供者
algorithm - 演算法
方法詳細資訊

getDefaultAlgorithm

public static final String getDefaultAlgorithm()
獲取預設的 KeyManagerFactory 演算法名稱。

預設的演算法可以在運行時改變,方法是通過把 "ssl.KeyManagerFactory.algorithm" 安全屬性(在 Java 安全屬性檔案或通過調用 Security.setProperty(java.lang.String, java.lang.String) 來設置)的值設置為所需的演算法名稱。

返回:
在 Java 安全屬性中指定的預設演算法名稱;如果不存在這種屬性,則返回一個特定於實作的預設值。
另請參見:
Security.setProperty(java.lang.String, java.lang.String)

getAlgorithm

public final String getAlgorithm()
返回此 KeyManagerFactory 物件的演算法名稱。

這與創建此 KeyManagerFactory 物件的某個 getInstance 調用中所指定的名稱相同。

返回:
KeyManagerFactory 物件的演算法名稱。

getInstance

public static final KeyManagerFactory getInstance(String algorithm)
                                           throws NoSuchAlgorithmException
返回充當密鑰管理器處理器的 KeyManagerFactory 物件。

此方法從首選 Provider 開始遍歷已註冊安全提供者列表。返回一個封裝 KeyManagerFactorySpi 實作的新 KeyManagerFactory 物件,該實作取自支持指定演算法的第一個 Provider。

注意,可以通過 Security.getProviders() 方法獲取已註冊提供者列表。

參數:
algorithm - 所請求演算法的標準名稱。有關標準演算法名稱的資訊,請參閱 Java Secure Socket Extension Reference Guide
返回:
新的 KeyManagerFactory 物件。
拋出:
NoSuchAlgorithmException - 如果沒有 Provider 支持指定演算法的 KeyManagerFactorySpi 實作。
另請參見:
Provider

getInstance

public static final KeyManagerFactory getInstance(String algorithm,
                                                  String provider)
                                           throws NoSuchAlgorithmException,
                                                  NoSuchProviderException
返回充當密鑰管理器處理器的 KeyManagerFactory 物件。

返回一個封裝 KeyManagerFactorySpi 實作的新 KeyManagerFactory 物件,該實作取自指定的提供者。指定的提供者必須在安全提供者列表中註冊。

注意,可以通過 Security.getProviders() 方法獲取已註冊提供者列表。

參數:
algorithm - 所請求演算法的標準名稱。有關標準演算法名稱的資訊,請參閱 Java Secure Socket Extension Reference Guide
provider - 提供者的名稱。
返回:
新的 KeyManagerFactory 物件。
拋出:
NoSuchAlgorithmException - 如果不能從指定提供者獲得指定演算法的 KeyManagerFactorySpi 實作。
NoSuchProviderException - 如果指定提供者未在安全提供者列表中註冊。
IllegalArgumentException - 如果提供者的名稱為 null 或空。
另請參見:
Provider

getInstance

public static final KeyManagerFactory getInstance(String algorithm,
                                                  Provider provider)
                                           throws NoSuchAlgorithmException
返回充當密鑰管理器處理器的 KeyManagerFactory 物件。

返回一個封裝 KeyManagerFactorySpi 實作的新 KeyManagerFactory 物件,該實作取自指定的 Provider 物件。注意,指定的 Provider 物件無需在提供者列表中註冊。

參數:
algorithm - 所請求演算法的標準名稱。有關標準演算法名稱的資訊,請參閱 Java Secure Socket Extension Reference Guide
provider - 提供者的實例。
返回:
新的 KeyManagerFactory 物件。
拋出:
NoSuchAlgorithmException - 不能從指定 Provider 物件獲得指定演算法的 KeyManagerFactorySpi 實作。
IllegalArgumentException - 如果 provider 為 null。
另請參見:
Provider

getProvider

public final Provider getProvider()
返回此 KeyManagerFactory 物件的提供者。

返回:
KeyManagerFactory 物件的提供者

init

public final void init(KeyStore ks,
                       char[] password)
                throws KeyStoreException,
                       NoSuchAlgorithmException,
                       UnrecoverableKeyException
使用密鑰內容源初始化此處理器。

提供者通常使用 KeyStore 來獲取在安全Socket協商期間所使用的密鑰內容。KeyStore 通常是受密碼保護的。

有關更多靈活初始化的資訊,請參見 init(ManagerFactoryParameters)

參數:
ks - KeyStore 或 null
password - 用來恢復 KeyStore 中密鑰的密碼
拋出:
KeyStoreException - 如果此操作失敗
NoSuchAlgorithmException - 如果指定的提供者中的指定演算法不可用。
UnrecoverableKeyException - 如果不能恢復密鑰(例如給定的 password 是錯誤的)。

init

public final void init(ManagerFactoryParameters spec)
                throws InvalidAlgorithmParameterException
使用特定於提供者的密鑰內容源初始化此處理器。

在某些情況下,提供者可能需要除 keystore 和密碼以外的其他初始化參數。期望由該特定提供者的使用者傳遞由提供者定義的適當 ManagerFactoryParameters 實作。然後提供者可以調用 ManagerFactoryParameters 實作中指定的方法來獲取所需的資訊。

參數:
spec - 特定於提供者的參數規範實作
拋出:
InvalidAlgorithmParameterException - 如果遇到了錯誤

getKeyManagers

public final KeyManager[] getKeyManagers()
為每類別密鑰內容返回一個密鑰管理器。

返回:
密鑰管理器
拋出:
IllegalStateException - 如果 KeyManagerFactory 未初始化

JavaTM 2 Platform
Standard Ed. 6

提交錯誤或意見

版權所有 2008 Sun Microsystems, Inc. 保留所有權利。請遵守GNU General Public License, version 2 only