GNU/Linux >> Znalost Linux >  >> Ubuntu

Výukový program OpenSSL:Jak fungují certifikáty SSL, soukromé klíče a CSR?

Úvod

Secure Socket Layer (SSL), původně vyvinutá společností Netscape v roce 1994 na podporu možností elektronického obchodování na internetu, ušla dlouhou cestu. Uprostřed všech kybernetických útoků se certifikáty SSL staly běžnou nutností pro jakýkoli živý web.

Přestože se Secure Socket Layer (SSL) a Transport Socket Layer (TLS) staly poměrně všudypřítomnými, na krátkou chvíli vysvětlíme, co dělají a jak to dělají.

Nepřeskakujte Výukový program OpenSSL sekce.

Co je certifikát SSL? Jak SSL funguje?

Certifikát Secure Socket Layer (SSL) je bezpečnostní protokol, který zabezpečuje data mezi dvěma počítači pomocí šifrování.

Certifikáty SSL se obvykle používají na webových stránkách, které přenášejí a přijímají citlivá data koncových uživatelů, jako je rodné číslo, údaje o kreditní kartě, domácí adresa nebo heslo. Dobrým příkladem jsou online platební formuláře, které obvykle šifrují výše uvedené choulostivé informace pomocí 128 nebo 256bitové technologie SSL.

Certifikáty SSL zajišťují identitu vzdáleného počítače, nejčastěji serveru, ale také potvrzují identitu vašeho počítače vzdálenému počítači za účelem navázání bezpečného připojení. Zabezpečení internetu bylo vždy obousměrné a díky šifrování SSL si server „potřese rukou“ s vaším osobním počítačem a obě strany vědí, s kým komunikují.

Jaký je rozdíl mezi protokoly TLS a SSL?

Žádné . Transport Layer Security (TLS) je aktualizovaná verze Secure Socket Layer (SSL). Přestože většina zabezpečených připojení probíhá přes protokoly TLS, lidé tomu stále říkají SSL. V tomto případě lze s jistotou říci, že staré zvyky umírají tvrdě.

Jak zjistím, zda je webová stránka zabezpečena pomocí SSL?

Jako uživatel internetu jste si pravděpodobně všimli zámku a informační lišta webu ve webovém prohlížeči zezelená, stejně jako https protokol připojení.

To je váš prohlížeč, který vám dává vědět, že web je zabezpečen pomocí šifrování SSL. Kliknutím na informační panel webu získáte další podrobnosti o připojení a také náhled na samotný certifikát SSL.

Proč potřebuji certifikát SSL?

Vezměme si příklad ze skutečného života.

Jste vlastníkem webu elektronického obchodu, který si právě pronajal server s phoenixNAP a spustil několik nových obchodů s elektronickým obchodem. Chcete, aby se vaši návštěvníci při návštěvě vašeho e-shopu cítili bezpečně a především neváhali s přihlášením a nákupem.

Certifikát SSL a připojení HTTPS vzbuzují důvěru spotřebitelů. Odvětví elektronického obchodování je úzce spjato s důvěrou spotřebitelů a můžeme dokonce říci, že vaše podnikání závisí na tom, aby se vaši zákazníci během celého nákupu cítili bezpečně.

Kromě zřejmých bezpečnostních důvodů zvyšuje certifikát SSL SEO a hodnocení Google vašeho webu a buduje důvěru zákazníků, což následně zlepšuje celkové míry konverze.

Pokud to nestačí k tomu, abyste zvážili získání certifikátu SSL pro vaši doménu, Google vás jistě přesvědčí. Konkrétně od července 2018 Google označuje každou webovou stránku bez SSL jako nebezpečnou.

Kde mohu získat certifikát SSL?

Certifikáty SSL jsou ověřovány a vydávány certifikační autoritou (CA). Požádáte vygenerováním CSR s párem klíčů na vašem serveru, který by v ideálním případě obsahoval certifikát SSL. CSR obsahuje důležité organizační detaily, které CA ověřuje.

  1. Vygenerujte CSR a pár klíčů lokálně na vašem serveru. Pár klíčů se skládá z veřejného a soukromého klíče.
  2. Zašlete CSR a veřejný klíč certifikační autoritě, která ověří vaši právní identitu a zda vlastníte a ovládáte doménu uvedenou v žádosti. Certifikační autorita provede kontrolu vaší organizace a ověří, zda je organizace registrována v místě uvedeném v CSR a zda doména existuje.
  3. Po ověření obdrží organizace kopii svého certifikátu SSL včetně obchodních údajů a veřejného klíče. Organizace nyní může nainstalovat certifikát na svůj server.
  4. Když certifikační autorita vydá certifikát, naváže se na „důvěryhodný kořenový“ certifikát certifikační autority. Kořenové certifikáty jsou vloženy do každého prohlížeče a propojeny s jednotlivě vydanými certifikáty za účelem vytvoření připojení HTTPS.

Typy certifikátů SSL

Ujistěte se, že jste vybrali CA, která podporuje typ certifikátu, který potřebujete. Pro vaše pohodlí uvádíme níže popis každého typu certifikátu:

Certifikát SSL pro jednu doménu

Tento typ je určen k použití pro jednu doménu a nenabízí žádnou podporu pro subdomény. Pokud má být certifikát například použit pro www.phoenixnap.com, nebude podporovat žádný jiný název domény.

Více domén (certifikáty SAN/UC)

Pro mnoho domén a subdomén se používá více doménových certifikátů. Kromě FQDN můžete přidat podporu pro další (sub)domény jejich přidáním do pole Subject Alternative Name Field. Certifikát SAN může například zahrnovat doménu www.phoenixnap.com, její subdoménu help.phoenixnap.com a také jinou doménu (např. www.examplesite.com).

Certifikát zástupné karty

Zástupné certifikáty lze použít pro doménu, včetně všech jejích subdomén. Hlavním rozdílem je, že namísto toho, aby byly vydávány pro konkrétní FQDN, používají se zástupné certifikáty pro širokou škálu subdomén. Například certifikát se zástupným znakem vydaný na *.phoenixnap.com lze použít pro širokou škálu subdomén pod hlavní doménou www.phoenixnap.com, jak je vidět na obrázku níže.

Úrovně ověření certifikátu SSL

CA mají diverzifikované úrovně ověřování certifikátů v reakci na rostoucí poptávku po certifikátech. Některé organizace používají SSL pouze pro šifrování, jiné chtějí svým zákazníkům ukázat, že jsou důvěryhodnou společností. Různé potřeby vedly k různým úrovním ověřování certifikátů.

Ověření domény (DV SSL)

Tento typ certifikátu SSL je ideální pro zabezpečení blogů, aplikací sociálních médií a osobních webových stránek. Certifikační autorita neručí za identitu organizace a ověřuje se pouze vlastnictví domény.

Extended Validation (EV SSL)

Certifikační autorita ověří vlastnictví domény a provede důkladné šetření organizace spojené s certifikátem EV. Při kontrole žádosti o rozšířené ověření se dodržují přísná pravidla a CA musí ověřit následující:

  1. Identita organizace odpovídá oficiálním záznamům.
  2. Fyzická, právní a provozní existence subjektu.
  3. Organizace má výhradní práva k používání domény uvedené v certifikátu SSL.
  4. Organizace řádně autorizovala vydání certifikátu EV SSL.

Vytvořit certifikát SSL

Způsob vygenerování žádosti o podpis certifikátu závisí výhradně na platformě, kterou používáte, a na konkrétním zvoleném nástroji.

Budeme generovat CSR pomocí OpenSSL .

OpenSSL je široce používaný nástroj pro práci se soubory CSR a certifikáty SSL a je k dispozici ke stažení na oficiálních webových stránkách OpenSSL. Jedná se o open-source implementační nástroj pro SSL/TLS a používá se na přibližně 65 % všech aktivních internetových serverů, což z něj činí neoficiální průmyslový standard.

Debian a Ubuntu

dpkg -l |grep openssl

Pokud je paket OpenSSL nainstalován, vrátí následující výsledek:

ii libgnutls-openssl27:amd64   2.12.23-12ubuntu2.4   amd64   GNU TLS library - OpenSSL wrapper

ii openssl   1.0.1f-1ubuntu2.16   amd64   Secure Sockets Layer toolkit - cryptographic utility

Pokud takový výsledek nevidíte, spusťte následující příkaz k instalaci OpenSSL:

apt-get install openssl

Red Hat nebo CentOS

Red Hat (vydání 7.0 a novější) by měl být dodáván s předinstalovanou omezenou verzí OpenSSL. Nabízí pouze omezenou podporu pro IDEA, RC5 a MDC2, takže možná budete chtít nainstalovat chybějící funkce. Chcete-li si o tom přečíst více, podívejte se do dokumentace OpenSSL.

Chcete-li zkontrolovat, zda je OpenSSL nainstalováno na serveru yum (např. Red Hat nebo CentOS), spusťte následující příkaz:

rpm -qa | grep -i openssl

Tento příkaz by měl vrátit následující výsledek:

openssl-1.0.1e-48.el6_8.1.x86_64
openssl-devel-1.0.1e-48.el6_8.1.x86_64
openssl-1.0.1e-48.el6_8.1.i686

Pokud se váš výstupní formát liší, znamená to, že na vašem serveru není nainstalováno OpenSSL. Spusťte následující příkaz k instalaci OpenSSL:

yum install openssl openssl-devel

Co je žádost o podepsání certifikátu (CSR)?

Žádost o podpis certifikátu (CSR) obsahuje nejdůležitější informace o vaší organizaci a doméně.

Obvykle byste CSR a pár klíčů vygenerovali lokálně na serveru, kde bude nainstalován certifikát SSL. To však není striktní pravidlo. Můžete vygenerovat CSR a pár klíčů na jednom serveru a nainstalovat certifikát na jiný. To však věci komplikuje. Tento scénář také pokryjeme.

Secure Socket Layer (SSL) používá dva dlouhé řetězce náhodně generovaných čísel, které jsou známé jako soukromé a veřejné klíče . Veřejný klíč je dostupný pro veřejnou doménu, protože je součástí vašeho certifikátu SSL a je oznámen vašemu serveru.

Soukromý klíč musí odpovídat CSR, se kterým byl vygenerován, a nakonec se musí shodovat s certifikátem vytvořeným z CSR. Pokud soukromý klíč chybí, může to znamenat, že certifikát SSL není nainstalován na stejném serveru, který vygeneroval žádost o podpis certifikátu.

CSR obvykle obsahuje následující informace:

Parametr Popis Příklad hodnoty
Běžný název nebo FQDN FQDN je plně kvalifikovaný název domény vašeho webu. Musí to být stejné jako to, co uživatelé zadávají ve webovém prohlížeči. www.phoenixnap.com
Název organizace (např. společnost) Úplný právní název vaší organizace, včetně přípon, jako je LLC, Corp atd. PhoenixNAP, LLC
Název organizační jednotky Divize ve vaší organizaci, která se tímto certifikátem zabývá. NOC
Název lokality (např. město) Město, ve kterém se nachází vaše organizace. Phoenix
Stát/region/provincie (celé jméno) Stát nebo region, ve kterém se vaše organizace nachází. Arizona
Kód země (dvoupísmenný kód) Země, ve které se vaše organizace nachází. Vždy se zadává jako dvoupísmenný kód ISO. USA
E-mailová adresa E-mailová adresa použitá pro kontaktování webmastera webu. [e-mail chráněn]
Veřejný klíč Automaticky vytvořený klíč, který se generuje pomocí CSR a jde do certifikátu. Zakódovaný textový blok podobný soukromému klíči. Níže naleznete příklad soukromého klíče.

Upozorňujeme, že je třeba vzít v úvahu určité konvence pojmenování. Název organizace a Název organizační jednotky nesmí obsahovat následující znaky:< > ~ ! @ # $ % ^ * / \ ( ) ?.,&

Jak vygenerovat CSR

Žádosti o podpis certifikátu (CSR) jsou generovány pomocí dvojice klíčů – veřejného a soukromého klíče. Certifikačnímu úřadu je odeslán pouze veřejný klíč, který je součástí certifikátu SSL a spolupracuje s vaším soukromým klíčem při šifrování připojení. K vašemu veřejnému klíči může mít přístup kdokoli a ověřuje, že certifikát SSL je autentický.

Soukromý klíč je blok zakódovaného textu, který spolu s certifikátem ověřuje bezpečné spojení mezi dvěma stroji. Nesmí být veřejně přístupné a nemělo by být zasíláno CA.

Integrita certifikátu závisí na skutečnosti, že soukromý klíč znáte pouze vy. Pokud dojde ke kompromitaci nebo ztrátě certifikátu, co nejdříve znovu zaklínujte svůj certifikát novým soukromým klíčem. Většina CA vám tuto službu neúčtuje.

Možnost 1:Vygenerujte CSR

První věcí, kterou je třeba udělat, by bylo lokálně vygenerovat 2048bitový pár klíčů RSA. Tento pár bude obsahovat váš soukromý i veřejný klíč. Můžete použít Java key tool nebo nějaký jiný nástroj, ale my budeme pracovat s OpenSSL.

Chcete-li vygenerovat veřejný a soukromý klíč s žádostí o podpis certifikátu (CSR), spusťte následující příkaz OpenSSL:

openssl req -out certificatesigningrequest.csr -new -newkey rsa:2048 -nodes -keyout privatekey.key

Jakmile vygenerujete CSR s párem klíčů, je obtížné zjistit, jaké informace obsahuje, protože nebude ve formátu čitelném pro člověka. CSR na svém serveru můžete snadno dekódovat pomocí následujícího příkazu OpenSSL:

openssl req -in server.csr -noout -text

Před odesláním certifikační autoritě se doporučuje dekódovat CSR a ověřit, že obsahuje správné informace o vaší organizaci. Na webu je mnoho dekodérů CSR, které vám mohou pomoci udělat totéž pouhým zkopírováním a vložením obsahu vašeho souboru CSR.

Pro vaše pohodlí jsme uvedli dva (2) online nástroje dekodéru CSR:

  • SSL Shopper
  • Poštolka obecná

Možnost 2:Vygenerujte CSR pro existující soukromý klíč

Při každém generování CSR se doporučuje vydat nový soukromý klíč. Pokud z jakéhokoli důvodu potřebujete vygenerovat žádost o podpis certifikátu pro existující soukromý klíč, použijte následující příkaz OpenSSL:

openssl req -out CSR.csr -key privateKey.key -new

Možnost 3:Vygenerujte CSR pro existující certifikát a soukromý klíč

openssl x509 -x509toreq -in certificate.crt -out CSR.csr -signkey privateKey.key

Jeden nepravděpodobný scénář, ve kterém se to může hodit, je, že potřebujete obnovit svůj stávající certifikát, ale ani vy ani vaše certifikační autorita nemáte původní CSR. To z certifikátu SSL extrahuje informace o vaší doméně a organizaci a použije je k vytvoření nového CSR, což vám ušetří čas.

Možnost 4:Vygenerujte certifikát s vlastním podpisem

Certifikát s vlastním podpisem se obvykle používá pro testovací a vývojová prostředí a na intranetu. Vygenerujeme certifikát s vlastním podpisem pomocí následujícího příkazu OpenSSL:

openssl req -newkey rsa:2048 -nodes -keyout domain.key -x509 -days 365 -out domain.crt

-days parametr je nastaven na 365, což znamená, že certifikát je platný dalších 365 dní. -x509 parametr označuje, že se bude jednat o certifikát s vlastním podpisem. Vygeneruje se dočasná CSR, která se používá pouze ke shromáždění nezbytných informací.

Certifikační autority neověřují certifikáty s vlastním podpisem. Nejsou tedy tak bezpečné jako ověřené certifikáty. Pokud certifikační autorita nepodepsala certifikát, každý hlavní prohlížeč zobrazí chybovou zprávu „nedůvěryhodný certifikát“, jako je ta na obrázku níže.

Pokud svůj soukromý klíč nechcete chránit heslem, můžete přidat -nodes parametr.

Možnost 5:Vygenerujte certifikát s vlastním podpisem ze stávajícího soukromého klíče a CSR

Pokud již máte CSR a soukromý a potřebujete vygenerovat certifikát s vlastním podpisem, použijte následující příkaz:

openssl x509 \ -signkey domain.key \ -in domain.csr \ -req -days 365 -out domain.crt

-days parametr je nastaven na 365, což znamená, že certifikát je platný po dobu následujících 365 dní.

Jak zkopírovat obsah souboru CSR

Otevřete adresář, ve kterém je umístěn váš soubor CSR. Zadejte následující příkaz:

sudo cat domain.csr

Nahradit doménu s parametrem FQDN vašeho CSR. Tento příkaz zobrazí obsah souboru CSR. Zkopírujte veškerý obsah, počínaje „ZAČÁTEK ŽÁDOST O CERTIFIKÁT“ a konče „KONEC ŽÁDOST O CERTIFIKÁT“.

Obnovení certifikátu – nepoužívejte znovu staré zprávy CSR

To, že některé webové servery umožňují použití starých CSR pro obnovu certifikátu, neznamená, že byste je měli používat. Jako bezpečnostní opatření vždy při obnově certifikátu vygenerujte nový CSR a soukromý klíč. Lpění na stejném soukromém klíči je cesta dlážděná chybami zabezpečení.

Také se doporučuje obnovit SSL certifikát před datem vypršení platnosti. V opačném případě bude vyžadován nákup nového certifikátu.

Jak ověřit CSR, certifikát SSL a klíč

Jak jsme již uvedli, bylo by moudré si před podáním žádosti o certifikát zkontrolovat informace uvedené v CSR. Pomocí následujících příkazů ověřte žádost o podpis certifikátu, certifikát SSL a klíč:

CSR

openssl req -text -noout -verify -in server.csr

Tento příkaz ověří CSR a zobrazí data uvedená v požadavku.

Klíč

Následující příkaz ověří klíč a jeho platnost:

openssl rsa -in server.key -check

Certifikát SSL

Když potřebujete zkontrolovat certifikát, datum vypršení platnosti a kdo jej podepsal, použijte následující příkaz OpenSSL:

openssl x509 -in server.crt -text -noout

Soukromý klíč

Soukromý klíč je zakódován a vytvořen ve formátu PEM založeném na Base-64, který není pro člověka čitelný. Můžete jej otevřít pomocí libovolného textového editoru, ale vše, co uvidíte, je několik desítek řádků zdánlivě náhodných symbolů ohraničených úvodními a závěrečnými nadpisy. Níže naleznete příklad soukromého klíče:

-----BEGIN RSA PRIVATE KEY-----
MIICXAIBAAKBgQCVqGpH2S7F0CbEmQBgmbiDiOOGxhVwlG+yY/6OBQoPKcx4Jv2h
vLz7r54ngjaIqnqRNP7ljKjFLp5zhnAu9GsdwXbgLPtrmMSB+MVFHTJvKjQ+eY9p
dWA3NbQusM9uf8dArm+3VrZxNHQbVGXOIAPNHTO08cZHMSqIDQ6OvLma7wIDAQAB
AoGAbxKPzsNh826JV2A253svdnAibeSWBPgl7kBIrR8QWDCtkH9fvqpVmHa+6pO5
5bShQyQSCkxa9f2jnBorKK4+0K412TBM/SG6Zjw+DsZd6VuoZ7P027msTWQrMBxg
Hjgs7FSFtj76HQ0OZxFeZ8BkIYq0w+7VQYAPBWEPSqCRQAECQQDv09M4PyRVWSQM
S8Rmf/jBWmRnY1gPPEOZDOiSWJqIBZUBznvOPOOQSH6B+vee/q5edQA2OIaDgNmn
AurEtUaRAkEAn7/65w+Tewr89mOM0RKMVpFpwNfGYAj3kT1mFEYDq+iNWdcSE6xE
2H0w3YEbDsSayxc36efFnmr//4ljt4iJfwJAa1pOeicJhIracAaaa6dtGl/0AbOe
f3NibugwUxIGWkzlXmGnWbI3yyYoOta0cR9fvjhxV9QFomfTBcdwf40FgQJAH3MG
DBMO77w8DK2QfWBvbGN4NFTGYwWg52D1Bay68E759OPYVTMm4o/S3Oib0Q53gt/x
TAUq7IMYHtCHZwxkNQJBAORwE+6qVIv/ZSP2tHLYf8DGOhEBJtQcVjE7PfUjAbH5
lr++9qUfv0S13gXj5weio5dzgEXwWdX2YSL/asz5DhU=
-----END RSA PRIVATE KEY-----

Ve většině případů nebudete muset importovat kód soukromého klíče do souborového systému serveru, protože bude vytvořen na pozadí během generování CSR a poté automaticky uložen na server. Během instalace certifikátu SSL systém načte klíč.

Ověřte, zda se certifikát a soukromý klíč shodují

Pro ověření si musíte vytisknout kontrolní součty md5 a porovnat je. Proveďte následující příkaz:

openssl x509 -noout -modulus -in server.crt| openssl md5
openssl rsa -noout -modulus -in server.key| openssl md5

Odstraňování problémů s SSL

Systém nenačte soukromý klíč automaticky

Některé systémy neautomatizují postup načítání soukromého klíče. Kromě toho, pokud potřebujete nainstalovat existující certifikát na jiný server, samozřejmě nemůžete očekávat, že načte soukromý klíč. Hlavním problémem je zde najít přesné umístění klíče. Jak můžete klíč získat, závisí na používaném operačním systému serveru a na tom, zda bylo pro generování CSR použito rozhraní příkazového řádku nebo webhostingový ovládací panel určitého typu.

Potřebuji najít svůj dříve nainstalovaný soukromý klíč

Pokud je váš certifikát již nainstalován, postupujte podle níže uvedených kroků, které vám pomohou najít soukromý klíč v oblíbených operačních systémech.

Nginx

Měli byste být schopni najít umístění soukromého klíče vašeho serveru v souboru virtuálního hostitele vaší domény.

Přejděte do umístění kořenového serveru webu (obvykle je to /var/www/directory ) a otevřete hlavní konfigurační soubor webu. Hledejte ssl_certificate_key direktiva, která poskytne cestu k souboru soukromého klíče.

Pokud nemůžete najít ssl_certificate_key direktiva, může se stát, že pro podrobnosti SSL existuje samostatný konfigurační soubor. Hledejte něco popisného, ​​například ssl.conf .

Apache

Při použití knihovny OpenSSL na Apache se soukromý klíč ve výchozím nastavení ukládá do /usr/local/ssl. Spusťte openssl version -a , příkaz OpenSSL, který identifikuje verzi OpenSSL, kterou používáte.

Výstup zobrazí adresář, který obsahuje soukromý klíč. Viz příklad výstupu níže:

OpenSSL 1.0.2g  1 Dec 2016

built on: reproducible build, date unspecified

platform: debian-amd64

options: bn(64,64) rc4(16x,int) des(idx,cisc,16,int) blowfish(idx)

compiler: cc -I. -I.. -I../include -fPIC -DOPENSSL_PIC -DOPENSSL_THREADS -

D_REENTRANT -DDSO_DLFCN -DHAVE_DLFCN_H -m64 -DL_ENDIAN -g -O2 -fstack-protector-

strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -Wl,-

Bsymbolic-functions -Wl,-z,relro -Wa,--noexecstack -Wall -DMD32_REG_T=int -

DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -

DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DAES_ASM -

DVPAES_ASM -DBSAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM -DECP_NISTZ256_ASM

OPENSSLDIR: "/usr/lib/ssl"

Poslední řádek OPENSSLDIR definuje cestu k souboru. V uvedeném příkladu je to výchozí umístění /usr/lib/ssl .

Pokud jste nevygenerovali CSR pomocí OpenSSL, musíte najít a otevřít svůj hlavní konfigurační soubor Apache, což je apache2.conf nebo httpd.conf . Direktiva SSLCertficateKeyFile určí cestu k souboru soukromého klíče.

Windows (IIS)

Na serverech se systémem Windows Internet Information Services ukládá operační systém soukromý klíč do skryté složky, podobně jako jakýkoli běžný operační systém Windows ukládá důležitá systémová data.

Nicméně exportem .pfx soubor, můžete načíst soukromý klíč a certifikát(y). Chcete-li tak učinit, postupujte podle následujících kroků:

  1. Otevřete Microsoft Management Console (MMC).
  2. V části Kořenový adresář konzoly rozbalte položku Certifikáty (místní počítač) strom.
  3. Váš certifikát se nachází buď v části Osobní nebo složka Web Hosting . Najděte certifikát, který hledáte. Každý certifikát můžete identifikovat podle jeho společného názvu (domény).
  4. Klikněte pravým tlačítkem myši na certifikát, který chcete exportovat, a vyberte možnost Všechny úkoly> Exportovat .
  5. Exportujte soubor .pfx podle průvodce soubor.

Máte to, co potřebujete, pokud chcete uložit zálohu nebo nainstalovat certifikát na jiný server Windows.

Pokud potřebujete nainstalovat certifikát na jiný server, který nepoužívá Windows (např. Apache), musíte převést soubor .pfx a oddělit soubory .key a .crt/.cer. Můžete tak učinit pomocí OpenSSL.

Jak přesunout certifikát SSL ze serveru Windows na server bez systému Windows?

Chcete-li přesunout certifikát ze serveru Windows na server jiný než Windows, musíte pomocí OpenSSL extrahovat soukromý klíč ze souboru .pfx.

  1. Po stažení souboru .pfx, jak je popsáno v části výše, spusťte následující příkaz OpenSSL k extrahování soukromého klíče ze souboru:
openssl pkcs12 -in mypfxfile.pfx -out privatekey.txt -nodes

Kde mypfxfile.pfx je záloha certifikátů serveru Windows.

  1. Tento příkaz vytvoří soubor privatekey.txt výstupní soubor. Pomocí textového editoru otevřete soubor a nahoře v seznamu uvidíte soukromý klíč ve standardním formátu:
-----BEGIN RSA PRIVATE KEY-----
(Encrypted Text Block)
-----END RSA PRIVATE KEY-----
  1. Zkopírujte soukromý klíč včetně značek „BEGIN“ a „END“ a vložte jej do nového textového souboru. Uložte textový soubor jako Your_Domain_Name.key.

Nemohu najít svůj soukromý klíč

Pokud nemůžete najít soukromý klíč, hledejte stopy. Jedna věc, kterou je třeba poznamenat, je, zda server poskytuje funkční připojení HTTPS. Pokud tomu tak je, pak je soukromý klíč přístupný serveru a je s největší pravděpodobností někde na serveru.

Logickým krokem by bylo vyhledat .key soubor. V některých případech OpenSSL ukládá soubor .key do stejného adresáře, ze kterého je OpenSSL -req příkaz byl spuštěn.

Pokud jste vyzkoušeli vše a stále nemůžete najít soubor .key, existuje malá možnost, že se klíč ztratil. Nepropadejte panice, chytré by bylo vygenerovat nové CSR a znovu vydat certifikát. Tentokrát si nezapomeňte zapamatovat umístění soukromého klíče.

Příkazy OpenSSL pro převod CSR

Pokud pracujete se servery Apache, požadavky na podepisování certifikátů (CSR) a klíče jsou uloženy ve formátu PEM. Ale co když chcete přenést CSR na server Tomcat nebo Windows IIS? No, museli byste převést standardní soubor PEM na soubor PFX. Následující příkazy vám pomohou přesně to udělat.

Převeďte PEM CSR a soukromý klíč na PKCS12 (.pfx .p12)

Soubory FKCS12 se používají k exportu/importu certifikátů ve Windows IIS.

openssl pkcs12 \ -inkey domain.key \ -in domain.crt \ -export -out domain.pfx

To vezme soukromý klíč a CSR a převede je do jediného souboru .pfx. Můžete nastavit přístupovou frázi exportu, ale můžete ji nechat prázdnou. Vezměte prosím na vědomí, že spojením řetězců znaků certifikátu end-to-end do jednoho souboru PEM můžete exportovat řetězec certifikátů do formátu souboru .pfx.

Převeďte PKCS12 na PEM CSR

openssl pkcs12 \ -in domain.pfx \ -nodes -out domain.combined.crt

Pokud soubor .pfx obsahuje řetězec certifikátů, soubor .crt PEM bude mít také více položek.

Převést PEM na DER

DER je binární formát obvykle používaný v Javě. Chcete-li převést soubor ASCII PEM na DER, použijte následující příkaz OpenSSL:

openssl x509 \ -in domain.crt \ -outform der -out domain.der

Převést DER na PEM

Pokud potřebujete převést soubor .der na PEM, použijte následující příkaz OpenSSL:

openssl x509 \ -inform der -in domain.der \ -out domain.crt

Šifrování nešifrovaného soukromého klíče

Následující příkaz OpenSSL vezme nezašifrovaný soukromý klíč a zašifruje jej vámi definovanou přístupovou frází.

openssl rsa -des3 \ -in unencrypted.key \ -out encrypted.key

Definujte přístupovou frázi pro šifrování soukromého klíče.

Dešifrování zašifrovaného soukromého klíče

Následující příkaz OpenSSL vezme zašifrovaný soukromý klíč a dešifruje jej.

openssl rsa \ -in encrypted.key \ -out decrypted.key

Až budete vyzváni, zadejte přístupovou frázi k dešifrování soukromého klíče.


Ubuntu
  1. Jak zabezpečit připojení pomocí certifikátů SSL/TLS

  2. Jak si prostřednictvím ovládacího panelu objednám soukromý certifikát SSL?

  3. Infografika - Jak implementovat SSL certifikáty

  1. Jak zabezpečit účet s podporou cPanel pomocí certifikátu Sectigo SSL

  2. Jak spravovat certifikáty Lets Encrypt SSL/TLS pomocí certbota

  3. Jak zkontrolovat, zda je certifikát SSL SHA1 nebo SHA2 pomocí OpenSSL?

  1. Jak použít certifikát SSL v Plesku

  2. Chyba prohlížeče certifikátu SSL

  3. Jak nainstalovat certifikát SSL v Plesku