この例では、アプリケーションが com.ibm.websphere.crypto.KeySetHelper API を使用して、KeySet または KeySetGroup 構成から管理対象鍵を取得する方法を示します。 com.ibm.websphere.crypto.KeySetHelper API を使用して、KeySet または KeySetGroup オブジェクトの最新の鍵セットまたはすべての鍵を取得します。
新規の暗号オペレーションを実行する際には、最新の鍵を使用します。 KeySet または KeySetGroup オブジェクトで定義されている他のすべての鍵は、前に実行された暗号オペレーションの妥当性検査用です。
/** * Initializes the primary and secondary Maps used for initializing the keys. */ public void initializeKeySetGroupKeys() throws com.ibm.websphere.crypto.KeyException { java.util.Map generationKeys = null; java.util.Map validationKeys = null; PublicKey tempPublicKey = null; PrivateKey tempPrivateKey = null; byte[] tempSharedKey = null; keySetGroupName = "ApplicationKeySetGroup"; com.ibm.websphere.crypto.KeySetHelper ksh = com.ibm.websphere.crypto.KeySetHelper.getInstance(); generationKeys = ksh.getLatestKeysForKeySetGroup(keySetGroupName); /*** * Latest keys: { * KeyPair_3=com.ibm.websphere.crypto.KeyPair@64ec64ec, * Secret_3=javax.crypto.spec.SecretKeySpec@fffe8aa7 * } ***/ if (generationKeys != null) { Iterator iKeySet = generationKeys.keySet().iterator(); while (iKeySet.hasNext()) { String keyAlias = (String)iKeySet.next(); Object key = generationKeys.get(keyAlias); if (key instanceof java.security.Key) { tempSharedKey = ((java.security.Key)key).getEncoded(); } else if (key instanceof com.ibm.websphere.crypto.KeyPair) { java.security.Key publicKeyAsSecret = ((com.ibm.websphere.crypto.KeyPair)key).getPublicKey(); tempPublicKey = new PublicKey(publicKeyAsSecret.getEncoded()); java.security.Key privateKeyAsSecret = ((com.ibm.websphere.crypto.KeyPair)key).getPrivateKey(); tempPrivateKey = new PrivateKey(privateKeyAsSecret.getEncoded()); } } // save these for use later, if necessary validationKeys = ksh.getAllKeysForKeySetGroup(keySetGroupName); /*** * All keys: { * version_1= * {Secret_1=javax.crypto.spec.SecretKeySpec@178cf, * KeyPair_1=com.ibm.websphere.crypto.KeyPair@1c121c12}, * version_2= * {Secret_2=javax.crypto.spec.SecretKeySpec@17a77, * KeyPair_2=com.ibm.websphere.crypto.KeyPair@182e182e}, * version_3= * {Secret_3=javax.crypto.spec.SecretKeySpec@fffe8aa7, * KeyPair_3=com.ibm.websphere.crypto.KeyPair@4da04da0} * } ***/ } else { throw new com.ibm.websphere.crypto.KeyException("Could not generateKeys."); } }