Mae'r tocyn cymorth yn gofyn pa dystysgrif sydd y tu mewn i'r pecyn VPN, a'r rediad cyntaf yw allforio popeth a'i atodi. Mae ffeil P12 yn pecynnu tystysgrifau a deunydd allwedd breifat mewn un cynhwysydd, felly allforio popeth yw'n union yr hyn na ddylech ei anfon. Mae'r gorchymyn sy'n ateb y cwestiwn yn broblem dethol, nid yn broblem trosi. Mae pedwar flag yn penderfynu pa hanner o'r cynhwysydd a gewch, ac mae dau ohonynt yn swnio'n fwy diogel nag ydynt.

Dechreuwch drwy ddarllen y cynhwysydd yn lle ei wagio.

Beth mae ffeil PKCS12 yn ei chario mewn gwirionedd

Mae cynhwysydd PKCS12 yn dal un neu fwy o dystysgrifau, o bosibl allwedd breifat, a message authentication code dros y cynnwys. Gall y tystysgrifau gynnwys y ddalen ar gyfer eich hunaniaeth cleient a'r canolradd sy'n ei gadwyno i CA. Yr allwedd, pan fydd yn bresennol, yw'r hyn sy'n gwneud y ffeil yn gyfrinach yn hytrach na dogfen.

Y gwahaniaeth hwnnw yw'r rheswm pam mae -nokeys yn bodoli a pham mai dyma'r flag sydd ei angen ar y dasg hon.

Darllen y pecyn heb ysgrifennu'r allwedd allan

Mae'r ffurf archwilio yn argraffu manylion strwythur a algorithm ac yn ysgrifennu dim: openssl pkcs12 -in client.p12 -info -noout. Mae'n gofyn am y cyfrinair mewnforio, sef y lle cywir ar gyfer y gwerth hwnnw, ac mae'n dweud wrthych a yw'r ffeil yn cario allwedd o gwbl. Defnyddiwch -passin env:PKCS12_PASS pan na ellir teipio'r cyfrinair, oherwydd mae cyfrinair mewn gorchymyn shell yn gyfrinair yn y rhestr broses. Nid yw'r cam hwn yn allforio dim, a dyna'r pwynt cyfan.

Darllenwch yr allbwn am dri pheth: faint o dystysgrifau, a oes allwedd yn bresennol, a pha algorithmau sy'n ei amddiffyn.

Defnyddiwch -nokeys, a pheidiwch â'i gamgymryd â -nocerts

-nokeys yn eithrio allweddi preifat ac yn gadael y tystysgrifau. Mae -clcerts yn culhau hynny i dystysgrifau cleient, mae -cacerts yn ei gulhau i dystysgrifau CA, ac mae'r ddau hynny'n hidlwyr yn hytrach nag yn ddulliau amgen. Mae -nocerts yn darllen fel sillafiad diogel yr un syniad ac yn golygu'r gwrthwyneb: dim tystysgrifau, sy'n gadael allweddi yn unig. Mae ei gymysgu i mewn i allforiad tystysgrifau fel y mae allwedd breifat yn gorffen ar y disg.

Y ffurf dwy linell sy'n cynhyrchu ffeil tystysgrifau a ffeil CA, a dim byd arall, yw:

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

Mae pecynnau legacy angen -legacy ar OpenSSL 3 i ddarllen eu hamgryptiad hŷn, ac mae'r flag honno'n newid yr hyn y mae'r parser yn ei dderbyn, nid yr hyn y mae'n ei allyrru. Os yw'r parsio'n methu â gwall am algorithm heb ei gefnogi, ychwanegu -legacy yw'r cam cyntaf cywir, ac nid yw hepgor y gwiriad MAC.

Gwiriwch yr allbwn, nid y cod gadael

Mae statws gadael o sero yn dweud bod y gorchymyn wedi rhedeg, nid bod y ffeil yn cynnwys yr hyn rydych chi'n ei ddisgwyl. Cyfrifwch y tystysgrifau yn yr allbwn a darllenwch y pwnc a'r dyddiadau: openssl x509 -in client-certificates.pem -noout -subject -dates -fingerprint. Cymharwch yr ôl-bysedd â'r un y mae'r tîm cymorth yn ei ddisgwyl, oherwydd mae pecyn sy'n dal dau dystysgrif cleient yn cynhyrchu ffeil â dau floc ac mae'r rhan fwyaf o offer yn darllen y cyntaf yn unig. Mae pwrpas, ymddiriedaeth a chydweddiad allwedd eto'n brofion ar wahân.

Mae tystysgrif sy'n parsio yn dystysgrif sy'n parsio. Nid yw'n dystysgrif y mae'r VPN yn ei derbyn.

Penderfynwch a oes angen ffeiliau arnoch o gwbl

Os yw'r cleient sy'n derbyn yn mewnforio PKCS12 yn uniongyrchol, mae anfon y pecyn gwreiddiol drwy sianel gymeradwy gyda'r cyfrinair wedi'i gadw ar wahân yn symlach ac yn cadw'r amddiffyniad. Mae echdynnu ar gyfer archwilio, ar gyfer cleient sydd angen PEM, neu ar gyfer achos cymorth a ofynnodd am arteffact penodol. Mae pob echdynnu'n tynnu un haen ac fe ddylai fod ganddo reswm.

Nid yw tystysgrifau cyhoeddus yn cynnwys yr allwedd breifat, ond maent yn cynnwys enwau a manylion sefydliad. Rhannwch y meysydd y gofynnodd y tocyn amdanynt yn hytrach na'r ffeil, oni bai mai'r ffeil oedd yr hyn a ofynnwyd amdano.

Erthyglau cysylltiedig