어셈블리 도구를 사용하여 토큰 생성기 구성

시작하기 전에

이 태스크를 완료하기 전에 먼저 다음 단계를 완료해야 합니다.

이 태스크 정보

보안 토큰은 클라이언트가 작성하는 청구 세트를 나타냅니다. 이 청구 세트에는 이름, 비밀번호, ID, 키, 인증서, 그룹, 권한 등이 포함됩니다. 보안 토큰은 SOAP(Simple Object Access Protocol) 헤더 내의 SOAP 메시지에 임베드됩니다. SOAP 헤더의 보안 토큰은 메시지 송신자에게서 의도된 메시지 수신자에게로 전달됩니다.

2단계의 토큰 생성기에 적합한 클라이언트 측 바인딩 또는 3단계의 토큰 생성기에 적합한 서버 측 바인딩을 구성하려면 다음 단계를 완료하십시오.

프로시저

  1. 창 > 퍼스펙티브 열기 > J2EE를 클릭하십시오.
  2. 옵션: 프로젝트 탐색기 창을 사용하여 클라이언트 측 바인딩을 찾으십시오. 클라이언트 배치 디스크립터 창이 표시됩니다. 이 웹 서비스에는 구성해야 하는 바인딩이 포함되어 있습니다.
    1. 웹 서비스 > 클라이언트 섹션을 펼친 후 웹 서비스의 이름을 두 번 클릭하십시오.
    2. WS 바인딩 탭을 클릭하고 보안 요청 생성기 바인딩 구성 절을 펼치십시오.
  3. 옵션: 프로젝트 탐색기 창을 사용하여 서버 측 바인딩을 찾으십시오. 웹 서비스 편집기 창이 표시됩니다. 이 웹 서비스에는 구성해야 하는 바인딩이 포함되어 있습니다.
    1. 웹 서비스 > 서비스 섹션을 펼친 후 웹 서비스의 이름을 두 번 클릭하십시오.
    2. 바인딩 구성 탭을 클릭하고 응답 생성기 바인딩 구성 세부사항 절을 펼치십시오.
  4. 옵션: X.509 보안 토큰에 적합하게 이 토큰 이용자를 구성 중인 경우에는 신뢰 앵커를 구성하십시오.
    1. 신뢰 앵커 절을 펼치고 추가를 클릭하여 새 항목을 추가하거나 편집을 클릭하여 선택된 항목을 편집하십시오. 신뢰 앵커 대화 상자 창이 표시됩니다.
    2. 신뢰 앵커 이름 필드에 신뢰 앵커 구성의 이름을 지정하십시오.
    3. 키 저장소 storepass 필드에 키 저장소 비밀번호를 지정하십시오. 키 저장소 storepass는 키 저장소 파일에 액세스하는 데 필요한 비밀번호입니다.
    4. 키 저장소 경로 필드에 키 저장소 파일의 경로를 지정하십시오. 키 저장소 경로는 키 저장소가 상주하는 디렉토리입니다. 애플리케이션을 어디에 배치하든 키 저장소 파일을 찾을 수 있게 하십시오.
    5. 키 저장소 유형 필드에서 키 저장소 유형을 선택하십시오. 선택한 키 저장소 유형은 키 저장소 경로 필드에 지정된 키 저장소 파일과 일치해야 합니다.
  5. 토큰 생성기 절을 펼치고 추가를 클릭하여 새 항목을 추가하거나 편집을 클릭하여 선택된 항목을 편집하십시오. 토큰 생성기 대화 상자 창이 표시됩니다.
  6. 토큰 생성기 이름 필드에 고유 이름을 지정하십시오. 예를 들어 gen_signtgen을 지정할 수 있습니다. 이 토큰 생성기가 X.509 인증서용이고 서명 생성 또는 암호화에 사용되는 경우 키 정보 대화 상자 창의 토큰 필드에서 토큰 생성기 이름을 참조합니다.
  7. 토큰 생성기 클래스 필드에서 토큰 생성기 클래스를 선택하십시오. 구성 중인 토큰 유형과 일치하는 토큰 생성기 클래스를 선택하십시오. 이 클래스는 com.ibm.wsspi.wssecurity.token.TokenGeneratorComponent 인터페이스를 구현해야 합니다. 다음 기본 토큰 생성기 구현이 지원됩니다.
    • com.ibm.wsspi.wssecurity.token.LTPATokenGenerator
    • com.ibm.wsspi.wssecurity.token.UsernameTokenGenerator
    • com.ibm.wsspi.wssecurity.token.X509TokenGenerator
  8. 보안 토큰 필드에서 보안 토큰 참조를 선택하십시오. 이 필드의 값은 확장 파일에 구성된 보안 토큰을 참조합니다.
  9. 값 유형 사용 옵션을 선택하고 값 유형 필드에서 값 유형을 선택하십시오. 구성 중인 토큰 생성기의 유형과 일치하는 보안 토큰의 값 유형을 선택하십시오. 값 유형을 선택하면 값 유형을 통해 지정된 보안 토큰의 유형에 따라 어셈블리 도구가 로컬 이름 및 URI 필드에 자동으로 올바른 값을 입력합니다. 사용자 정의 토큰을 선택하는 경우 생성된 토큰에 적용할 값 유형의 로컬 이름 및 네임스페이스 URI를 지정해야 합니다. 다음 값 유형이 지원됩니다.
    • 사용자 이름 토큰
    • X509 인증 토큰
    • PKIPath의 X509 인증서
    • PKCS#7의 CRL 및 X509 인증서 목록
    • LTPA 토큰
    • 사용자 정의 토큰
  10. 콜백 핸들러 필드에 콜백 핸들러 클래스 이름을 지정하십시오. 이 이름은 보안 토큰 프레임워크를 플러그인하는 데 사용되는 콜백 핸들러 구현 클래스입니다. 지정된 콜백 핸들러 클래스는 javax.security.auth.callback.CallbackHandler 인터페이스를 구현해야 합니다. JAAS(Java™ Authentication and Authorization Service) javax.security.auth.callback.CallbackHandler 인터페이스의 구현에서는 다음 구문을 사용하여 생성자를 제공해야 합니다.
    MyCallbackHandler(String username, char[] password, java.util.Map properties)
    여기서 각 항목은 다음과 같습니다.
    • username은 구성에 전달되는 사용자 이름을 지정합니다.
    • password는 구성에 전달되는 비밀번호를 지정합니다.
    • properties는 구성에 전달되는 기타 구성 특성을 지정합니다.
    다음 기본 콜백 핸들러 구현이 지원됩니다.
    com.ibm.wsspi.wssecurity.auth.callback.GUIPromptCallbackHandler
    이 콜백 핸들러는 로그인 프롬프트를 사용하여 사용자 이름 및 비밀번호 정보를 수집합니다. 그러나 이 패널에서 사용자 이름 및 비밀번호를 지정하는 경우 프롬프트가 표시되지 않으며 이 패널에 사용자 이름 및 비밀번호가 지정된 경우 WebSphere® Application Server가 토큰 생성기에 사용자 이름 및 비밀번호를 리턴합니다. J2EE(Java 2 Platform, Enterprise Edition) 애플리케이션 클라이언트에만 이 구현을 사용하십시오.
    com.ibm.wsspi.wssecurity.auth.callback.NonPromptCallbackHandler
    이 콜백 핸들러는 프롬프트를 발행하지 않으며 이 패널에 사용자 이름 및 비밀번호가 지정된 경우 이를 리턴합니다. 웹 서비스가 클라이언트의 역할을 하는 경우 이 콜백 핸들러를 사용할 수 있습니다.
    com.ibm.wsspi.wssecurity.auth.callback.StdinPromptCallbackHandler
    이 콜백 핸들러에서는 표준 입력 프롬프트를 사용하여 사용자 이름 및 비밀번호를 수집합니다. 그러나 이 패널에 사용자 이름 및 비밀번호가 지정된 경우에는 WebSphere Application Server가 프롬프트를 발행하지 않지만 토큰 생성기에 사용자 이름 및 비밀번호를 리턴합니다. J2EE 애플리케이션 클라이언트에만 이 구현을 사용하십시오.
    com.ibm.wsspi.wssecurity.auth.callback.LTPATokenCallbackHandler
    이 콜백 핸들러는 실행 도구 호출 주제에서 LTPA(Lightweight Third Party Authentication) 보안 토큰을 얻는 데 사용됩니다. 이 토큰은 SOAP 메시지에 있는 웹 서비스 보안 헤더에 2진 보안 토큰으로 삽입됩니다. 그러나 사용자 이름 및 비밀번호가 이 패널에서 지정된 경우 WebSphere Application Server가 실행 도구 주제에서 LTPA 보안 토큰을 얻지 않고 사용자 이름 및 비밀번호를 인증하여 LTPA 보안 토큰을 얻습니다. 웹 서비스가 애플리케이션 서버에서 클라이언트 역할을 하는 경우에만 이 콜백 핸들러를 사용하십시오. J2EE 애플리케이션 클라이언트에서는 이 콜백 핸들러를 사용하지 않는 것이 좋습니다.
    com.ibm.wsspi.wssecurity.auth.callback.X509CallbackHandler
    이 콜백 핸들러는 SOAP 메시지에 있는 웹 서비스 보안 헤더에 2진 보안 토큰으로 삽입되는 X.509 인증서를 작성하는 데 사용됩니다. 이 콜백 핸들러에는 키 저장소 및 키 정의가 필수입니다.
    com.ibm.wsspi.wssecurity.auth.callback.PKCS7CallbackHandler
    이 콜백 핸들러는 PKCS#7 형식으로 인코드되는 X.509 인증서를 작성하는 데 사용됩니다. 이 인증서는 SOAP 메시지의 웹 서비스 보안 헤더에 2진 보안 토큰으로 삽입됩니다. 이 콜백 핸들러에는 키 저장소가 필수입니다. 콜렉션 인증서 저장소에 인증서 폐기 목록(CRL)을 지정해야 합니다. CRL은 PKCS#7 형식의 X.509 인증서로 인코드됩니다.
    com.ibm.wsspi.wssecurity.auth.callback.PkiPathCallbackHandler
    이 콜백 핸들러는 PkiPath 형식으로 인코드되는 X.509 인증서를 작성하는 데 사용됩니다. 이 인증서는 SOAP 메시지의 웹 서비스 보안 헤더에 2진 보안 토큰으로 삽입됩니다. 이 콜백 핸들러에는 키 저장소가 필수입니다. 이 콜백 핸들러에서는 CRL이 지원되지 않습니다. 따라서 콜렉션 인증서 저장소가 필수가 아니거나 사용되지 않습니다.

    콜백 핸들러 구현에서는 필수 보안 토큰을 얻어 토큰 생성기에 이를 전달합니다. 토큰 생성기는 SOAP 메시지 내의 웹 서비스 보안 헤더에 보안 토큰을 삽입합니다. 또한 토큰 생성기는 플러그 가능한 보안 토큰 프레임워크의 플러그인 지점입니다. 서비스 제공자는 고유 구현을 제공할 수 있지만 해당 구현에서 com.ibm.wsspi.wssecurity.token.TokenConsumerComponent 인터페이스를 사용해야 합니다.

  11. 사용자 ID 필드에 기본 인증 사용자 ID를 지정하십시오. 이 사용자 이름은 콜백 핸들러 구현 생성자에게 전달됩니다. 이전 단계에서 설명한 대로 다음 기본 콜백 핸들러 구현 중 하나를 선택하면 기본 인증 사용자 이름 및 비밀번호가 사용됩니다.
    • com.ibm.wsspi.wssecurity.auth.callback.GUIPromptCallbackHandler
    • com.ibm.wsspi.wssecurity.auth.callback.LTPATokenCallbackHandler
    • com.ibm.wsspi.wssecurity.auth.callback.NonPromptCallbackHandler
    • com.ibm.wsspi.wssecurity.auth.callback.StdinPromptCallbackHandler
  12. 비밀번호 필드에 기본 인증 비밀번호를 지정하십시오. 이 비밀번호는 콜백 핸들러 구현 생성자에게 전달됩니다.
  13. 옵션: 앞에서 다음 콜백 핸들러 중 하나를 선택한 경우 키 저장소 사용 옵션을 선택하고 다음 하위 단계를 완료하십시오. com.ibm.wsspi.wssecurity.auth.callback.PKCS7CallbackHandler. com.ibm.wsspi.wssecurity.auth.callback.PkiPathCallbackHandler 또는 com.ibm.wsspi.wssecurity.auth.callback.X509CallbackHandler.
    1. 키 저장소 storepass 필드에 키 저장소의 비밀번호를 지정하십시오. 이 비밀번호는 키 저장소 파일에 액세스하는 데 사용됩니다.
    2. 키 저장소 경로 필드에 키 저장소의 위치를 지정하십시오.
    3. 키 저장소 유형 필드에 키 저장소의 유형을 지정하십시오. 다음 키 저장소 유형이 지원됩니다.
      JKS
      키 저장소에서 JKS(Java Keystore) 형식을 사용하는 경우 이 옵션을 사용하십시오.
      JCEKS
      SDK(Software Development Kit)에 Java Cryptography Extension이 구성된 경우 이 옵션을 사용하십시오. 기본 IBM® JCE는 WebSphere Application Server에 구성됩니다. 이 옵션에서는 삼중 DES 암호화를 사용하여 저장된 개인 키를 더 안전하게 보호합니다.
      PKCS11
      키 저장소에서 PKCS#11 파일 형식을 사용하는 경우 이 형식을 사용하십시오. 이 형식을 사용하는 키 저장소는 암호화 하드웨어에 대한 RSA 키를 포함하고 있거나 암호화 하드웨어를 사용하는 키를 암호화하여 확실히 보호할 수 있도록 합니다.
      PKCS12
      키 저장소에서 PKCS#12 파일 형식을 사용하는 경우 이 옵션을 사용하십시오.
    4. 키 절에서 추가를 클릭하여 키를 추가하십시오. 제거를 클릭하여 기존 키를 제거할 수도 있습니다.
    5. 키 절의 별명 필드에서 키의 별명을 지정하십시오. 예를 들어, bob를 지정할 수 있습니다. 키 위치 지정자에서 키 별명을 사용하여 키 저장소 파일에서 키를 찾습니다.
    6. 키 절의 키 패스 필드에 키의 비밀번호를 지정하십시오. 키 저장소 파일의 키 오브젝트에 액세스하려면 이 비밀번호가 필요합니다.
    7. 키 절의 키 이름 필드에 이름을 지정하십시오. 키 이름은 완전한 식별 이름이어야 합니다. 예를 들어, CN=Bob,O=IBM,C=US를 지정할 수 있습니다.
  14. 옵션: 토큰 생성기가 PKCS#7 토큰 유형을 사용하며 보안 토큰에서 인증서 폐기 목록(CRL)을 패키지화하려면 인증서 경로 설정 사용 옵션을 선택하십시오.
    1. 인증서 경로 참조 옵션 및 인증서 저장소 참조를 선택하십시오. 이 선택사항에서는 인증서 저장소 목록 절에서 구성된 인증서 저장소를 참조합니다. 자세한 정보는 생성기 바인딩에 필요한 콜렉션 인증서 저장소 구성을 참조하십시오.
  15. 옵션: 추가를 클릭하고 특성 절에 추가 특성을 지정하십시오.
    토큰 생성기가 사용자 이름 토큰에 임시값을 포함시키는 경우 다음 이름 및 값 쌍을 추가하십시오.
    이름
    com.ibm.wsspi.wssecurity.token.username.addNonce
    true
    임시값은 사용자 이름 토큰의 반복적인, 권한이 없는 공격을 막을 수 있도록 메시지에 임베드되는 고유 암호 숫자입니다. 생성된 토큰 유형이 사용자 이름 토큰인 경우에만 특성이 유효합니다. 요청 생성기 바인딩에만 이 옵션을 사용할 수 있습니다.
    이 토큰 생성기가 사용자 이름 토큰에 시간소인을 포함시키는 경우에는 다음 이름 및 값 쌍을 추가하십시오.
    이름
    com.ibm.wsspi.wssecurity.token.username.addTimestamp
    true
    생성된 토큰 유형이 사용자 이름 토큰인 경우에만 이 옵션이 유효하며 요청 생성기 바인딩에만 이 옵션을 사용할 수 있습니다.
    IBM 확장 배치 디스크립터에서 ID 어설션을 정의한 경우 다음 이름 및 값 쌍을 추가하십시오.
    이름
    com.ibm.wsspi.wssecurity.token.IDAssertion.isUsed
    true
    이 옵션은 초기 송신기의 ID만 필수이며 SOAP 메시지의 웹 서비스 보안 헤더에 이 ID가 삽입됨을 표시합니다. 예를 들어, WebSphere Application Server는 사용자 이름 토큰 생성기에서 사용하도록 원래 호출자의 사용자 이름만 전송합니다. X.509 토큰 생성기의 경우 애플리케이션 서버가 원래 서명자 인증만 전송합니다.
    IBM 확장 배치 디스크립터에서 ID 어설션을 정의했으며 다운스트림 호출에 대한 ID 어설션에 초기 호출자 ID 대신 실행 도구 ID를 사용하려는 경우에는 다음 이름 및 값 쌍을 추가하십시오.
    이름
    com.ibm.wsspi.wssecurity.token.IDAssertion.useRunAsIdentity
    true
    생성된 토큰 유형이 사용자 이름 토큰인 경우에만 이 옵션이 유효합니다.
  16. 확인을 클릭하여 구성을 저장하십시오.

다음에 수행할 작업

이 토큰 생성기 구성이 X.509 보안 토큰용인 경우 키 정보를 구성하십시오. 자세한 정보는 생성기 바인딩에 필요한 키 정보 구성을 참조하십시오.

피드백