Tukipyyntö kysyy, mikä varmenne VPN-nipussa on, ja ensimmäinen vaisto on viedä kaikki ja liittää mukaan. P12-tiedosto pakkaa varmenteet ja yksityisen avaimen materiaalin yhteen säilöön, joten kaiken vieminen on juuri se, mitä ei pidä lähettää. Kysymykseen vastaava komento on valintaongelma, ei muunnosongelma. Neljä valitsinta päättävät, kumman puolen säilöä saat, ja kaksi niistä kuulostaa turvallisemmalta kuin on.

Aloita lukemalla säilö tyhjentämisen sijaan.

Mitä PKCS12-tiedosto todella sisältää

PKCS12-säilö sisältää yhden tai useamman varmenteen, mahdollisesti yksityisen avaimen ja sisällön yli lasketun message authentication code -tunnisteen. Varmenteisiin voi kuulua asiakasidentiteettisi lehtivarmenne ja välivarmenteet, jotka ketjuttavat sen CA:han. Avain, kun se on läsnä, tekee tiedostosta salaisuuden eikä asiakirjan.

Tämä ero on syy siihen, miksi -nokeys on olemassa ja miksi se on valitsin, jonka tämä tehtävä tarvitsee.

Lue nippu kirjoittamatta avainta ulos

Tarkastusmuoto tulostaa rakenteen ja algoritmien tiedot eikä kirjoita mitään: openssl pkcs12 -in client.p12 -info -noout. Se kysyy tuontisalasanan, joka on oikea paikka sille arvolle, ja se kertoo, sisältääkö tiedosto ylipäätään avaimen. Käytä -passin env:PKCS12_PASS, kun salasanaa ei voi kirjoittaa, koska shell-komennossa oleva salasana on salasana prosessiluettelossa. Tämä vaihe ei vie mitään, ja juuri se on koko pointti.

Lue tulosteesta kolme asiaa: kuinka monta varmennetta, onko avain läsnä ja mitkä algoritmit suojaavat sitä.

Käytä -nokeys-valitsinta äläkä sekoita sitä -nocerts-valitsimeen

-nokeys jättää yksityiset avaimet pois ja jättää varmenteet. -clcerts rajaa sen asiakasvarmenteisiin, -cacerts rajaa sen CA-varmenteisiin, ja nämä kaksi ovat suodattimia eivätkä vaihtoehtoja. -nocerts kuulostaa saman idean turvalliselta kirjoitusasulta ja tarkoittaa päinvastaista: ei varmenteita, mikä jättää vain avaimet. Sen sekoittaminen varmennevientiin on se, miten yksityinen avain päätyy levylle.

Kaksirivinen muoto, joka tuottaa varmennetiedoston ja CA-tiedoston eikä mitään muuta, on:

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

Vanhat niput tarvitsevat -legacy-valitsimen OpenSSL 3:ssa vanhemman salauksensa lukemiseen, ja tämä valitsin muuttaa sitä, mitä jäsentäjä hyväksyy, ei sitä, mitä se tuottaa. Jos jäsentäminen epäonnistuu virheeseen tukemattomasta algoritmista, -legacy lisääminen on oikea ensimmäinen siirto eikä MAC-tarkistuksen ohittaminen ole.

Tarkista tuloste, älä poistumiskoodia

Nollan poistumistila kertoo, että komento suoritettiin, ei sitä, että tiedosto sisältää sen, mitä odotat. Laske varmenteet tulosteesta ja lue subject ja päivämäärät: openssl x509 -in client-certificates.pem -noout -subject -dates -fingerprint. Vertaa sormenjälkeä siihen, jota tukitiimi odottaa, koska nippu, jossa on kaksi asiakasvarmennetta, tuottaa tiedoston, jossa on kaksi lohkoa, ja useimmat työkalut lukevat vain ensimmäisen. Käyttötarkoitus, luottamus ja avaimen täsmääminen ovat jälleen erillisiä testejä.

Varmenne, joka jäsennetään, on varmenne, joka jäsennetään. Se ei ole varmenne, jonka VPN hyväksyy.

Päätä, tarvitsetko tiedostoja lainkaan

Jos vastaanottava asiakas tuo PKCS12:n suoraan, alkuperäisen nipun lähettäminen hyväksyttyä kanavaa pitkin salasana erillään pidettynä on yksinkertaisempaa ja säilyttää suojauksen. Purkaminen on tarkastusta varten, asiakkaalle joka tarvitsee PEM:iä, tai tukitapaukselle joka pyysi tiettyä artefaktia. Jokainen purku poistaa yhden kerroksen, ja sillä pitäisi olla syy.

Julkiset varmenteet eivät sisällä yksityistä avainta, mutta ne sisältävät nimiä ja organisaatiotietoja. Jaa ne kentät, joita tiketti pyysi, tiedoston sijaan, ellei juuri tiedostoa pyydetty.

Aiheeseen liittyvät artikkelit