웹 서비스에 디지털 서명을 추가하여 웹 서비스의 무결성을 보장하고
정보가 무단으로 변경되지 않도록 보호할 수 있습니다.
시작하기 전에
전제조건: 웹 서비스가 포함된 프로젝트를 작성하거나 가져오십시오.
이 태스크 정보
XML 디지털 서명을 사용하여 클라이언트와 서버를 둘 다 보호할 수
있습니다. XML 디지털 서명을 클라이언트와 서버 간에 전송하려면
클라이언트와 서버에 대한 서명 정보를 둘 다 설정해야
합니다. 웹 서비스에 XML 디지털 서명을 추가하려면 다음을 수행하십시오.
프로시저
- Java™ EE 퍼스펙티브로
변경하십시오.
- 를 클릭하십시오.
- 목록에서 Java EE를 선택하고
확인을 클릭하십시오.
- 프로젝트 탐색기 보기에서 웹 서비스 탭을
펼치십시오.
- 서비스 탭을 펼치십시오.
- 서비스를 마우스 오른쪽 단추로 클릭하고 를 선택하십시오.
- 무결성 메시지 파트 절에는 기본적으로 1개의 메시지 파트가
추가되어 있습니다. 다이얼렉트 또는 키 단어를 수정하여 기존의 기본값을
수정할 수 있습니다. 메시지 파트를 더 추가할 수도 있습니다. 사용 가능한 메시지 파트 설정 메뉴가 있습니다. 이 메뉴에서는
기본 설정을 사용하는 것이 좋습니다. 메시지 파트 설정에 대한 자세한 정보를 보려면
메시지 파트 설정
- 나머지 설정의 기본값을 승인하고 토큰 이용자 페이지로
이동하려면 다음을 클릭하십시오.
참고: 사용 가능한 다른 메뉴에서는
선호하는 서명 메소드 알고리즘을 선택할 수
있습니다. 서명 메소드는 바인딩 파일에 있는 표준화된 <SignedInfo>
요소를 <SignatureValue> 요소로 변환하는 데 사용되는
알고리즘입니다. 이용자,
즉 요청 이용자나 응답 이용자 구성에 지정하는 알고리즘은 생성기,
즉 요청 생성기나 응답 생성기 구성에 지정된 알고리즘과
일치해야 합니다.
WebSphere® Application
Server는 다음과 같은 사전 구성 알고리즘을 지원합니다.
- http://www.w3.org/2000/09/xmldsig#rsa-sha1
- http://www.w3.org/2000/09/xmldsig#hmac-sha1
- http://www.w3.org/2000/09/xmldsig#dsa-sha1
- 드롭 다운 목록에서, 사용할 토큰 이용자의 유형을
선택하십시오.
- 다음 참조를 가진 인증만 신뢰를
선택하십시오. 모든 인증 신뢰 옵션을 선택하면
XML 디지털 서명 인증을 갖는 모든 클라이언트가 서버에 액세스할 수
있습니다. 이 인증 참조에 보호 설정을 더 추가하지 않으면 서버 보안은
여전히 위험에 노출됩니다.
- 인증 정보 그룹에 필수 정보를
입력하십시오.
- 키 저장소 경로 필드에서
디지털 서명 키를 찾아보십시오.
- 키 저장소 storepass 필드에
선택한 키에 대한 비밀번호를 입력하십시오.
- 특정한 X509 인증을 지정하려면 인증
사용 선택란을 선택하십시오. 이 선택란을 선택하지 않으면
종류와 관계 없이 모든 X509 인증을 사용하는 클라이언트 요청이 승인됩니다.
- 나머지 설정의 기본값을 승인하고 확인을 선택하여
서버측 응답 생성기 디지털 서명 창으로 이동하십시오.
- 무결성 메시지 파트 절에는 기본적으로 1개의 메시지 파트가
추가되어 있습니다. 다이얼렉트 또는 키 단어를 수정하여 기존의 기본값을
수정할 수 있습니다. 메시지 파트를 더 추가할 수도 있습니다.
- 나머지 설정의 기본값을 승인하고 토큰 생성기 페이지로
이동하려면 다음을 클릭하십시오.
- 드롭 다운 목록에서, 토큰 생성기의 유형을
선택하십시오.
- 키 저장소 정보 절에 필수 정보를
입력하십시오.
- 키 저장소 경로 필드에서
디지털 서명 키의 경로를 직접 입력하거나 해당 경로를
찾아보십시오.
- 키 저장소 비밀번호 필드에
선택한 서명 키에 대한 비밀번호를 입력하십시오.
키 사용 선택란은
XML 디지털 서명에 추가 보안을 추가하는 데 사용됩니다. 이 옵션을 선택하면,
나중에 이 웹 서비스에 추가 보호를 설정할 때 사용할 수 있도록
XML 디지털 서명의 별명과 비밀번호를 선택할 수 있습니다. 특정한 X509 인증을 지정하려면
인증 사용 선택란을 선택하십시오.
- 완료를 클릭하십시오. 이제
XML 디지털 서명으로 서버가 보호됩니다.
- 클라이언트에서 서버에 액세스할 수 있으려면
다음 방법 중 하나를 사용하여 클라이언트에 대한
XML 디지털 서명을 작성해야 합니다.
- XML 디지털 서명 마법사를 사용하여 디지털 서명을 작성하려면
다음을 수행하십시오.
- 클라이언트를 마우스 오른쪽 단추로 클릭하고 를 선택하십시오.
- 서버 보안 설정 시 사용한 것과 동일한 클라이언트 정보를 사용하여
위의 5 - 14단계를 수행하십시오.
- 서버에 대한 모든 보안 유형을 설정한 경우
보안 웹 서비스 기반 마법사를 사용하여 클라이언트에 대한 디지털 서명을
작성할 수 있습니다.
- 클라이언트를 마우스 오른쪽 단추로 클릭하고 을 선택하십시오.
- 드롭 다운 메뉴에서 해당되는 서버를 선택했는지 확인한 후
다음을 클릭하십시오.
- 클라이언트측 요청 생성기에 필수 정보를
입력하십시오.
- 키 저장소 경로 필드에서
디지털 서명 키의 경로를 직접 입력하거나 해당 경로를
찾아보십시오.
- 키 저장소 비밀번호 필드에
선택한 서명 키에 대한 비밀번호를 입력하십시오.
- 다음을 클릭하십시오.
- 클라이언트측 응답 이용자에 필수 정보를
입력하십시오.
- 다음 참조를 가진 인증만 신뢰를 선택하십시오.
모든 인증 신뢰 옵션을 선택하면
XML 디지털 서명 인증을 갖는 모든 클라이언트가 서버에 액세스할 수
있습니다.
- 완료를 클릭하십시오.
다음에 수행할 작업
이제 XML 디지털 서명 보안을 통해 웹 서비스가 무결성을 위협하는
공격으로부터 보호됩니다. 자원 퍼스펙티브로 전환하여 웹 서비스 .xmi 파일을 열면 XML 소스의 변경사항을
확인할 수 있습니다. 이 파일을 열려면 를 클릭하고 자원을 선택한 후
확인을 클릭하십시오.
그런 다음
yourProjectName/WebContent/WEB-INF/ 디렉토리에서 해당되는 .xml 파일을 찾으십시오.