Niedawno musiałem poprawić komunikację SOAP między mną a usługą sieciową. Po utworzeniu pliku klucza prywatnego na moim serwerze i po utworzeniu/wysłaniu CSR otrzymano plik certyfikatu w formacie PEM.SOAPUi i magazyn kluczy
Chcę przetestować go w SOAPUi, ale ciągle powtarza, że Błąd: Dostęp jest zabroniony. Wymagany certyfikat SSL klienta:.
Oto co zrobiłem: konwersja
Certyfikat
openssl pkcs12 -export -out **certif.p12** -inkey **myprivatekey.pem** -in **Certificate-received.pem**
import kluczy
keytool -importkeystore -deststorepass **changeit** -destkeypass **changeit** -destkeystore **pierrejks.jks** -srckeystore **certif.p12** -srcstoretype PKCS12 -srcstorepass **tenzin** -alias 1
W SoapUI,
Poszedłem do preferencji aw Ustawienia SSL zakładce
kluczy została ustawiona na pierrejks.jks hasło
kluczy przewidziane: changeit
wymaga klienta uwierzytelnienie zostało zaznaczone.
nad projektem teraz (prawy przycisk myszy na pierwiastek projektu następnie Pokaż Projekt View), poszedłem do WS-Security Konfiguracje, kluczy zakładka aby dodać nowe źródło.
- źródłowy jest ścieżką do pierrejks.jks plików
- Hasło jest changeit
- Domyślne Alias jest ustawiony na pierrealias
- Alias Hasło Nie umieszczono
Po wypełnieniu tych informacje, status stał się ok
W wychodzące WS-Security Konfiguracje, konfiguracja dodano nową Encryption WSS-Entry.
- Nazwa Konfiguracja jest pierreconf
- typu WSS Wpis zostanie Encryption
- kluczy WYBRANEGO jest pierrejks.JKS
- Alias jest
- hasło jest changeit
Wreszcie, wniosek składa się z pierreconf wychodząca profilu WSS i to gdybym miał ten błąd. W tej chwili, jeśli dobrze rozumiem, zakładka RAW pokazuje, że jest ona szyfrowana:
POST https://gsxapi.apple.com/gsx-ws/services/emea/iphone HTTP/1.1
Accept-Encoding: gzip,deflate
Content-Type: text/xml;charset=UTF-8
SOAPAction: "urn:authenticate"
Content-Length: 3047
Host: gsxapi.apple.com
Connection: Keep-Alive
User-Agent: Apache-HttpClient/4.1.1 (java 1.5)
<soapenv:Envelope xmlns:glob="http://gsxws.apple.com/elements/global" xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
<soapenv:Header><wsse:Security xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd"><xenc:EncryptedKey Id="EK-974B3C3F270F85DA2A143289398095719" xmlns:xenc="http://www.w3.org/2001/04/xmlenc#"><xenc:EncryptionMethod Algorithm="http://www.w3.org/2001/04/xmlenc#rsa-oaep-mgf1p"/><ds:KeyInfo xmlns:ds="http://www.w3.org/2000/09/xmldsig#"><wsse:SecurityTokenReference><ds:X509Data><ds:X509IssuerSerial><ds:X509IssuerName>C=US,O=Apple Inc.,OU=Certification Authority,CN=Apple Corporate External Authentication CA 1</ds:X509IssuerName><ds:X509SerialNumber>6119460251051586160</ds:X509SerialNumber></ds:X509IssuerSerial></ds:X509Data></wsse:SecurityTokenReference></ds:KeyInfo><xenc:CipherData><xenc:CipherValue>yWIQ5aWqy50ba/kaw3mLYyvpBL8S+mcQnkZri8q6deJXoNFZm+TGOry9ds5VCbsYzpgjAYGFRZxnEfnAirFDqojUgbthc6E/YeG15y1GShiBZrBB3U5KVk6ZIqRaOAVSBMCG5DXosFDz0I/MrToMA8MvX5A26pgp6siM6fhfVRLfFPDCJQOQJw3gr2G3IUnu0t4jf2BIs4FPObtOZSN1ou+w3ny2meL2F0VhT2UPDbZ46EKwHiY7Az9RVt0MocWRRQSR9FU4h6zqziWbUC95OrzrKXrbo01La8UDZ4mykQXqg==</xenc:CipherValue></xenc:CipherData><xenc:ReferenceList><xenc:DataReference URI="#ED-974B3C3F270F85DA2A143289398095720"/></xenc:ReferenceList></xenc:EncryptedKey></wsse:Security></soapenv:Header>
<soapenv:Body><xenc:EncryptedData Id="ED-974B3C3F270F85DA2A143289398095720" Type="http://www.w3.org/2001/04/xmlenc#Content" xmlns:xenc="http://www.w3.org/2001/04/xmlenc#"><xenc:EncryptionMethod Algorithm="http://www.w3.org/2001/04/xmlenc#aes128-cbc"/><ds:KeyInfo xmlns:ds="http://www.w3.org/2000/09/xmldsig#"><wsse:SecurityTokenReference wsse11:TokenType="http://docs.oasis-open.org/wss/oasis-wss-soap-message-security-1.1#EncryptedKey" xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" xmlns:wsse11="http://docs.oasis-open.org/wss/oasis-wss-wssecurity-secext-1.1.xsd"><wsse:Reference URI="#EK-974B3C3F270F85DA2A143289398095719"/></wsse:SecurityTokenReference></ds:KeyInfo><xenc:CipherData><xenc:CipherValue>cYyhZSw7/XR9Gtj7+lzkwwilTlpuAHVYdT+v8WeofYo48j8K0CReBIdeUI3pfWQ+cEj1D+VQO1k7e6fCsDuK7vZfrCG2qrYDlJmChnDrR7Tr5QSpC/ES3ohnYFqRrNnaOAhgjrqtDevww/S0dUKxmAFEbY18rvbF+l1T32da53zo1b9mN+sD9oKdWq7w+1eJHZOpJ4WQuMcdHp9DqAxizu4nc4FX65myZieI2qoWTzKGqeNMbqqyFFVpQ0iqI+7sT5Rh9Qc/Sw9pZMHxx3x856+PH/4PExTj/00f7rzhy6MhxEFavHksBraeGU6Ctd+xRMaA4Y/ZXGytf6M9C5j0v2SDqAFtwtj9Sky2uRzsXlNwmjinI29SsGAcOOBvyB7+Ff8rSATR3snMgvuNN3l0GsLDP1tzqz7vhHkCeKtsRCC8xtOqsZsz9QEmB31Gz3QMilsmsyhjdZ5QUsc+VU/HJhON2pzk7xL+V8zupc/uDoeg9AS38lti2nid5WDLAdG8j1IAU7ox/tJnAs7NTti9XN2nTcHf9u7laQfEm7i4VaLkn6hHsXf7JTE5GBkTF2sbR0cpSnIi2fYbHlU6EIugTgwU0875enhRQiyHhb84QByTfxig0bXaMCMnHDkdjH41+HoKu5SGxoPOyKp/JDpQaPY3J56RFrp0j8tRlqpUYIU=</xenc:CipherValue></xenc:CipherData></xenc:EncryptedData></soapenv:Body>
</soapenv:Envelope>
wiadomość Return to
HTTP/1.1 401 Access Denied
Connection: close
Content-Length: 57
Content-Type: text/html
Cache-Control: no-cache,no-store
Pragma: no-cache
Error: Access is Denied. Client SSL Certificate Required.
Jak korzystać z protokołu SSL nie jest dla mnie jasne w tej chwili.
Jestem pewien, że popełniłem błędy, czy ktoś może wskazać mi właściwy kierunek?
Należy użyć certyfikatu dostarczonego przez usługę internetową. Tworzenie własnego i używanie go to trochę jak próba odblokowania samochodu za pomocą niewłaściwego klawisza –
Cześć Tim. Dziękuję za udostępnienie. Certyfikat-received.pem został dostarczony przez firmę Apple w celu skontaktowania się z jego serwisem.Został utworzony po wygenerowaniu CSR na mojej stronie (z moim plikiem klucza prywatnego) Nie utworzyłem nowego pliku, ale został on przekonwertowany do PKCS12, ponieważ wydaje się, że keytool nie może zaimportować pliku PEM bezpośrednio w magazyn kluczy. Pierre – Tanc