CredentialHandler 元件
目錄
簡介
CredentialHandler 元素代表 領域 用來比較提供的憑證(例如密碼)與 領域 儲存的憑證版本所使用的元件。CredentialHandler 也可用於產生給定憑證的新儲存版本,例如在將新使用者新增到 領域 或變更使用者密碼時。
CredentialHandler 元素必須巢狀在 領域 元件內。如果未包含,將使用 MessageDigestCredentialHandler 建立預設的 CredentialHandler。
屬性
共用屬性
所有 CredentialHandler 的實作都支援下列屬性
屬性 | 說明 |
---|---|
className |
要使用的實作的 Java 類別名稱。此類別必須實作 |
與大多數 Catalina 元件不同,有數個標準的 CredentialHandler 實作可用。因此,如果存在 CredentialHandler 元素,則 className 屬性必須用於選擇您要使用的實作。
MessageDigestCredentialHandler
當儲存的密碼受訊息摘要保護時,會使用 MessageDigestCredentialHandler。此憑證處理常式支援下列儲存密碼格式
- plainText - 如果未指定演算法,則為純文字憑證
- encodedCredential - 使用已設定摘要處理密碼的十六進位編碼摘要
- {MD5}encodedCredential - 密碼的 Base64 編碼 MD5 摘要
- {SHA}encodedCredential - 密碼的 Base64 編碼 SHA1 摘要
- {SSHA}encodedCredential - 20 個字元的鹽值,後接以 Base64 編碼的加鹽 SHA1 摘要
- salt$iterationCount$encodedCredential - 以 $ 分隔的十六進位編碼鹽值、反覆運算次數代碼和十六進位編碼憑證
如果儲存的密碼格式不包含反覆運算次數,則會使用反覆運算次數 1。
如果儲存的密碼格式不包含鹽值,則不會使用鹽值。
屬性 | 說明 |
---|---|
algorithm |
用於編碼儲存在資料庫中的使用者密碼的 |
encoding |
處理密碼摘要需要將其轉換為位元組。此屬性會決定用於字元與位元組之間轉換的字元編碼。如果未指定,則會使用 UTF-8。 |
iterations |
從純文字憑證建立新的儲存憑證時要使用的反覆運算次數。 |
saltLength |
從純文字憑證建立新的儲存憑證時要使用的隨機產生鹽值的長度。 |
NestedCredentialHandler
NestedCredentialHandler 是 CredentialHandler 的實作,會委派給一個或多個子 CredentialHandler。
使用 NestedCredentialHandler 可讓開發人員結合多個相同或不同類型的 CredentialHandler。
子 CredentialHandler 是透過將 CredentialHandler
元素嵌套在定義 NestedCredentialHandler 的 CredentialHandler
元素中來定義的。憑證會依據列出的順序與每個 CredentialHandler
相符。與任何 CredentialHandler
相符就足以讓憑證被視為相符。
SecretKeyCredentialHandler
當儲存的密碼是使用 javax.crypto.SecretKeyFactory
建立時,會使用 SecretKeyCredentialHandler。此憑證處理常式支援下列儲存密碼格式
- salt$iterationCount$encodedCredential - 以 $ 分隔的十六進位編碼鹽值、反覆運算次數代碼和十六進位編碼憑證
如果儲存的密碼格式不包含反覆運算次數,則會使用反覆運算次數 1。
如果儲存的密碼格式不包含鹽值,則不會使用鹽值。
屬性 | 說明 |
---|---|
algorithm |
用於編碼儲存在資料庫中的使用者密碼的秘密金鑰演算法名稱。如果未指定,則會使用預設值 |
keyLength |
為儲存憑證產生的金鑰長度。如果未指定,則會使用預設值 |
iterations |
從純文字憑證建立新的儲存憑證時要使用的反覆運算次數。 |
saltLength |
從純文字憑證建立新的儲存憑證時要使用的隨機產生鹽值的長度。 |
巢狀元件
如果您使用 NestedCredentialHandler 實作 或延伸 NestedCredentialHandler 的 CredentialHandler,則可以在其中嵌套一個或多個 <CredentialHandler> 元素。
特殊功能
CredentialHandler 元素沒有任何特殊功能。