373.3. 기본 예
다음 예제에서는 구성 요소의 기본 사용법을 보여줍니다.
from("direct:enveloping").to("xmlsecurity:sign://enveloping?keyAccessor=#accessor", "xmlsecurity:verify://enveloping?keySelector=#selector", "mock:result")
Spring XML의 경우:
<from uri="direct:enveloping" /> <to uri="xmlsecurity:sign://enveloping?keyAccessor=#accessor" /> <to uri="xmlsecurity:verify://enveloping?keySelector=#selector" /> <to uri="mock:result" />
서명 프로세스의 경우 개인 키가 필요합니다. 이 개인 키를 제공하는 키 액세스자 빈을 지정합니다. 검증의 경우 해당 공개 키가 필요합니다. 이 공개 키를 제공하는 키 선택기 빈을 지정합니다.
키 액세스자 빈은 KeyAccessor
인터페이스를 구현해야 합니다. 패키지 org.apache.camel.component.xmlsecurity.api
에는 Java 키 저장소에서 개인 키를 읽는 기본 구현 클래스 DefaultKeyAccessor
가 포함되어 있습니다.
키 선택기 빈은 javax.xml.crypto.KeySelector
인터페이스를 구현해야 합니다. 패키지 org.apache.camel.component.xmlsecurity.api
에는 키 저장소에서 공개 키를 읽는 기본 구현 클래스 DefaultKeySelector
가 포함되어 있습니다.
이 예제에서는 기본 서명 알고리즘 http://www.w3.org/2000/09/xmldsig#rsa-sha1
이 사용됩니다. signatureAlgorithm
옵션에 의해 선택한 서명 알고리즘을 설정할 수 있습니다 (아래 참조). 서명자 엔드포인트는 enveloping XML 서명을 생성합니다. 봉투 된 XML 서명을 만들려면 Signature 요소의 부모 요소를 지정해야 합니다. 자세한 내용은 parentLocalName
을 참조하십시오.
분리된 XML 서명을 만들려면 "고유된 XML 서명" 하위 서명은 서명 된 요소 Siblings를 참조하십시오.