Мне нужно реализовать jax-ws-клиент.Политика для подписания и шифрования
Вот что документы провайдера говорят о безопасности
В настоящее время мы используем версию SOAP Message Security 1.0 спецификации на http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-soap-message-security-1.0.pdf
Этот стандарт использует два других от W3C нормы:
XMLENC (http://www.w3.org/TR/2002/REC-xmlenc-core-20021210/)
и XMLDSIG (http://www.w3.org/TR/2002/REC-xmldsig-core-20020212/)Для подписи, a «SecurityTokenReference» с использованием прямого «ссылка», определяющая «URI» и «valueType» X509, является обязательной. Для шифрование мы также рекомендуем, но также поддерживаем в порядке ссылку на ключIdentifier, X509IssuerSerial или keyName.
Заблокированный и подписанный блок должен быть тегом «тело».
Мы рекомендуем использовать: «rsa-sha1» для подписи «rsa-1_5» для ключа шифрования и «tripledes-cbc» для шифрования тела.
Итак, я придумал следующую политику (созданную из небанковских). Но ... он не подходит ко мне. Веб-сервис пока недоступен, но я не уверен, что версии спецификаций совпадают. Я много читал по этому вопросу, но я все еще несколько смущен. Эта политика выглядит нормально?
<wsp1:Policy wsu:Id="ListeOperationsPeriodeSoapBindingSoapPolicy">
<wsp1:ExactlyOne>
<wsp1:All>
<sp:TransportBinding>
<wsp1:Policy>
<sp:TransportToken>
<wsp1:Policy>
<sp:HttpsToken RequireClientCertificate="false"/>
</wsp1:Policy>
</sp:TransportToken>
<sp:Layout>
<wsp1:Policy>
<sp:Lax/>
</wsp1:Policy>
</sp:Layout>
<sp:AlgorithmSuite>
<wsp1:Policy>
<sp:TripleDesRsa15/>
</wsp1:Policy>
</sp:AlgorithmSuite>
</wsp1:Policy>
</sp:TransportBinding>
<sp:Wss10/>
<sp:EndorsingSupportingTokens>
<wsp1:Policy>
<sp:X509Token sp:IncludeToken="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy/IncludeToken/AlwaysToRecipient">
<wsp1:Policy>
<sp:WssX509V3Token10/>
</wsp1:Policy>
</sp:X509Token>
</wsp1:Policy>
</sp:EndorsingSupportingTokens>
</wsp1:All>
</wsp1:ExactlyOne>
</wsp1:Policy>
<wsp:Policy wsu:Id="ListeOperationsPeriodeSoapBindingSoap_perform_Input_Policy">
<wsp:ExactlyOne>
<wsp:All>
<sp1:SignedEncryptedSupportingTokens>
<wsp:Policy>
<sp1:X509Token sp1:IncludeToken="http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200702/IncludeToken/AlwaysToRecipient">
<wsp:Policy>
<sp1:WssX509V3Token10/>
</wsp:Policy>
</sp1:X509Token>
</wsp:Policy>
</sp1:SignedEncryptedSupportingTokens>
</wsp:All>
</wsp:ExactlyOne>
</wsp:Policy>
EDIT: Я не мог заставить его отправить ожидаемое сообщение с WSIT пока. В качестве примера, используя мастер Netbeans, я не смог получить зашифрованный заголовок без использования адресации. Предполагается ли это, что это возможно?
Я взломал что-то со старой осью 1 класс и wss4j, это работает, но это уродливо, и я предпочел бы использовать что-то более перспективное.
Помогло бы больше щедрости? – ymajoros
Я не мог заставить его отправить ожидаемое сообщение с wsit-yet. В качестве примера, используя мастер Netbeans, я не смог получить зашифрованный заголовок без использования адресации. Предполагается ли это, что это возможно? Я взломал что-то со старой осью 1 класс и wss4j, это работает, но это уродливо, и я предпочел бы использовать что-то более надежное будущее. – ymajoros
Это скорее вопрос проверки кода, который принадлежит на сайте просмотра кода. – user1378730