De sertifikaten út in P12 eksportearje sûnder de priveesleutel
In PKCS12-bondel befettet sleutels en sertifikaten tegearre. Lês earst de struktuer en selektearje sertifikaten dan mei -nokeys ynstee fan de beskerming te ferwiderjen.
It supportticket freget hokker sertifikaat yn 'e VPN-bondel sit, en de earste ympuls is alles te eksportearjen en ta te foegjen. In P12-bestân ferpakt sertifikaten en priveesleutelmateriaal yn ien kontener, dus alles eksportearje is krekt wat jo net ferstjoere wolle. It kommando dat de fraach beantwurdet is in seleksjeprobleem, gjin konverzjeprobleem. Fjouwer flags bepale hokker helte fan 'e kontener jo krije, en twa dêrfan klinke feiliger as se binne.
Begjin mei de kontener te lêzen ynstee fan him leeg te meitsjen.
Wat in PKCS12-bestân eins befettet
In PKCS12-kontener befettet ien of mear sertifikaten, mooglik in priveesleutel en in message authentication code oer de ynhâld. De sertifikaten kinne it leaf-sertifikaat foar jo kliïntidentiteit befetsje en de tuskenlizzende sertifikaten dy't it oan in CA keatse. De sleutel, as dy oanwêzich is, is wat it bestân in geheim makket ynstee fan in dokumint.
Dat ûnderskie is wêrom -nokeys bestiet en wêrom it de flag is dy't dizze taak nedich hat.
De bondel lêze sûnder de sleutel út te skriuwen
De ynspeksjefoarm print struktuer- en algoritmedetails en skriuwt neat: openssl pkcs12 -in client.p12 -info -noout. It freget om it ymportwachtwurd, dat is it juste plak foar dy wearde, en it fertelt jo oft it bestân oeral in sleutel befettet. Brûk -passin env:PKCS12_PASS as it wachtwurd net yntype wurde kin, want in wachtwurd yn in shell-kommando is in wachtwurd yn 'e prosesslist. Dizze stap eksportearret neat, en dat is krekt it punt.
Lês de útfier foar trije dingen: hoefolle sertifikaten, oft in sleutel oanwêzich is en hokker algoritmen him beskermje.
Brûk -nokeys en ferwikselje it net mei -nocerts
-nokeys slút priveesleutels út en lit de sertifikaten stean. -clcerts beheint dat ta kliïntsertifikaten, -cacerts beheint it ta CA-sertifikaten, en dy twa binne filters ynstee fan alternativen. -nocerts lêst as de feilige stavering fan itselde idee en betsjut it tsjinoerstelde: gjin sertifikaten, wat allinnich sleutels oerlitte. It yn in sertifikaateksport mingen is hoe't in priveesleutel op 'e skiif bedarret.
De foarm fan twa rigels dy't in sertifikaatbestân en in CA-bestân oplevert, en neat oars, is:
openssl pkcs12 -in client.p12 -nokeys -clcerts -out client-certificates.pem
openssl pkcs12 -in client.p12 -nokeys -cacerts -out ca-certificates.pemLegacy-bondels hawwe -legacy nedich op OpenSSL 3 om har âldere fersifering te lêzen, en dy flag feroaret wat de parser akseptearret, net wat er útfiert. As it parsen mislearret mei in flater oer in net-stipe algoritme, is -legacy tafoegje de juste earste stap en it oerslaan fan 'e MAC-kontrôle net.
Kontrolearje de útfier, net de exitkoade
In exitstatus fan nul seit dat it kommando rûn, net dat it bestân befettet wat jo ferwachtsje. Tel de sertifikaten yn 'e útfier en lês it subject en de datums: openssl x509 -in client-certificates.pem -noout -subject -dates -fingerprint. Fergelykje de fingerprint mei dy't it supportteam ferwachtet, want in bondel mei twa kliïntsertifikaten leveret in bestân mei twa blokken op en de measte ark lêze allinnich it earste. Doel, fertrouwen en sleuteloerienkomst binne wer aparte tests.
In sertifikaat dat te parsen is, is in sertifikaat dat te parsen is. It is gjin sertifikaat dat de VPN akseptearret.
Beslis oft jo eins bestannen nedich hawwe
As de ûntfangende kliïnt PKCS12 direkt ymportearret, is it stjoeren fan 'e orizjinele bondel fia in goedkard kanaal mei it wachtwurd apart ienfâldiger en bliuwt de beskerming behâlden. Ekstraksje is foar ynspeksje, foar in kliïnt dy't PEM nedich hat of foar in supportgefal dat om in spesifyk artefakt frege. Eltse ekstraksje ferwideret in laach en soe in reden hawwe moatte.
Iepenbiere sertifikaten befetsje net de priveesleutel, mar se befetsje nammen en organisaasjedetails. Diel de fjilden dy't it ticket frege ynstee fan it bestân, útsein as it bestân krekt is oanfrege.