API를 사용하여 HoK(holder-of-key) 토큰 작성
SAML HoK(holder-of-key) 토큰은 WebSphere® Application Server에서 보안 토큰 공용 인터페이스를 확장하고 보호 토큰으로 사용할 수 있습니다. WebSphere Application Server는 SAML HoK(holder-of-key) 토큰 작성을 위해 SAML 라이브러리 API를 제공합니다.
이 태스크 정보
SAML 토큰 작성에는 다음 세 가지 매개변수가 필요합니다.
- com.ibm.wsspi.wssecurity.saml.config.RequesterConfig
- com.ibm.wsspi.wssecurity.saml.config.ProviderConfig
- com.ibm.wsspi.wssecurity.saml.config.CredentialConfig
프로시저
예
다음 샘플 코드를 사용하여 주제에서 비밀 키(대칭 키)를 사용하는 SAML 버전 1.1 HoK(holder-of-key) 토큰을 작성하십시오.
import com.ibm.wsspi.wssecurity.saml.config.RequesterConfig;
import com.ibm.wsspi.wssecurity.saml.config.ProviderConfig;
import com.ibm.wsspi.wssecurity.saml.config.CredentialConfoig ;
import com.ibm.websphere.wssecurity.wssapi.token.SAMLTokenFactory
SAMLTokenFactory samlFactory = SAMLTokenFactory.getInstance(SAMLTokenFactory.WssSamlV11Token11);
RequesterConfig reqData = samlFactory.newSymmetricHolderOfKeyTokenGenerateConfig();
//Map "AppliesTo" to key alias, so library knows how to encrypt the Symmetric Key
reqData.setKeyAliasForAppliesTo("SOAPRecipient");
ProviderConfig samlIssuerCfg = samlFactory.newDefaultProviderConfig(IsserUri);
Subject subject = com.ibm.websphere.security.auth.WSSubject.getRunAsSubject();
SAMLToken samlToken = samlFactory.newSAMLToken(subject, reqData, samlIssuerCfg);
다음 샘플 코드를 사용하여
주제에서 공개 키를 사용하는 SAML 버전 2.0 HoK(holder-of-key) 토큰을 작성하십시오.
//User expression on how SAML should be created, default provided
RequesterConfig reqData = samlFactory.newAsymmetricHolderOfKeyTokenGenerateConfig();
//Choose a public key to be included in SAML
reqData.setKeyAliasForRequester("SOAPInitiator");
//Get issuer key store so can sign or encrypt assertion, issuer name
ProviderConfig samlIssuerCfg = samlFactory.newDefaultProviderConfig("any_issuer");
//Get JAAS Subject so the factory can populate principal and attributes to SAML
Subject subject = com.ibm.websphere.security.auth.WSSubject.getRunAsSubject();
SAMLToken samlToken = samlFactory.newSAMLToken(subject, reqData, samlIssuerCfg);
다음 샘플 코드를 사용하여 비밀 키(대칭 키)를 사용하는 SAML 버전 2.0 HoK(holder-of-key) 토큰을 작성하십시오.
SAMLTokenFactory samlFactory = SAMLTokenFactory.getInstance (SAMLTokenFactory.WssSamlV20Token11);
RequesterConfig reqData = samlFactory. newSymmetricHolderOfKeyTokenGenerateConfig ();
//Map "AppliesTo" to key alias so library knows how to encrypt the Symmetric Key
reqData.setKeyAliasForAppliesTo("SOAPRecipient");
ProviderConfig samlIssuerCfg = samlFactory.newDefaultProviderConfig(null);
CredentialConfig cred = samlFactory.newCredentialConfig ();
cred.setRequesterNameID("any_name");
SAMLToken samlToken = samlFactory.newSAMLToken(subject, reqData, samlIssuerCfg);