WebSphere Application Server - Express, Version 6.0.x   
             オペレーティング・システム: AIX , HP-UX, Linux, Solaris, Windows

             目次と検索結果のパーソナライズ化

カスタム・パスワード暗号化のプラグ・ポイント

カスタム・パスワード暗号化のプラグ・ポイントを作成すると、WebSphere Application Server で 現在 Base64 エンコードを使用してエンコードまたはデコードしているすべてのパスワードを暗号化し、 暗号化解除することができます。

このプラグ・ポイントの実装クラスは、 鍵の管理、使用する暗号化アルゴリズムの決定、および重要な秘密の保護を受け持ちます。 WebSphere Application Server ランタイムは、 暗号化されたパスワードを既存の場所に保管します。 その際、{xor} タグでは なく、{custom:alias} タグが前に付きます。 タグのカスタム部分は、それがカスタム・アルゴリズムであることを示しています。 タグの別名部分は、カスタム実装によって指定されます。 これは、パスワードの暗号化方法を示すのに役立ちます。 この実装には、鍵の別名、暗号化アルゴリズム、暗号化モード、または暗号化埋め込みが組み込まれています。

このプラグ・ポイントのカスタム・プロバイダーは、 パスワードを暗号化および暗号化解除するように設計されたインターフェースを実装する必要があります。 このインターフェースは、カスタム・プラグ・ポイントが使用可能にされるたびに、 WebSphere Application Server ランタイムによって呼び出されます。 カスタム・アルゴリズムは、プラグ・ポイントが使用可能化されると、 サポートされるアルゴリズムのうちの 1 つになります。 その他のサポートされるアルゴリズム には、{xor} (標準 Base64 エンコード) と、 {os400} (iSeries プラットフォームで使用される) があります。

以下に、com.ibm.wsspi.security.crypto.CustomPasswordEncryption インターフェースの例を示します。
package com.ibm.wsspi.security.crypto;
public interface CustomPasswordEncryption
{

    /**
     * The encrypt operation takes a UTF-8 encoded String in the form of a byte[].
     * The byte[] is generated from String.getBytes("UTF-8").
     * An encrypted byte[] is returned from the implementation in the EncryptedInfo
     * object.
Additionally, a logical key alias is returned in the EncryptedInfo 
     * objectwhich is passed back into the decrypt method to determine which key was
     * used to encrypt this password. The WebSphere Application Server runtime has
     * no knowledge of the algorithm or the key used to encrypt the data.
     *
     * @param byte[]
     * @return com.ibm.wsspi.security.crypto.EncryptedInfo
     * @throws com.ibm.wsspi.security.crypto.PasswordEncryptException
     **/
    public EncryptedInfo encrypt (byte[] decrypted_bytes) throws PasswordEncryptException;
    
    /**
     * The decrypt operation takes the EncryptedInfo object containing a byte[] 
     * and the logical key alias and converts it to the decrypted byte[].  The 
     * WebSphere Application Server runtime converts the byte[] to a String 
     * using new String (byte[], "UTF-8");
     *
     * @param com.ibm.wsspi.security.crypto.EncryptedInfo 
     * @return byte[]
     * @throws com.ibm.wsspi.security.crypto.PasswordDecryptException
     **/
    public byte[] decrypt (EncryptedInfo info) throws PasswordDecryptException;

    /**
     * The following is reserved for future use and is currently not 
     * called by the WebSphere Application Server runtime.
     *
     * @param java.util.HashMap
     **/
    public void initialize (java.util.HashMap initialization_data);
}
com.ibm.wsspi.security.crypto.EncryptedInfo クラスには、 暗号化されたバイトと、その暗号化されたバイトに関連したユーザー定義の別名が含まれています。 この情報は、パスワードが暗号化された元の方法の判別に役立てるため、暗号化方式に戻されます。
package com.ibm.wsspi.security.crypto;
public class EncryptedInfo
{
    private byte[] bytes;
    private String alias;

/**
 * This constructor takes the encrypted bytes and a keyAlias as parameters.
 * This constructor is used to pass to or from the WebSphere Application Server
 * runtime to enable the runtime to associate the bytes with a specific key that
 * is used to encrypt the bytes.
 */

    public EncryptedInfo (byte[] encryptedBytes, String keyAlias)
    {
        bytes = encryptedBytes;
        alias = keyAlias;
    }

/**
 * This command returns the encrypted bytes.
 *
 * @return byte[]
 */
    public byte[] getEncryptedBytes()
    {
        return bytes;
    }

/**
 * This command returns the key alias.  The key alias is a logical string that is 
 * associated with the encrypted password in the model. The format is 
 * {custom:keyAlias}encrypted_password. Typically, just the key alias is placed 
 * here, but algorithm information can also be returned.  
 *
 * @return String
 */
    public String getKeyAlias()
    {
        return alias;
    }

}

暗号化方式は、カスタム・クラスが構成され、カスタム暗号化が使用可能にされるごとに、 パスワード処理のために呼び出されます。 暗号化解除方式は、カスタム・クラスが構成され、 パスワードに {custom:alias} タグが含まれている場合に呼び出されます。 custom:alias タグは、暗号化解除の前に外されます。 詳しくは、カスタム・パスワード暗号化の使用可能化を参照してください。




関連タスク
カスタム・パスワード暗号化の使用可能化
カスタム・パスワード暗号化の使用不可化
概念トピック    

ご利用条件 | フィードバック

最終更新: Jan 21, 2008 11:31:28 PM EST
http://publib.boulder.ibm.com/infocenter/wasinfo/v6r0/index.jsp?topic=/com.ibm.websphere.express.doc/info/exp/ae/csec_plugpoint_custpass_encrypt.html