SOAP teenuse testimine: Difference between revisions
(ver1) |
(nipetnäpet) |
||
Line 7: | Line 7: | ||
Testimaks, ega mõni tulemüür vahele ei sega võib kasutada programmi netcat: | Testimaks, ega mõni tulemüür vahele ei sega võib kasutada programmi netcat: | ||
nc -z -vv services.krediidiinfo.ee 443 | nc -z -vv services.krediidiinfo.ee 443 | ||
või | või mõnes opsüsteemis | ||
netcat -z -vv services.krediidiinfo.ee 443 | netcat -z -vv services.krediidiinfo.ee 443 | ||
Line 13: | Line 13: | ||
Connection to services.krediidiinfo.ee 443 port [tcp/https] succeeded! | Connection to services.krediidiinfo.ee 443 port [tcp/https] succeeded! | ||
Samuti peaks olema võimalik ühenduda ka porti 80, kust leiab wsdl failid. | Samuti peaks olema võimalik ühenduda ka porti 80, kust leiab wsdl failid. Kui test ei õnnestu, tuleks pöörduda oma võrgu administraatori poole. | ||
Päringu tegemiseks on esiteks vaja sertifikaadi faili PEM formaadis, antud näites on failinimeks <tt>cert.pem</tt>. Välja näeb umbes selline: | |||
<pre> | <pre> | ||
-----BEGIN CERTIFICATE----- | -----BEGIN CERTIFICATE----- | ||
Line 29: | Line 29: | ||
-----END CERTIFICATE----- | -----END CERTIFICATE----- | ||
</pre> | </pre> | ||
Teiseks ka sertifikaadi võtme faili PEM formaadis, siin failinimeks <tt>key.pem</tt>. See fail on salajane ning ei tohi kellegagi jagada ning kindlasti emaili teel või muul krüptimata viisil mitte vahendada! | Teiseks ka sertifikaadi võtme faili PEM formaadis, siin failinimeks <tt>key.pem</tt>. See fail on salajane ning ei tohi kellegagi jagada ning kindlasti emaili teel või muul krüptimata viisil mitte vahendada! | ||
Line 76: | Line 77: | ||
-d võti määrab päringu, @ failinime ees ütleb curl'ile, et tegemist on päringufaili, mitte päringu endaga. | -d võti määrab päringu, @ failinime ees ütleb curl'ile, et tegemist on päringufaili, mitte päringu endaga. | ||
--cert võti määrab sertifikaadi faili | --cert võti määrab sertifikaadi faili asukoha. Tuleb kasutada "absolute path"-i. curl ei otsi faili antud kataloogist, seetõttu ka <tt>$PWD</tt> antud näites. | ||
Kui võti on krüpteeritud, saab võtme ette anda nagu näites serdifikaadi | Kui võti on krüpteeritud, saab võtme ette anda nagu näites serdifikaadi failinime taga, eraldades selle failinimest kooloniga. Kui parooli käsureal ei määra, küsitakse seda vajadusel peale curli käivitamist. | ||
--key määrab võtmefaili asukoha. Kui sertifikaat ja võtmefail on üheks liidetud, siis seda võtit vaja ei ole. | --key määrab võtmefaili asukoha. Kui sertifikaat ja võtmefail on üheks liidetud, siis seda võtit vaja ei ole. |
Revision as of 15:34, 16 September 2009
KiCompany SOAP teenuse testimine kasutades curl programmi ning autentimiseks sertifikaadi ja selle võtme paari. Kui see test kliendi keskkonnas õnnestub, siis saab väita, et kliendile väljastatud sertifikaat toimib ning õigused KiCompany kasutamiseks paigas.
Vaja läheb kahte või kolme faili ning toimivat SSL toega curl programmi. Keskkond, millest päring tehakse, peab saama ühendada services.krediidiinfo.ee serverisse porti 443, Krediidiinfo AS poolt ei ole IP põhiseid piiranguid sellele teenusele.
Testimaks, ega mõni tulemüür vahele ei sega võib kasutada programmi netcat:
nc -z -vv services.krediidiinfo.ee 443
või mõnes opsüsteemis
netcat -z -vv services.krediidiinfo.ee 443
Positiivne tulemus on:
Connection to services.krediidiinfo.ee 443 port [tcp/https] succeeded!
Samuti peaks olema võimalik ühenduda ka porti 80, kust leiab wsdl failid. Kui test ei õnnestu, tuleks pöörduda oma võrgu administraatori poole.
Päringu tegemiseks on esiteks vaja sertifikaadi faili PEM formaadis, antud näites on failinimeks cert.pem. Välja näeb umbes selline:
-----BEGIN CERTIFICATE----- MIIEPpuguyIHJPOHuiGIOGilUYGOIGIYFGuyFUYGpioghIPUgpuigÜkGA1UEBhMC RUUxETAPiugUIOuphLBLUpuGIUIGigIPUbhpuiGIPYBuYBUKBLJYHFGuohGDVQQK Ew9LcmVkaWlkaWluZm8gQVMxCzAJBgNVBAsTAklUMSEwHwYDVQQDExhzZXJ2aWNl cy5rcmVkaWlkaWluZm8uZWUxITAfBgkqhkiG9w0BCQEWEml0QGtyZWRpaWRpaW5m by5lZTAeFw0wOTglgkGIOUGpguPIUgvIpiughphPhOPOUhpBHIUGMQswCQYDVQQG EwJFRTEQMA4GA1UECBMHRXN0b25pYTEQMA4GA1UEBxMHVGFsbGlubjEYMBYGA1UE VMtxvrdTVDhtRBDJrdYRBDRVBDTJrbDJBYYJRdYrdjbyRBUYRdBYJRdRRbUJrRYJ MTCMjfgukfgKGYGOYOUYGOygouYalsuUUGS4OCtgtrmzLw== -----END CERTIFICATE-----
Teiseks ka sertifikaadi võtme faili PEM formaadis, siin failinimeks key.pem. See fail on salajane ning ei tohi kellegagi jagada ning kindlasti emaili teel või muul krüptimata viisil mitte vahendada!
Samas võib selle faili sisu otsa liita cert.pem failile (cat key.pem >> cert.pem), siis ei pea võtmefaili curl'le eraldi ette näitama. Näeb umbes selline välja, DSA variandi puhul on natuke rohkem erinevusi:
-----BEGIN RSA PRIVATE KEY----- Proc-Type: 4,ENCRYPTED DEK-Info: DES-EDE3-CBC,C1AA09832249D61D P85/RJFo2AX638mWtcOTglgkGIOUGpguPIUgvIpiughphPhOPOUhi0I+l5s+JSn5c jx69XBvi5L+Ytci9RW3zUiWrUDv89IY6DEmwluLX39/gX0TW7U+wos5b7ng/sNLQ tMyzCtIDACoGb5xHl48c3vY3JUzhrzQWNt2vuFjpGJI1lSOH8h0MdbQEA8iFKIOZ ng0po3SPW8c5wJtnLuKy8uZWUxITAfBgkqhkiG9w0BCQEWEml08uZWUxITAfBgkq oHeRz6KkZyXo7vbCbDXSFTuSHiwVwslF7hHbmmiPc4RYxB2EWfTjSUe8Fti9SWPa iJY0OisiQbePnEigZhfRboVZmQZFPWopgy8uZWUxITAfBgkqhkiG9w0BCQEWEml0 8W1aXSBnNqtla1fmKKId9OkhiAZvavtKug8C9i27R2KR63h6uwq3ktwYtV1YWTHK Orx8Mf3HIGXpRSJJqjvZUu+xNrM06VcVajY9SJmt7OYXvSo5nKYguwbfGNh/FA7F Eo1KoKhQeGvWfCQzhEobc/QyegnklbaCUZhePoiL0Jk6Otgsav+2AA== -----END RSA PRIVATE KEY-----
Peab teadma ka sertifikaadi võtme parooli, kui võti on krüpteeritud. Antud näites olgu parool abcd1234.
Kolmandaks on vaja soap päringut, hoiame seda teksifailis nimega data.txt, faili sisu järgnev:
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <SOAP-ENV:Body> <m:findCompanies xmlns:m="urn:KiCompany" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"> <name xsi:type="xsd:string">krediidiinfo</name> <count xsi:type="xsd:int">10</count> </m:findCompanies> </SOAP-ENV:Body> </SOAP-ENV:Envelope>
Antud päring otsib firmasid, mis algavad stringiga krediidiinfo ning ei kuva rohkem kui 10 esimest vastust. (Päring on tasuline!)
Päringu teostamine:
curl -d @data.txt -cert $PWD/cert.pem:abcd1234 --key $PWD/key.pem https://services.krediidiinfo.ee/soap.php?name=KiCompany
-d võti määrab päringu, @ failinime ees ütleb curl'ile, et tegemist on päringufaili, mitte päringu endaga.
--cert võti määrab sertifikaadi faili asukoha. Tuleb kasutada "absolute path"-i. curl ei otsi faili antud kataloogist, seetõttu ka $PWD antud näites. Kui võti on krüpteeritud, saab võtme ette anda nagu näites serdifikaadi failinime taga, eraldades selle failinimest kooloniga. Kui parooli käsureal ei määra, küsitakse seda vajadusel peale curli käivitamist.
--key määrab võtmefaili asukoha. Kui sertifikaat ja võtmefail on üheks liidetud, siis seda võtit vaja ei ole.
Õnnestunud tulemus (lisatud reavahetused loetavuse parandamiseks):
<?xml version="1.0" encoding="UTF-8"?> <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="urn:KiCompany" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"> <SOAP-ENV:Body> <ns1:findCompaniesResponse> <companies SOAP-ENC:arrayType="ns1:CompanyIDData[1]" xsi:type="ns1:CompanyIDDataArray"> <item xsi:type="ns1:CompanyIDData"> <regCode xsi:type="ns1:regCode">10256137</regCode> <name xsi:type="xsd:string">KREDIIDIINFO AS</name> </item> </companies> </ns1:findCompaniesResponse> </SOAP-ENV:Body></SOAP-ENV:Envelope>