키워드를 사용하여 생성기 보안 제한조건에 무결성에 필요한 시간소인 추가

이 태스크 정보

이 태스크는 특정 요소에 시간소인이 임베드되고 요소가 서명되도록 지정하는 데 사용됩니다. 요청 생성기 또는 응답 생성기에 적용할 생성기 보안 제한조건을 구성하는 경우 키워드를 사용하여 무결성에 필요한 시간소인을 지정하려면 다음 단계를 완료하십시오. 요청 생성기가 클라이언트에 적합하게 구성되고 응답 생성기가 서버에 적합하게 구성됩니다. 다음 단계 중 2단계에서 클라이언트 측 확장기능을 구성하거나 3단계에서 서버 측 확장기능을 구성해야 합니다.

프로시저

  1. 창 > 퍼스펙티브 열기 > J2EE를 클릭하십시오.
  2. 옵션: 프로젝트 탐색기 창을 사용하여 클라이언트 측 확장기능을 찾으십시오. 클라이언트 배치 디스크립터 창이 표시됩니다. 이 웹 서비스에는 구성해야 하는 확장기능이 포함되어 있습니다. 클라이언트 측 확장기능을 찾으려면 다음 단계를 완료하십시오.
    1. 웹 서비스 > 클라이언트 섹션을 펼친 후 웹 서비스의 이름을 두 번 클릭하십시오.
    2. WS 확장기능 탭을 클릭하고 요청 생성기 구성 절을 펼치십시오.
  3. 옵션: 프로젝트 탐색기 창을 사용하여 서버 측 확장기능을 찾으십시오. 웹 서비스 편집기 창이 표시됩니다. 이 웹 서비스에는 구성해야 하는 확장기능이 포함되어 있습니다. 서버 측 확장기능을 찾으려면 다음 단계를 완료하십시오.
    1. 웹 서비스 > 서비스 섹션을 펼친 후 웹 서비스의 이름을 두 번 클릭하십시오.
    2. 확장기능 탭을 클릭하고 응답 생성기 서비스 구성 세부사항 절을 펼치십시오.
  4. 무결성 절을 펼치십시오. 기밀성이 암호화를 참조하는 반면 무결성은 디지털 서명을 참조합니다. 무결성은 네트워크에서 데이터를 전송할 때 데이터가 수정될 위험성을 감소시킵니다. SOAP(Simple Object Access Protocol) 메시지의 디지털 서명에 대한 자세한 정보는 XML 디지털 서명을 참조하십시오.
  5. 추가를 클릭하여 무결성에 필요한 시간소인을 지정하십시오. 무결성 대화 상자 창이 표시됩니다. 다음 단계를 완료하여 구성을 지정하십시오.
    1. 무결성 이름 필드에 무결성 요소의 이름을 지정하십시오.
    2. 순서 필드에 순서를 지정하십시오. 값(양의 정수여야 함)은 디지털 서명이 처리되는 순서를 지정합니다. 순서 값 1은 서명이 첫 번째로 완료되도록 지정합니다.
  6. 시간소인 절에서 추가를 클릭하고 시간소인 통용어를 선택하십시오. http://www.ibm.com/websphere/webservices/wssecurity/dialect-was 통용어는 키워드를 사용하여 요소에 서명하기 전에 시간소인이 추가되는 메시지 요소를 지정합니다. 이 통용어를 선택하면 시간소인 키워드 표제에서 다음 키워드 중 하나를 선택할 수 있습니다.
    body
    메시지의 사용자 데이터 부분을 지정합니다. 본문 옵션을 선택하면 시간소인이 SOAP(Simple Object Access Protocol) 본문에 임베드되고 본문이 서명됩니다.
    timestamp
    시간소인이 메시지 내의 독립형 시간소인 요소에 임베드되며 시간소인이 서명되도록 지정합니다. 시간소인 옵션을 선택하는 경우 메시지에 독립형 시간소인 요소가 있는지 확인하십시오. 해당 요소가 없는 경우에는 생성기 보안 제한조건에 독립형 시간소인 추가를 참조하십시오.
    securitytoken
    보안 토큰이 클라이언트를 인증하도록 지정합니다. 이 옵션을 선택하면 securitytoken 요소에 시간소인 요소가 임베드되고 보안 토큰이 서명됩니다.
    dsigkey
    시간소인이 디지털 서명에 사용되는 키 정보 요소에 삽입되며 키 정보 요소가 서명되도록 지정합니다.
    enckey
    시간소인이 암호화에 사용되는 키 정보 요소에 삽입되며 키 정보 요소가 서명되도록 지정합니다.
    messageid
    시간소인이 <wsa:MessageID> 요소에 삽입되며 <wsa:MessageID> 요소가 서명되도록 지정합니다.
    to
    시간소인이 메시지 내의 <wsa:To> 요소에 삽입되며 <wsa:To> 요소가 서명되도록 지정합니다.
    action
    <wsa:Action> 요소가 서명되도록 지정합니다.
    relatesto
    시간소인이 메시지 내의 <wsa:RelatesTo> 요소에 삽입되며 <wsa:RelatesTo> 요소가 서명되도록 지정합니다.
  7. 시간소인 만기 필드에서 시간소인의 만기 시간을 지정하십시오. 시간소인은 반복 공격을 막는 데 유용합니다. 지속 기간의 렉시칼 표시는 [ISO 8601] 확장 형식 PnYnMnDTnHnMnS입니다. 여기서 각 항목은 다음과 같습니다.
    P
    날짜 및 시간 값 앞에 표시됩니다.
    nY
    시간소인이 적용되는 연 수를 표시합니다. 0 - 99년에서 값을 선택하십시오.
    nM
    시간소인이 적용되는 개월 수를 표시합니다. 0 - 11달 중에서 값을 선택하십시오.
    nD
    시간소인이 적용되는 일 수를 표시합니다. 0 - 30일에서 값을 선택하십시오.
    T
    날짜 및 시간 값을 구분합니다.
    nH
    시간소인이 적용되는 시간 수를 표시합니다. 0 -23시간에서 값을 선택하십시오.
    nM
    시간소인이 적용되는 분 수를 표시합니다. 0 - 59분에서 값을 선택하십시오.
    nS
    시간소인이 적용되는 초 수를 표시합니다. 초 수에는 소수점 이하의 10진수를 포함시킬 수 있습니다. 초 수로 0 - 59 사이의 값을 선택할 수 있으며 10분의 1초 단위로 0 - 9 사이의 값을 선택할 수 있습니다.

    예를 들어, 1년, 2개월, 3일, 10시간 및 30분의 형식은 P1Y2M3DT10H30M입니다. 일반적으로 10 - 30분 사이의 메시지 시간소인을 구성합니다. 예를 들어, 10분은 P0Y0M0DT0H10M0S 또는 PT10M으로 표시됩니다.

  8. 메시지 파트 절에서 추가를 클릭하고 메시지 파트 통용어 필드에서 http://www.ibm.com/websphere/webservices/wssecurity/dialect-was를 선택하십시오.
  9. 메시지 파트 절에서 메시지 파트 키워드를 선택하십시오.
    중요사항: 무결성에 시간소인을 지정하려면 메시지 파트 절에 최소한 하나의 메시지 파트를 정의해야 합니다.
  10. 확인을 클릭하여 구성 변경사항을 저장하십시오.
    참고: 생성기와 이용자의 이 구성이 일치해야 합니다.
    시간소인 외에도 임시값이 서명되도록 지정할 수 있습니다. 자세한 정보는 다음 문서를 참조하십시오.

다음 예제에는 SOAP 메시지 본문에 삽입되고 서명되는 시간소인이 표시되어 있습니다.

<soapenv:Envelope xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" 
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" 
xmlns:xsd="http://www.w3.org/2001/XMLSchema" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
   <soapenv:Header soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
      <wsse:Security soapenv:mustUnderstand="1" xmlns:wsse="http://docs.oasis-open.org/wss/
       2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd">
         <wsse:BinarySecurityToken EncodingType="http://docs.oasis-open.org/wss/2004/01/
          oasis-200401-wss-soap-message-security-1.0#Base64Binary" ValueType=
          "http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-x509-token-profile-1.0#X509v3" 
          wsu:Id="x509bst_6212871821454005389" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/
          oasis-200401-wss-wssecurity-utility-1.0.xsd"> AgBgkqhkiG9w0BCQEWE21hcnV5YW1hQGpwLmlibS5jb22
          CAgEBMA0GCSqGSIb3DQEBBQUAA4GBAHkthdGDgCvdIL9/vXUo74xpfOQd/rr1owBmMdb1TWdOyzwbOHC7lkUlnKrkI7
          SofwSLSDUP571iiMXUx3tRdmAVCoDMMFuDXh9V7212luXccx0s1S5KN0D3xW97LLNegQC0/b+aFD8XKw2U5ZtwbnFTRgs
          097dmz09RosDKkLlM</wsse:BinarySecurityToken>
         <ds:Signature xmlns:ds="http://www.w3.org/2000/09/xmldsig#">
            <ds:SignedInfo>
               <ds:CanonicalizationMethod Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#">
                  <ec:InclusiveNamespaces PrefixList="wsse ds xsi soapenc xsd soapenv " 
                   xmlns:ec="http://www.w3.org/2001/10/xml-exc-c14n#"/>
               </ds:CanonicalizationMethod>
               <ds:SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1"/>
               <ds:Reference URI="#wssecurity_signature_id_493518228178200731">
                  <ds:Transforms>
                     <ds:Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#">
                        <ec:InclusiveNamespaces PrefixList="xsi soapenc xsd wsu soapenv " 
                         xmlns:ec="http://www.w3.org/2001/10/xml-exc-c14n#"/>
                     </ds:Transform>
                  </ds:Transforms>
                  <ds:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/>
                  <ds:DigestValue>kKrcmc8saJ91JCNiE33UECoNYz8=</ds:DigestValue>
               </ds:Reference>
            </ds:SignedInfo>
            <ds:SignatureValue>XBpPju5+qH4bBFodO1kbBO54kEdBD0Pr5ohnXa3TPrDwXqmr67zDP3ZTk7iBSADnH+dlfKup
             Fhx+NZu2h5/j1/KYWaR2HTTv/KYE6IdqXVz3EFglUIBLzQnJ2Zbn62eBx5Th285Cn2Vrxtdb5BvUa1dt6M6k61CvRlz3
             /nMhQxk=</ds:SignatureValue>
            <ds:KeyInfo>
               <wsse:SecurityTokenReference>
                  <wsse:Reference URI="#x509bst_6212871821454005389" ValueType="http://docs.oasis-open.org/
                   wss/2004/01/oasis-200401-wss-x509-token-profile-1.0#X509v3"/>
               </wsse:SecurityTokenReference>
            </ds:KeyInfo>
         </ds:Signature>
      </wsse:Security>
   </soapenv:Header>
   <soapenv:Body soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" 
    wsu:Id="wssecurity_signature_id_493518228178200731" xmlns:wsu="http://docs.oasis-open.org/
    wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">
      <getVersion/>
      <wsu:Timestamp wasextention="wedsig">
         <wsu:Created>2004-10-12T15:58:19.201Z</wsu:Created>
      </wsu:Timestamp>
   </soapenv:Body>
</soapenv:Envelope>

다음에 수행할 작업

디지털로 서명할 메시지 파트를 지정한 후 메시지에 디지털로 서명하는 데 사용되는 메소드를 지정해야 합니다. 자세한 정보는 어셈블리 도구를 사용하여 생성기 바인딩에 필요한 서명 정보 구성을 참조하십시오.

피드백