Portál AbcLinuxu, 10. května 2025 08:09

Dotaz: Vygenerování certifikátu *.p12

22.7.2008 13:22 wwwondry
Vygenerování certifikátu *.p12
Přečteno: 4940×
Odpovědět | Admin
Zdravím,

potřeboval bych poradit jak vytvořit certifikát .p12 Prolistoval jsme už mnoho stránek a zkusil snad všechny variace commandu "pkcs12 -export -in cert.pem -inkey cert.key -out cert.p12". Sice se mi p12 vytvoří ale s nulovou velikostí. Openssl hodí error. Vždy mi to hodí hlášku, že výsledný certifkát neobsahuje Private Key.

Na samém začátku jsem měl k dispozici jen cert.cer a cert.pem.

Dlouho sem bojoval s vytvořením private key z PEMu, což se mi podařilo příkazem: req -new -out cert.req -keyout cert.key -nodes

ale jsem na pochybách, kvůli hlášce, kterou mi to při vytvoření hodilo:

Unable to load config info

Loading 'screen' into random state - done

Generating a bit 512 rsa private key

...............++++++++++

..............++++++++++

unable to write 'random state'

writing new private key to 'cert.key'

-----

unable to find 'distinguished_name' in config

problems making Cerftificate Request

1200:error:0E06D06A:configurationfile routines:NCONF_get_string:no conf or environment variable:crypto/conf/conf_lib.c:325:

error in req

Takže teď již mám cert.key cert.pem a cert.cer. Zkouším tedy vytvořit p12 pomocí příkazu pkcs12 -export -in cert.pem -inkey cert.key -out cert.p12, ale jak jsem již na začátku psal, dál se nedostanu, p12 má nulovou velikost. Help pls :)
Nástroje: Začni sledovat (1) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

22.7.2008 13:57 melkors | skóre: 13 | blog: kdo_chce_kam
Rozbalit Rozbalit vše Re: Vygenerování certifikátu *.p12
Odpovědět | | Sbalit | Link | Blokovat | Admin
S nejvetsi pravdepodobnosti nemas korektne vytvoreny certifikat. Zkus

openssl x509 -in cert.pem -noout -text

a uvidis sam. Jinak prikaz na konverzi mas syntakticky spravne.
22.7.2008 15:38 wwwondry
Rozbalit Rozbalit vše Re: Vygenerování certifikátu *.p12
No nevím, certifikát je vytvořený icou a nijak jsem do jeho obsahu nezasahoval.

Tomu výpisu nerozumím takže možná že zase poradíš :)v příloze je výpis z cmd.

Některé části jsem pro jistotu znečitelnil, nevím jak moc jsou to důvěrná data.
23.7.2008 00:15 Jan Domankus
Rozbalit Rozbalit vše Re: Vygenerování certifikátu *.p12
Odpovědět | | Sbalit | Link | Blokovat | Admin
Podla mna je chyba v tomto:
Na samém začátku jsem měl k dispozici jen cert.cer a cert.pem.
Na zaciatku predsa musis mat privatny kluc, z ktoreho posielas request na vystavenie certifikatu. Ten sa neda dogenerovat dodatocne (request je generovany z PK a tento request musi byt odoslany do CA aby CA mohla vystavit certifikat). Takze ak si dodatocne vygeneroval key, tak tento urcite nebude sediet s danym certifikatom.

Ako si sa dostal k tym suborom cert.cer a cert.pem? Nieco si predsa musel poslat I.CA aby Ti mohli vystavit certifikat a pri tom, ako si generoval ten cert.pem (predpokladam ze ten si poslal do I.CA) mal vzniknut este jeden subor s privatnym klucom. Mozno ho mas v tom cert.pem, ale v tom pripade by si si mal asi nechat vygenerovat novy certifikat ktoreho PK neposles do CA. ;-)

Ci dany PEM obsahuje privatny kluc zistis napr. takto:

openssl rsa -in cert.pem -text -noout

Ak ho dany PEM obsahuje (lebo ho obsahovat nemusi - PK sa neposiela do CA na generovanie certifikatu - od toho je to "privatny kluc", aby si ho uchovaval privatne a nikomu ho neposkytol - ani CA) budes musiet zadat jeho heslo (ak bol zaheslovany) a vyssie uvedeny prikaz potom vypise kluc v textovej forme.

Ak dany PEM ziaden kluc neobsahuje, nebude to pytat ziadne heslo a zahlasi to nieco v zmysle "unable to load private key" chybu.

Ak ho obsahuje a nepamatas si heslo, tak mas asi smolu.

Ak sa tam dany kluc nachadza a chces ho vyextrahovat do samostatneho suboru, tak pouzi:

openssl rsa -in cert.pem -out cert.key -outform PEM
24.7.2008 13:38 wwwondry
Rozbalit Rozbalit vše Re: Vygenerování certifikátu *.p12
Omyl, na začátku jsem privátní klíč neměl. Jak jsem řekl, mám k dispozici jen .cer a .pem. A potřebuju z nich dostat privátní klíč, abych mohl následně vygenerovat .p12. Veřejný certifikát ( pem a cer ) je vygenerovaný společností I. CA patřící jednomu "zákazníkovi" a tyto dva certifikáty jsem stáhnul ze stránek spol. ICA.

Mám za to, že privátní klíč z nich dostat lze, už se to "někomu" povedlo. Ten "někdo" měl také k dispozici jen cer a pem (možná že dokonce jen cer) a nějakým způsobem z nich dostal .p12 což mě se nedaří. Ten někdo mi ale návod nechce poskytnout.

Zkusil jsem použít syntax co jsi mi poskytl. OpennSSL hlásí "unable to load private key" tudíž cert.pem nejspíše private key neobsahuje.

Tohle mi nedá spát, nechápu tedy, jak "někdo" dokázal cert.p12 vytvořit. Upozorňuji, že certifkát .p12, který mi "někdo" poskytl je funkční.

Zbývá už jen jediné, cert.p12 lze vygenerovat bez přítomnosti privátního klíče, čemuž ale moc nevěřím.

A nebo zbývá ještě poslední možnost. Je to celé velká blbost :-)
24.7.2008 14:30 Mortal | skóre: 26 | blog: mortals_log
Rozbalit Rozbalit vše Re: Vygenerování certifikátu *.p12
Omyl, na začátku jsem privátní klíč neměl
v tom pripade nejste na zacatku, zacatek je tam kde se vygeneroval privatni klic
kdyz jste to nebyl Vy, reknete si o ten klic tomu kdo u CA zaridil ten certifikat
V pekle jsou samé diskety a ďábel je velká disketová mechanika
24.7.2008 14:38 imro | skóre: 19 | blog: hovado
Rozbalit Rozbalit vše Re: Vygenerování certifikátu *.p12
Jaaaj, vidim ze nemas o tom ani potuchy

Ak by sa ti podarilo z certifikatu dostat privatny kluc, tak sa mozes prihlasit v NSA o nejakych 100 000 dolarov ako cenu za rozlusknutie jedneho z dost tazkych matematickych problemov.

Certifikat aj kluc mozu byt ulozene v jednom subore-takto to riesi napr. windows format, ale z certifikatu privatny kluc proste nedostanes-a ak, tak si matematicky genius. Certifikat je totiz iba tvoj verejny kluc podpisany nejakou certifikacnou autoritou. A z certifikatu privatny kluc jednoducho nedostanes, s tym sa zmier.

Kluc aj certifikat si vygeneruj normalnym sposobom cez openssl, pred tym si ale spravne urob adresarovu strukturu a uprav file openssl.cnf. Zo suborov ktore ti openssl vygeneruje potom kedykolvek urobis windows format prikazom ktory si spominal uplne hore.
25.7.2008 13:26 Jan Domankus
Rozbalit Rozbalit vše Re: Vygenerování certifikátu *.p12
Je to tak ako napisal imro. Ak sa Ti podari z certifikatu dostat key, tak si si dobre zarobil.

Pozrime sa na to este raz. V akom formate su cert.pem a cert.cer? Ak su v PEM formate, tak to je textovy subor a mozes si ho normalne prehliadnut. Moze mat viacero casti, kazda cast ma BEGIN a END marker, z ktoreho sa da vydedukovat o aku cast ide. Takze sa pozri co obsahuju tie subory. Ak obsahuju len casti:
-----BEGIN/END CERTIFICATE REQUEST-----
a/alebo
-----BEGIN/END CERTIFICATE-----
a z toho sa niekomu podarilo dostat privatny kluc, tak ho treba bonznut NSA - ad jedna moze dostat slusnu odmenu a ad dva aspon NSA bude vediet ze uz sa to konecne niekomu podarilo a ze X.509 PKI uz nie je vobec bezpecny. ;-) Ak niektory subor obsahuje aj cast:
-----BEGIN/END RSA PRIVATE KEY-----
tak z nej mozes dostat ten privatny kluc vyssie popisanym sposobom (ak nie je zaheslovany, pretoze potom mas opat trochu problem ked nepoznas heslo).

V kazdom pripade budem zvedavy na vysledok (a popis co tie subory obsahuju), lebo tiez ma zaujima ci sa to uz niekomu podarilo rozlusknut (nepracujem pre NSA ale obcas X.509 pouzivam pri komunikacii). ;-)

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.