El tiquet de suport pregunta quin certificat hi ha dins del paquet VPN, i el primer impuls és exportar-ho tot i adjuntar-ho. Un fitxer P12 empaqueta certificats i material de clau privada en un sol contenidor, així que exportar-ho tot és precisament el que no hauríeu d'enviar. L'ordre que respon la pregunta és un problema de selecció, no de conversió. Quatre opcions decideixen quina meitat del contenidor obteniu, i dues d'elles sonen més segures del que són.

Comenceu llegint el contenidor en lloc de buidar-lo.

Què conté realment un fitxer PKCS12

Un contenidor PKCS12 conté un o més certificats, possiblement una clau privada i un message authentication code sobre el contingut. Els certificats poden incloure el certificat fulla de la vostra identitat de client i els intermediaris que l'encadenen a una CA. La clau, quan hi és, és el que fa del fitxer un secret en lloc d'un document.

Aquesta distinció és la raó per la qual existeix -nokeys i per la qual és l'opció que necessita aquesta tasca.

Llegir el paquet sense escriure la clau

La forma d'inspecció imprimeix l'estructura i els detalls dels algorismes i no escriu res: openssl pkcs12 -in client.p12 -info -noout. Demana la contrasenya d'importació, que és el lloc correcte per a aquest valor, i us diu si el fitxer conté cap clau. Feu servir -passin env:PKCS12_PASS quan la contrasenya no es pot teclejar, perquè una contrasenya dins d'una ordre d'intèrpret és una contrasenya a la llista de processos. Aquest pas no exporta res, i aquest és tot el punt.

Llegiu la sortida per a tres coses: quants certificats hi ha, si hi ha una clau present i quins algorismes la protegeixen.

Feu servir -nokeys i no el confongueu amb -nocerts

-nokeys exclou les claus privades i deixa els certificats. -clcerts ho restringeix als certificats de client, -cacerts ho restringeix als certificats de CA, i aquests dos són filtres en lloc d'alternatives. -nocerts es llegeix com la grafia segura de la mateixa idea i significa el contrari: cap certificat, cosa que només deixa claus. Barrejar-lo en una exportació de certificats és com una clau privada acaba al disc.

La forma de dues línies que produeix un fitxer de certificats i un fitxer de CA, i res més, és:

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

Els paquets heredats necessiten -legacy a OpenSSL 3 per llegir el seu xifratge més antic, i aquesta opció canvia el que accepta l'analitzador, no el que emet. Si l'anàlisi falla amb un error d'algorisme no suportat, afegir -legacy és el primer moviment correcte i saltar-se la comprovació del MAC no ho és.

Comproveu la sortida, no el codi de sortida

Un estat de sortida zero diu que l'ordre s'ha executat, no que el fitxer contingui el que espereu. Compteu els certificats a la sortida i llegiu el subjecte i les dates: openssl x509 -in client-certificates.pem -noout -subject -dates -fingerprint. Compareu l'empremta amb la que espera l'equip de suport, perquè un paquet amb dos certificats de client produeix un fitxer amb dos blocs i la majoria d'eines només llegeixen el primer. Propòsit, confiança i correspondència de clau són de nou proves separades.

Un certificat que s'analitza és un certificat que s'analitza. No és un certificat que el VPN accepti.

Decidiu si us calen fitxers

Si el client receptor importa PKCS12 directament, enviar el paquet original per un canal aprovat amb la contrasenya a part és més senzill i preserva la protecció. L'extracció és per a la inspecció, per a un client que necessita PEM o per a un cas de suport que va demanar un artefacte concret. Cada extracció elimina una capa i hauria de tenir un motiu.

Els certificats públics no contenen la clau privada, però sí que contenen noms i detalls de l'organització. Compartiu els camps que va demanar el tiquet en lloc del fitxer, tret que el fitxer sigui el que es va demanar.

Articles relacionats