Snažím se vygenerovat pár soukromého a veřejného klíče a převést veřejný klíč na certifikát, který lze přidat do mého úložiště důvěry.

Chcete-li vygenerovat soukromý veřejný klíč &: openssl rsa -in private.pem -outform PEM -pubout -out public_key.pem

Teď jsem Snažím se převést to na certifikát:

openssl x509 -outform der -in public_key.pem -out public.cer 

Ale dostanu chybu:

7962:error:0906D06C:PEM routines:PEM_read_bio:no start line:/BuildRoot/Library/Caches/com.apple.xbs/Sources/OpenSSL098/OpenSSL098-64.30.2/src/crypto/pem/pem_lib.c:648:Expecting: TRUSTED CERTIFICATE 

Všechny výukové programy ukazují, že před přidáním do úložiště údajů o důvěryhodnosti musím převést pem na crt.

Odpovědět

Nemůžete “ převést „veřejný klíč na certifikát. Certifikát obsahuje veřejný klíč, ale obsahuje také další informace, jako je subjekt, vydavatel, kdy je certifikát platný atd. A certifikát je podepsán emitentem. Místo toho tedy potřebujete vytvořit žádost o podepsání certifikátu (CSR), která obsahuje veřejný klíč, ale také obsahuje všechny další informace. Tuto CSR je poté nutné podepsat certifikační autoritou (CA), která následně vede k certifikátu.

Informace o vytvoření jednoduchého certifikátu s vlastním podpisem, kterému žádný prohlížeč nedůvěřuje, naleznete v části Jak vytvořit certifikát s vlastním podpisem pomocí openssl? .

Komentáře

  • Takže v tomto příkladu: openssl req -x509 -newkey rsa: 4096 -keyout key.pem -out cert.pem -days 365 key.pem bude obsahovat soukromý i veřejný klíč?
  • @ user1692342: < = „57c85f8d3c“>

si nejsem jistý, jak se otázka v komentáři týká původní otázky. Ale: key.pem je soukromý klíč, který obsahuje veřejný klíč a veřejný klíč je také součástí cert.pem.

Odpověď

Veřejný klíč nelze převést na certifikát.

Původní příkazy nebudou fungovat, protože formát kódování / souboru PEM očekává, že bude obsahovat šifrovaný text certifikátu, jak je uvedeno níže:

—– ZAČÁTEK CERTIFIKÁT —–

Data certifikátu zde

—– KONEC CERTIFIKÁT —–

Pokud tedy prohlížíte původní soubor .PEM a vidíte něco jiného (například BEGIN RSA …), pak je to nesprávné.

Nyní podle názvu vlákna, které se snaží převést PEM do formátu souboru CRT . Upozorňujeme, že certifikáty x509 mohou být ve dvou kódováních – DER a PEM. PEM může být také ve formátu .CRT, .CER a také .PEM.

Proto pokud vidíte tuto chybu, existuje také šance, že s certifikátem kódovaným DER zacházíte jako s certifikátem kódovaným PEM. Podle pokynů na této stránce můžete zkusit zjistit, zda je skutečně zakódováno DER.

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *