타사 SOAP 웹 서비스가 있습니다. 그 방법 중 하나를 호출해야합니다. 요청에 서명해야합니다. 요청에 어떻게 서명 할 수 있습니까?WCF로 SOAP 요청에 서명하는 방법
답변
서명을하면 클라이언트 측에 설치된 인증서를 사용하여 메시지에 서명한다는 것을 의미합니다.
이렇게하는 것은 WCF에서 비교적 쉽습니다. security element에서 wsHttpBinding을 사용한다고 가정하면이 모드를 SecurityMode.Message으로 설정해야합니다. clientCredentialType of the message element을 MessageCredentialType.Certificate으로 설정해야합니다.
그런 다음 끝점 동작을 설정하고 clientCertificate element (이는 clientCredentials element의 자식입니다)에서 클라이언트 인증서가 저장되는 위치를 나타내도록 구성해야합니다.
wsHttpBinding을 사용하지 않는 경우에도 클라이언트 인증서를 사용하여 메시지 수준 보안을 제공하려는 경우 대부분의 다른 바인딩에 대해 구성이 거의 동일합니다.
HTTPS를 통해 전화를 걸면 보안 요소의 mode 속성을 Mode.TransportWithMessageCredential으로 설정해야합니다.
다음은 서명이 필요한 Amazon SOAP 서비스를 사용하기 위해 WCF를 사용하는 것에 관한 질문입니다. 저는 그 대답이 당신의 상황에 도움이 될 훌륭한 모범이 될 것이라고 생각합니다.
How to sign an Amazon web service request in .NET with SOAP and without WSE
편집 :이 다른 StackOverflow의 질문에 대한 링크에 대한 몇 가지 혼란이 분명히 있었다. 나는 가장 높은 득표 선택된 대답을 지적하고 싶다. 가장 확실한 WCF 솔루션입니다. IClientMessageInspector (WCF 인터페이스)에서 상속받은 SigningMessageInspector 클래스를 확인할 수 있습니다. 이 섹션이 도움이 될 것 같아요.
서명에 대해 언급하지 않았습니다. 또한 WCF를 사용하여 수행하지 않습니다. – casperOne
@casperOne - Tim의 링크를 따라 한 큰 대답은 "WCF를 사용하도록 코드를 업데이트했습니다 ..."라고 말합니다. WCF를 사용하지 않는 이유는 무엇입니까? – Ecyrb
@Tim C : 링크를 게시 할 당시의 유일한 답변은 다음과 같습니다. http://stackoverflow.com/questions/1204191/how-to-sign-an-amazon-web-service-request-in-net- with-so-and-without-wse/1204671 # 1204671 WCF 솔루션을 가장 확실하게 갖추고 있지 않았습니다. – casperOne
- 1. Visual Studio 2008을 사용하여 비누 요청에 디지털 서명하는 방법
- 2. CXF : 생성 된 SOAP 요청에 액세스하는 방법
- 3. JavaScript 파일에 서명하는 방법
- 4. .apk 파일에 서명하는 방법
- 5. ZSI, Python의 SOAP 요청에 wsse : Security, UsernameToken 헤더를 추가하는 방법?
- 6. Perl SOAP :: Lite 요청에 authHeader 추가하기
- 7. Suds를 사용하여 SOAP 요청에 쿠키 보내기
- 8. ASPX에서 WCF로
- 9. 인증서가있는 ActiveX DLL에 서명하는 방법
- 10. devenv.com을 사용하여 어셈블리에 서명하는 방법
- 11. Windows Phone : 앱에 서명하는 방법
- 12. 애플릿의 JAR 파일에 서명하는 방법?
- 13. 아이폰에서 마우스를 사용하여 서명하는 방법
- 14. RDBMS에서 WCF로 ASP.NET DataProvider 스와핑
- 15. Ruby에서 데이터에 올바르게 서명하는 방법 (HMAC?)
- 16. 여러 발신자가 WCF로 가장합니다
- 17. Linq를 SQL 및 WCF로 설정하는 방법
- 18. 리모컨에서 호스트되는 API를 WCF로 변환하는 방법
- 19. Visual Studio의 설치 파일을 서명하는 방법 .msi
- 20. 웹 페이지에 정적으로 서명하는 표준 방법
- 21. AppStore의 앱에 내 고객의 이름으로 서명하는 방법
- 22. .PFX 파일을 사용하여 JAR 파일에 서명하는 방법
- 23. 루트 인증서를 사용하여 인증서에 서명하는 방법
- 24. iPhone 장치에서 실행하기위한 응용 프로그램에 서명하는 방법
- 25. 장기 실행 HTTP (SOAP) 요청에 대한 누락 된 응답 감지
- 26. 웹 서비스 클라이언트 요청에 SOAP XML 네임 스페이스를 어떻게 구성합니까?
- 27. 아이폰에서 soap webservice 요청에 대한 xml 매개 변수
- 28. 모든 요청에 HTTP 헤더를 추가하기 위해 PHP/SOAP 코드 수정하기
- 29. 웹 서비스를 WCF로 변환
- 30. android에서 wcf로 파일 업로드
당신이 맞습니다, 나는 요청을하는 기계에 앉아 인증서로 요청에 서명하는 것에 대해 이야기하고 있습니다. –
기본적으로 유틸리티가 생성하는 것이기 때문에 basicHttpBinding을 사용하고 있었는데, web.config에서 wsHttpBinding으로 바꿨다. 요청을하면 "요청이 중단되었습니다 : SSL/TLS 보안 채널을 만들 수 없습니다."라는 오류 메시지가 나타납니다. –
@ Mr Bell : 같은 속성을 사용하여 basicHttpBinding에서도 보안 모드를 설정할 수 있어야합니다. – casperOne