Atbalsta biļete jautā, kurš sertifikāts atrodas VPN pakotnē, un pirmais impulss ir eksportēt visu un pievienot. P12 fails iesaiņo sertifikātus un privātās atslēgas materiālu vienā konteinerā, tāpēc eksportēt visu ir tieši tas, ko nevajadzētu sūtīt. Komanda, kas atbild uz jautājumu, ir atlases problēma, nevis konvertēšanas. Četri karodziņi nosaka, kuru konteinera pusi jūs iegūsit, un divi no tiem izklausās drošāki, nekā ir.

Sāciet ar konteinera lasīšanu, nevis tā iztukšošanu.

Ko PKCS12 fails patiešām satur

PKCS12 konteiners satur vienu vai vairākus sertifikātus, iespējams, privāto atslēgu un message authentication code virs satura. Sertifikāti var ietvert jūsu klienta identitātes lapas sertifikātu un starpsertifikātus, kas to saista ar CA. Atslēga, kad tā ir, ir tas, kas failu padara par noslēpumu, nevis dokumentu.

Šī atšķirība ir iemesls, kāpēc -nokeys pastāv un kāpēc tas ir karodziņš, kas vajadzīgs šim uzdevumam.

Izlasiet pakotni, neizrakstot atslēgu

Pārbaudes forma izdrukā struktūru un algoritmu detaļas un neko neieraksta: openssl pkcs12 -in client.p12 -info -noout. Tā jautā importa paroli, kas ir pareizā vieta šai vērtībai, un pasaka, vai failā vispār ir atslēga. Izmantojiet -passin env:PKCS12_PASS, kad paroli nevar ievadīt, jo parole shell komandā ir parole procesu sarakstā. Šis solis neko neeksportē, un tā ir visa būtība.

Lasiet izvadi, lai noskaidrotu trīs lietas: cik sertifikātu, vai ir atslēga un kuri algoritmi to aizsargā.

Izmantojiet -nokeys un nejauciet to ar -nocerts

-nokeys izslēdz privātās atslēgas un atstāj sertifikātus. -clcerts sašaurina to līdz klienta sertifikātiem, -cacerts sašaurina līdz CA sertifikātiem, un šie divi ir filtri, nevis alternatīvas. -nocerts lasās kā drošais tās pašas idejas rakstījums un nozīmē pretējo: nav sertifikātu, kas atstāj tikai atslēgas. Tā iemaisīšana sertifikātu eksportā ir veids, kā privātā atslēga nonāk diskā.

Divu rindu forma, kas izveido sertifikātu failu un CA failu un neko citu, ir:

openssl pkcs12 -in client.p12 -nokeys -clcerts -out client-certificates.pem
openssl pkcs12 -in client.p12 -nokeys -cacerts -out ca-certificates.pem

Vecajām pakotnēm OpenSSL 3 vajadzīgs -legacy, lai nolasītu to vecāko šifrēšanu, un šis karodziņš maina to, ko parseris pieņem, nevis to, ko tas izvada. Ja parsēšana neizdodas ar kļūdu par neatbalstītu algoritmu, -legacy pievienošana ir pareizais pirmais solis, bet MAC pārbaudes izlaišana nav.

Pārbaudiet izvadi, nevis izejas kodu

Nulle izejas statuss saka, ka komanda darbojās, nevis ka failā ir tas, ko gaidāt. Saskaitiet sertifikātus izvadē un izlasiet subject un datumus: openssl x509 -in client-certificates.pem -noout -subject -dates -fingerprint. Salīdziniet pirkstu nospiedumu ar to, ko gaida atbalsta komanda, jo pakotne ar diviem klienta sertifikātiem rada failu ar diviem blokiem, un lielākā daļa rīku lasa tikai pirmo. Mērķis, uzticēšanās un atslēgas atbilstība atkal ir atsevišķi testi.

Sertifikāts, ko var parsēt, ir sertifikāts, ko var parsēt. Tas nav sertifikāts, ko VPN pieņem.

Izlemiet, vai faili vispār ir vajadzīgi

Ja saņēmējs klients importē PKCS12 tieši, sākotnējās pakotnes nosūtīšana apstiprinātā kanālā, turot paroli atsevišķi, ir vienkāršāka un saglabā aizsardzību. Izvilkšana ir pārbaudei, klientam, kam vajag PEM, vai atbalsta gadījumam, kas lūdza konkrētu artefaktu. Katra izvilkšana noņem vienu slāni, un tai jābūt iemeslam.

Publiskie sertifikāti nesatur privāto atslēgu, bet satur vārdus un organizācijas informāciju. Kopīgojiet laukus, ko lūdza biļete, nevis failu, ja vien netika lūgts tieši fails.

Saistītie raksti