Zahtevek za podporo sprašuje, katero potrdilo je v paketu VPN, in prvi impulz je izvoziti vse in priložiti. Datoteka P12 zapakira potrdila in gradivo zasebnega ključa v en vsebnik, zato je izvoz vsega prav tisto, česar ne smete poslati. Ukaz, ki odgovori na vprašanje, je problem izbire, ne pretvorbe. O tem, katero polovico vsebnika dobite, odločajo štiri stikala, in dve od njih zvenita varneje, kot sta.

Začnite z branjem vsebnika, namesto da bi ga izpraznili.

Kaj datoteka PKCS12 dejansko vsebuje

Vsebnik PKCS12 vsebuje eno ali več potrdil, morda zasebni ključ in message authentication code nad vsebino. Potrdila lahko vključujejo končno potrdilo vaše identitete odjemalca in vmesna potrdila, ki ga verižijo na CA. Ključ, kadar je prisoten, je tisto, kar datoteko naredi skrivnost in ne dokument.

Ta razlika je razlog, da -nokeys obstaja in da je to stikalo, ki ga ta naloga potrebuje.

Preberite paket, ne da bi ključ izpisali

Pregledna oblika izpiše strukturo in podrobnosti algoritmov in ne zapiše ničesar: openssl pkcs12 -in client.p12 -info -noout. Vpraša za uvozno geslo, kar je pravo mesto za to vrednost, in vam pove, ali datoteka sploh vsebuje ključ. Uporabite -passin env:PKCS12_PASS, ko gesla ni mogoče vtipkati, ker je geslo v ukazu lupine geslo na seznamu procesov. Ta korak ne izvozi ničesar, in to je ves smisel.

V izpisu preberite tri stvari: koliko potrdil, ali je ključ prisoten in kateri algoritmi ga ščitijo.

Uporabite -nokeys in tega ne zamenjajte z -nocerts

-nokeys izključi zasebne ključe in pusti potrdila. -clcerts to zoži na potrdila odjemalca, -cacerts to zoži na potrdila CA, in ta dva sta filtra, ne alternativa. -nocerts se bere kot varen zapis iste zamisli in pomeni nasprotno: brez potrdil, kar pusti samo ključe. Če ga vmešate v izvoz potrdil, zasebni ključ konča na disku.

Dvovrstična oblika, ki ustvari datoteko s potrdili in datoteko CA in nič drugega, je:

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

Starejši paketi potrebujejo na OpenSSL 3 stikalo -legacy, da preberejo svoje starejše šifriranje, in to stikalo spremeni, kaj razčlenjevalnik sprejme, ne kaj izda. Če razčlenjevanje spodleti z napako o nepodprtem algoritmu, je dodajanje -legacy prava prva poteza in preskok preverjanja MAC ne.

Preverite izpis, ne kodo izhoda

Ničelno stanje izhoda pove, da je ukaz tekel, ne da datoteka vsebuje to, kar pričakujete. Preštejte potrdila v izpisu in preberite zadevo in datume: openssl x509 -in client-certificates.pem -noout -subject -dates -fingerprint. Primerjajte prstni odtis s tistim, ki ga pričakuje ekipa za podporo, ker paket z dvema potrdiloma odjemalca ustvari datoteko z dvema blokoma in večina orodij prebere le prvega. Namen, zaupanje in ujemanje ključa so spet ločeni testi.

Potrdilo, ki ga je mogoče razčleniti, je potrdilo, ki ga je mogoče razčleniti. To ni potrdilo, ki bi ga VPN sprejel.

Odločite se, ali datoteke sploh potrebujete

Če odjemalec, ki ga prejme, uvozi PKCS12 neposredno, je pošiljanje izvirnega paketa po odobrenem kanalu z geslom ločeno preprostejše in ohrani zaščito. Izluščitev je za pregled, za odjemalca, ki potrebuje PEM, ali za primer podpore, ki je zahteval določen artefakt. Vsaka izluščitev odstrani eno plast in bi morala imeti razlog.

Javna potrdila ne vsebujejo zasebnega ključa, vsebujejo pa imena in podatke o organizaciji. Delite polja, ki jih je zahteval zahtevek, namesto datoteke, razen če je bila zahtevana datoteka.

Sorodni članki