Snažím se implementovat vzájemné ověřování certifikátů, musím být zároveň CA a serverem, generovat certifikáty a podepisovat je uživatelům. a sleduji tento tutoriál, který je ve srovnání se složitými články na webu velmi jednoduchý, kroky jsou:
Proces vytvoření vlastní certifikační autority je docela přímočarý:
- Vytvořte soukromý klíč
- Vlastní znamení
- Nainstalujte kořenovou CA na různé pracovní stanice // ????
Jakmile to uděláte, každé zařízení, které spravujete přes HTTPS, musí mít vytvořený vlastní certifikát podle následujících kroků:
- Vytvořte CSR pro zařízení
- Podepište CSR pomocí kořenového klíče CA /// TENTO KROK
Vytvořte kořenový klíč:
openssl genrsa -out rootCA.key 2048
vlastnoručně podepište tento certifikát.
openssl req -x509 -new -nodes -key rootCA.key -days 1024 -out rootCA.pem
Vytvořit certifikát (provedeno jednou na zařízení):
openssl genrsa -out device.key 2048
openssl req -new -key device.key -out device.csr
openssl x509 -req -in device.csr -CA root.pem -CAkey root.key -CAcreateserial -out device.crt -days 500
Poslední příkaz mi dává tuto chybu:
Signature ok
subject=/C=XX/L=Default City/O=Default Company Ltd/CN=192.168.1.108
Error opening CA Certificate root.pem
3078969068:error:02001002:system library:fopen:No such file or directory:bss_file.c:355:fopen('root.pem','r')
3078969068:error:20074002:BIO routines:FILE_CTRL:system lib:bss_file.c:357:
unable to load certificate
Root.pem existuje ve stejné složce, proč není vidět?
Také první dva příkazy mi daly dva soubory, root.key
a root.pem
:
neexistuje žádný crt
soubor předat prohlížeči .
Co je špatně?
Přijatá odpověď:
Ověřte název svého certifikátu. Je nekonzistentní (root.pem
v příkazu rootCA.pem
v jiném).
Můžete nainstalovat root.pem
soubor na vašich klientských hostitelích, jak je uvedeno v článku, je to váš certifikát CA. PEM
je formát pro certifikát, existují i jiné. .crt
je generické rozšíření. Svůj certifikát můžete přejmenovat z root.pem
na root.crt
pokud chcete.