예: 키 세트 그룹에서 생성된 키 검색

이 예제는 애플리케이션이 com.ibm.websphere.crypto.KeySetHelper API를 사용하여 KeySet 또는 KeySetGroup 구성에서 관리 키를 검색할 수 있는 방법을 보여줍니다. com.ibm.websphere.crypto.KeySetHelper API를 사용하여 KeySet 또는 KeySetGroup 오브젝트에서 최신 키 세트 또는 모든 키를 가져옵니다.

새 암호화 조작을 수행할 때 최신 키를 사용하십시오. KeySet 또는 KeySetGroup 오브젝트에서 정의되는 다른 모든 키는 이전에 수행된 암호화 조작의 유효성 검증을 위한 것입니다.

다음 예제에서는 애플리케이션이 연관된 KeySetGroup 오브젝트에서 키를 초기화하는 데 사용할 수 있는 메소드를 사용합니다. 이 애플리케이션은 생성 및 유효성 검증을 위한 두 개의 개별 맵에 키를 저장하려고 합니다. 필요한 Java™ 2 보안 요구사항을 판별하려면 KeySetHelper API에 대한 API 문서의 내용을 참조하십시오.
/**
     * 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.");
        }
    }

주제 유형을 표시하는 아이콘 참조 주제



시간소인 아이콘 마지막 업데이트 날짜: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=rsec_sslretgenkeysetgrp
파일 이름:rsec_sslretgenkeysetgrp.html