logo
22.01.2019 17:29
1
Máte někdo zkušenosti jak vygenerovat u API české pošty testovací certifikáty?

Nejdřív jsem stáhnul iSignum aplikaci.
Tam jsem vygeneroval nějaký privátní klíč "neco.pem" a dostal nějaké ID žádosti.

Ten klíč + ID žádosti jsem strčil sem.
To mě vrátilo soubor "neco.crt"
Navíc tam byly nějaké jejich obecné certifikáty, které jsou asi k ničemu.

Teďko se to snažím nějak napasovat do kodu, a v téhle podobě to je ok, ale hází to chybu:
" 60 SSL certificate problem: self signed certificate in certificate chain in"

Kód:
https://b2b.postaonline.cz/services/POLService/v1/sendParcels
curl_setopt($ch, CURLOPT_SSLCERT, 'nevim2.crt');
curl_setopt($ch, CURLOPT_SSLKEY, 'nevim2.pem');
curl_setopt($ch, CURLOPT_SSLCERTPASSWD, 'nevim');
curl_setopt($ch, CURLOPT_CAINFO, 'nevim2.crt');
Tzn. úplně stejnou, jako kdybych tam ty certifikáty nedával vůbec.

Požádal jsem o oficiální klíče, tak jsem zvědav, jestli to půjde, ale zajímá mě, jestli to jde nějak přes ty testovací?
22.01.2019 19:00
2
podle mě by:

CURLOPT_SSLCERT měl být neco.crt, ale pouze s tvým podepsaným klíčem
CURLOPT_SSLKEY měl být neco.pem z iSignum aplikace
CURLOPT_SSLCERTPASSWD je tvoje heslo, který jsi zadal do iSignum aplikace, případně to je prázdné
CURLOPT_CAINFO by měl obsahovat neco.crt bez tvého klíče

S testovacími certifikáty u české pošty nemám již 10 let zkušenosti, certifikátům obecně ale lehce rozumím :)
22.01.2019 21:11
3
Díky, když změním heslo/soubor, tak to hlasí špatný klíč, takže to bude oukej.
Ale ten CAINFO asi bude blbě, tam to chce něco jiného...
Proto mi to hlásí tu chybu s podpisem.... akorát další certifikát nechápu, kde sehnat.

Ten "neco.crt" vypadá takhle:
-----BEGIN CERTIFICATE-----
MIIGGjCCBAKgAwIBAgI..........
-----END CERTIFICATE-----

No nic, uvidím, co pošlou z té pošty a pak sem napíšu, jak jsem to vyřešil.
22.01.2019 21:57
4
CAINFO má obsahovat certifikát (veřejný klíč s metadaty) certifikační autority (=CA), která ti to podepsala. Bez více informací ti poradit neumím, tímhle procesem jsem již dlouho neprocházel.