X509PK 지원IPathv1 inxws-Spring-WS용 보안
기존 웹 서비스에 요청을 보내려고 합니다.이 웹 서비스는 제가 관리하지 않습니다.이 웹 서비스의 보안 정책에 따라 SOAP 요청에 전체 인증서 체인을 보내야 합니다.나의 인증서 체인에는 3개의 인증서가 있습니다.인증서 체인의 유효성을 테스트할 수 있기 때문에 인증서 체인 설정에 문제가 없습니다.
이 설정에 대한 보안 구성(= 요청에서 전체 인증서 체인 전송)은 다음과 같습니다.
<xwss:Sign id="signature">
<xwss:X509Token
certificateAlias="alias"
keyReferenceType="Direct"
valueType="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-x509-token-profile-1.0#X509PKIPathv1" />
</xwss:Sign>
저는 Spring-WS를 통해 이를 달성하기 위해 노력하고 있습니다.Spring-WS는 보안을 위해 spring-ws-security를 사용합니다.spring-ws-security 대표자 xws-security.
<dependency>
<groupId>org.springframework.ws</groupId>
<artifactId>spring-ws-security</artifactId>
<version>2.1.0.RELEASE</version>
<exclusions>
<exclusion>
<groupId>org.apache.ws.security</groupId>
<artifactId>wss4j</artifactId>
</exclusion>
<exclusion>
<groupId>com.sun.xml.wsit</groupId>
<artifactId>xws-security</artifactId>
</exclusion>
</exclusions>
</dependency>
Xws-보안에는 두 가지 종류가 있습니다.
<dependency>
<groupId>com.sun.xml.wsit</groupId>
<artifactId>xws-security</artifactId>
<version>1.3.1</version>
</dependency>
그리고.
<dependency>
<groupId>com.sun.xml.wss</groupId>
<artifactId>xws-security</artifactId>
<version>3.0</version>
</dependency>
첫 번째는 Spring WS Security에서 사용합니다.두 번째는 유산입니다.
xws-security에서 XWSS 구성 적용은 BinarySecurity라는 클래스에서 수행됩니다.토큰. 이진 보안토큰에 다음 필드가 있습니다.
valueType
valueType의 JavaDoc은 X509PK를 지원한다고 합니다.IPathv1(다른 항목 중).그러나 이 설정자가 언급한 바와 같이 그렇지 않습니다.
protected void setValueType(String valueType) {
if (!(MessageConstants.X509v3_NS.equals(valueType)||MessageConstants.X509v1_NS.equals(valueType))) {
log.log(Level.SEVERE,"WSS0342.valtype.invalid");
throw new RuntimeException("Unsupported value type: " + valueType);
}
this.valueType = valueType;
}
MessageConstant 클래스에 X509PK에 대한 정적이 없습니다.IPathv1.코드를 실행하면 다음과 같은 예상 결과가 나타납니다.
Unsupported value type: http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-x509-token-profile-1.0#X509PKIPathv1
나는 유산의 소스 코드를 볼 수 있었습니다.com.sun.xml.wss.xws-security:3.0
내가 노력했음에도 불구하고, 나는 소스 코드를 찾지 못했습니다.com.sun.xml.wsit.xws-security-1.3.1
하지만 코드는 동일하다고 생각합니다.저는 두 도서관을 모두 사용해 보았는데, 둘 다 예외입니다.기본 spring-ws-security를 사용하고 두 라이브러리(한 번에 하나씩)에 대한 명시적 종속성 선언을 사용하여 시도했습니다.
질문:
- valueType이 X509PK인 X509 서명을 생성하기 위해 xws-security를 사용할 수 있는 사람이 있습니까?IPathv1 및 Direct인 키ReferenceType?
- 이를 제공하는 다른 xws-보안 구현이 있습니까?아니면 Wss4j와 같은 완전히 다른 접근 방식을 검토해야 합니까?
바이너리 보안을 다시 작성하는 것을 고려했습니다.토큰입니다. 하지만 그것은 아마도 DSIG에서 시그니처 프로세서의 X509 서명을 다시 쓰는 것을 의미할 수 있습니다.
흥미로운 문제가 생겼군요.
내 Google-fu로 알 수 있는 바로는 #X509PK에 대한 지원이 있습니다.일부 프로젝트(예: Oracle의 XMLSec 또는 OpenSAML)에서는 IPathv1이 널리 보급되지 않았으며 Soap UI와 같은 애플리케이션에서도 SOAP-WS용으로 IPathv1을 지원하지 않습니다.
뿐만 아니라 Delphi 및 같은 다른 언어/프레임워크도 동일한 지원 부족을 겪고 있습니다.NET, IBM JRE.
이 SO 및 특히 이 SO를 기반으로 사용자가 수행할 수 있는 작업은 사용자 자신의 웹 서비스 템플릿/WebServiceMessageSender를 구현하는 것입니다.
valueType은 #X509v3, #X509PK일 수 있습니다.IPathv1
XWS-보안에서 확인할 수 있습니다.소개 4 URL 대신 이러한 값을 구체적으로 사용해 보셨습니까?
이 풀 요청을 통해 X509PK를 사용할 수 있습니다.IPathv1.
언급URL : https://stackoverflow.com/questions/12596543/support-for-x509pkipathv1-in-xws-security-for-spring-ws
'programing' 카테고리의 다른 글
무작위 문자열과 무작위 16진수 숫자를 만드는 가장 가벼운 방법 (0) | 2023.08.15 |
---|---|
텍스트 입력을 편집 불가능으로 만들려면 어떻게 해야 합니까? (0) | 2023.08.15 |
MySQL/MariaDB가 저장 시 자동으로 값을 변경할 수 있는 방법 (0) | 2023.08.15 |
요소의 중심을 수평 및 수직으로 맞추는 방법 (0) | 2023.08.15 |
Angular2+ 자동 포커스 입력 요소 (0) | 2023.08.15 |