2015-05-29 5 views
6

हाल ही में, मुझे मेरे और एक वेब सेवा के बीच एसओएपी संचार को बढ़ाना पड़ा। मेरे सर्वर पर एक निजी कुंजी फ़ाइल बनाने के बाद और सीएसआर बनाया/भेजा जाने के बाद, पीईएम प्रारूप में एक प्रमाणपत्र फ़ाइल प्राप्त की गई।सोपूई और कीस्टोर

मैं इसे SOAPUi में जांचना चाहता हूं लेकिन यह कहता रहता है कि त्रुटि: एक्सेस अस्वीकार कर दी गई है। क्लाइंट एसएसएल प्रमाणपत्र आवश्यक

मैं यहाँ क्या किया:

  • प्रमाणपत्र रूपांतरण

    openssl pkcs12 -export -out **certif.p12** -inkey **myprivatekey.pem** -in **Certificate-received.pem** 
    
  • KeyStore आयात

    keytool -importkeystore -deststorepass **changeit** -destkeypass **changeit** -destkeystore **pierrejks.jks** -srckeystore **certif.p12** -srcstoretype PKCS12 -srcstorepass **tenzin** -alias 1 
    

SOAPUi में,

0,123,

मैं वरीयताओं करने के लिए और में एसएसएल सेटिंग टैब चला गया,

  • कुंजीस्टोर pierrejks.jks

  • कुंजीस्टोर पासवर्ड प्रदान की जा करने के लिए स्थापित किया गया था: changeit

  • ग्राहक की जरूरत होती प्रमाणीकरण चिपकाया गया था।

परियोजना पर अब (सही परियोजना के रूट तो शो परियोजना देखें पर क्लिक करें), मैं WS-सुरक्षा विन्यास, कुंजीस्टोर टैब के लिए चला गया एक नया स्रोत को जोड़ने के लिए।

  • स्रोत pierrejks.jks फ़ाइल
  • पासवर्ड है changeit
  • चूक उर्फ ​​pierrealias पर सेट है
  • कोई अन्य नाम पासवर्ड प्रदान की

इन भरने के बाद करने के लिए पथ है सूचना, स्थिति ठीक हो गया

आउटगोइंग डब्ल्यूएस-सुरक्षा कॉन्फ़िगरेशन में, एक कॉन्फ़िगरेशन को नए WSS-Entry एन्क्रिप्शन के साथ जोड़ा गया था।

  • विन्यास नाम pierreconf
  • WSS प्रविष्टि प्रकार एन्क्रिप्शन
  • KeyStore चुना pierrejks है है।JKS
  • उर्फ ​​
  • पासवर्ड changeit

अंत में, एक अनुरोध pierreconf निवर्तमान WSS प्रोफाइल के साथ किया जाता है और इस थे मैं त्रुटि है है। इस समय, अगर मैं सही ढंग से समझ, रॉ टैब से पता चलता है कि यह एन्क्रिप्टेड है:

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> 

वापसी संदेश

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. 

एसएसएल का उपयोग कैसे करें इस समय मेरे लिए स्पष्ट नहीं है।

मुझे यकीन है कि मैंने कुछ गलतियां की हैं, क्या कोई मुझे सही दिशा में इंगित कर सकता है?

+0

आपको वेब सेवा द्वारा प्रदान किए गए प्रमाणपत्र का उपयोग करने की आवश्यकता है। अपना खुद का निर्माण करना और इसका उपयोग करना गलत कार –

+0

हाय टिम के साथ अपनी कार को अनलॉक करने की कोशिश करना थोड़ा सा है। साझा करने के लिए धन्यवाद। प्रमाणपत्र-प्राप्त.pem ऐप्पल द्वारा उनकी वेब सेवा से संपर्क करने के लिए प्रदान किया गया है।यह मेरी तरफ से सीएसआर उत्पन्न होने के बाद बनाया गया है (मेरी निजी कुंजी फाइल के साथ) मैंने एक नई फाइल नहीं बनाई है, लेकिन इसे पीकेसीएस 12 में परिवर्तित कर दिया गया है क्योंकि ऐसा लगता है कि कीटोल सीधे पीईएम फ़ाइल आयात नहीं कर सकता कुंजीस्टोर। पियरे – Tanc

उत्तर

5

इसे संपन्न कर दिया!

जानकारी: मेरे SOAPUi संस्करण 5.0 मैं कुंजीस्टोर लेकिन p12 फ़ाइल के रूप में एक JKS का उपयोग नहीं करने का फैसला केवल

यहाँ कदम मैं क्या किया द्वारा कदम है है

PKCS12 फ़ाइल निर्माण

मेरी privatekey.pem फ़ाइल (सीएसआर फ़ाइल जेनरेट करने के लिए प्रयुक्त) का उपयोग करना और प्रमाणपत्र.pem प्राप्त हुआ (पिछली सीएसआर फ़ाइल दी गई थर्स पार्टी द्वारा उत्पन्न)

openssl pkcs12 -export -out certif.p12 -inkey myprivatekey.pem -in Certificate-received.pem 

सवाल पर:

  • Enter pass phrase for myprivatekey.pem: मैं अपने निजी कुंजी उत्पन्न करने के लिए प्रयोग किया जाता पासवर्ड दर्ज किया था।
  • Enter export password: तेनजिन
  • Verifying - Enter Export Password: तेनजिन

सोप यूआई में,

वरीयताओं में,

  1. certif.p12 को कीस्टोर के रूप में चुना गया था।
  2. पासवर्ड दिया तेनजिन
  3. आवश्यक है क्लाइंट प्रमाणीकरण टिक जाता है।

यह काम करता है।

+0

ठीक है! यह मेरे लिए भी काम कर रहा है। ध्यान दें कि अनुरोध पर प्राधिकरण सेटिंग्स को जोड़ने की आवश्यकता नहीं है, केवल वैश्विक वरीयताओं में! – MeanGreen

+0

jks keystores aus पहचान प्रदाता का उपयोग कर एक समस्या प्रतीत होती है। पीकेसीएस # 12 का उपयोग करना मेरे लिए ठीक काम करता है। धन्यवाद – 0x0me

संबंधित मुद्दे