PKCS12, PEM jew DER: x'għandu bżonn verament klijent VPN
L-ippakkjar jiddeċiedi jekk il-klijent jimportax l-identità, mhux jekk hijiex affidabbli. Qabbel PKCS12, PEM u DER, imbagħad ivverifika.
Fid-diskussjonijiet dwar iċ-ċertifikati jiċċirkolaw żewġ pretensjonijiet. L-ewwel waħda hija li .p12 huwa l-għażla soda u .pem dik laxka; it-tieni hija li fajl tat-test għandu jkun sigur biex jintbagħat għax tista' taqrah. L-ebda waħda ma tiflaħ minuta ta' spezzjoni.
PKCS12, PEM u DER jiddeskrivu kif l-oġġetti taċ-ċertifikat jiġu ppakkjati u kkodifikati. Huma ma jiddeċidux min hu l-ieħor, jekk il-ħarrieġ huwiex affidabbli jew jekk il-fajl jeħtieġx password.
X'jaċċetta l-klijent hija kwistjoni ta' kompatibilità. X'fih il-fajl hija kwistjoni ta' identità. Żommhom separati u l-biċċa l-kbira tal-iżbalji tal-importazzjoni jieqfu jkunu misterjużi.
Tliet kontenituri, mudell wieħed ta' oġġett
Ibda b'dak li verament għandek. Ċertifikat huwa dikjarazzjoni ffirmata dwar ċavetta pubblika. Iċ-ċavetta privata hija materjal separat li jipprova li tikkontrolla dik iċ-ċavetta. Katina hija s-sett ta' ħarrieġa li jgħaqqdu ċ-ċertifikat tiegħek ma' għerq li l-klijent jafdah. It-tlieta jeżistu irrispettivament mill-ippakkjar.
Fajl PKCS12, normalment .p12 jew .pfx, huwa kontenitur definit f'RFC 7292 li jista' jġorr ċavetta privata, ċertifikat wieħed jew aktar u l-katina fi blokka waħda protetta b'password, b'alias li jsemmi l-identità. Fajl PEM huwa qafas tat-test definit f'RFC 7468: korp base64 bejn linji BEGIN u END, u fajl wieħed jista' jżomm diversi blokki wara xulxin. DER huwa l-kodifikazzjoni binarja tal-istess strutturi ASN.1, u l-korp PEM huwa litteralment DER imdawwar b'base64.
Din l-aħħar sentenza tajba li tiftakarha. Il-konverżjoni minn PEM għal DER terġa' tikteb il-qafas, mhux il-kontenut, u l-konverżjoni lura ġġib il-bytes oriġinali.
| Container | Can hold | Does not decide |
|---|---|---|
| PKCS12 (.p12, .pfx) | Key, leaf certificate, chain, alias, password | Which root the client trusts |
| PEM (.pem, .crt, .cer) | Any number of base64 blocks | Whether the private key is present |
| DER (.der, .cer) | One binary structure | The object type, whatever the extension says |
Il-kodifikazzjoni mhijiex encryption
base64 huwa alfabett tat-trasport. Ma jaħbi xejn, u kulħadd jista' jiddekodifika blokka PEM f'shell. Fajl DER huwa binarju u daqstant pubbliku. L-ebda waħda miż-żewġ proprjetajiet mhija protezzjoni, u l-ebda waħda ma timplika li teżisti password.
Il-protezzjoni vera tinsab fil-materjal taċ-ċavetta. Pakkett PKCS12 jista' jencryptja l-kontenut tiegħu taħt ċavetta derivata mill-password. Ċavetta privata PEM tista' tiġi encrypted b'blokka antika tal-intestatura jew tinżamm f'PKCS#8 EncryptedPrivateKeyInfo. Ċertifikat waħdu ma jżomm xejn sigriet, għalhekk esportazzjoni li tat biss ċertifikat tħalli lill-klijent ma jistax jawtentika, tkun xi tkun il-format li twaħħalha fih.
L-estensjoni hija ħjiel, mhix kuntratt. Fajls li jispiċċaw b'.cer u .crt jidhru fiż-żewġ kodifikazzjonijiet, u l-apparati jesportaw ċertifikati DER b'ismijiet .pem spiss biżżejjed biex il-ħjiel mis-suffiss jiswa nofs jum. Aqra l-ewwel bytes minflok: fajl PEM jiftaħ b'linja BEGIN, filwaqt li DER jibda b'0x30 għax l-istruttura ta' barra hija SEQUENCE.
Għaliex l-importazzjoni verament tfalli
Il-messaġġi tal-iżbalji tal-klijent jagħsru diversi problemi differenti f'sentenza waħda dwar ċertifikat invalidu, għalhekk ifredhom skont il-kawża. L-aktar komuni hija nuqqas ta' qbil fil-kodifikazzjoni: klijent li janalizza PEM iġib żball ta' analiżi fuq fajl DER, u s-sewwa hija konverżjoni, mhux ċertifikat ġdid. It-tieni hija ċavetta neqsin, fejn iċ-ċertifikat ikun sew u l-identità ma tistax tiġi ppruvata. It-tielet hija l-katina, fejn pakkett mingħajr iċ-ċertifikat intermedju jidher sew fid-djalogu tal-importazzjoni u jfalli waqt il-handshake.
Il-parametri tal-encryption joħolqu r-raba', u jidher eżattament bħal password ħażina. Apparati eqdem esportaw fajls PKCS12 b'RC2-40 u 3DES, li OpenSSL 3 jirrifjuta sakemm ma jkunx mgħobbi l-provider legacy. Esportazzjoni mill-ġdid mill-apparat b'AES-256-CBC u PBKDF2 hija s-sewwa dejjiema. Li tħalli ċifrari qodma mixgħula b'mod permanenti fuq magna tal-klijent għal fajl wieħed hija skambju ħażin.
Il-ħames hija ambigwità. Kontenitur li jġorr żewġ ċwievet u żewġ ċertifikati, jew fajl PEM bi tliet blokki CERTIFICATE, iġiegħel lill-klijent jagħżel, u l-għażla tiegħu spiss tkun sempliċement l-ewwel element. Meta tunnel jitla' bl-identità ħażina, normalment dik hija r-raġuni.
Spezzjona qabel tikkonverti
Aqra l-istruttura mingħajr ma tipprintja sigrieti. openssl pkcs12 -in bundle.p12 -info -noout jirrapporta l-algoritmi tal-encryption u l-alias filwaqt li jrażżan il-ħruġ taċ-ċavetta u ċ-ċertifikat, u l-manwal ta' openssl-pkcs12 jiddokumenta l-bnadar. Li tneħħi -noout u żżid -nodes huwa biex tipproduċi fajls li beħsiebek iżżomm, mhux għal ħarsa malajr, għax jikteb iċ-ċavetta privata fil-miftuħ.
Għaċ-ċertifikat, openssl x509 -in cert.pem -noout -subject -issuer -dates iwieġeb dak li d-djalogu tal-importazzjoni ma jwieġibx, u billi żżid -ext subjectAltName jidhru l-ismijiet li ċ-ċertifikat verament validu għalihom. Jekk il-fajl huwa DER, żid -inform DER; dak il-bandiera waħda ssolvi l-biċċa l-kbira tal-iżbalji unable-to-load.
Li tqabbel ċavetta ma' ċertifikat huwa mekkaniku, u jiswa li jsir qabel kull importazzjoni:
openssl x509 -in cert.pem -noout -pubkey | openssl sha256openssl pkey -in key.pem -pubout | openssl sha256
Digesti identiċi jfissru li l-par imur flimkien. Digesti differenti jfissru li għandek iċ-ċavetta ħażina, u l-ebda konverżjoni tal-format ma tbiddel dan.
X'qatt ma jbiddel il-format
Id-deċiżjonijiet ta' fiduċja jsiru fuq il-kontenitur. Il-klijent jimxi mal-katina sa għerq fil-maħżen tiegħu, jiċċekkja l-window tal-validità, jiċċekkja l-użu estiż taċ-ċavetta għall-awtentikazzjoni tal-klijent, u fuq in-naħa tas-server jiċċekkja li l-isem li ċempel jidher fiċ-ċertifikat. L-ebda waħda minn dawn il-passi ma taqra estensjoni tal-fajl.
Għalhekk it-tibdil tal-isem ta' fajl sakemm l-iżball jisparixxi hija mod tant affidabbli biex taħli l-ħin. L-importazzjoni tirnexxi, l-identità għadha ħażina, u l-falliment jerġa' jidher waqt il-handshake fejn il-messaġġ inqas utli. Għalhekk ukoll pakkett esportat sentejn ilu jiġi importat nadif u xorta jiġi miċħud: id-data tal-iskadenza vvjaġġat ġewwa ċ-ċertifikat, mhux fl-isem tal-fajl.
Ordni li jevita xogħol mill-ġdid
Staqsi lid-dokumentazzjoni tal-klijent liema kodifikazzjonijiet jaċċetta u liema kontenitur jistenna għal identità tal-klijent, imbagħad ara x'ngħatajt. Jekk il-klijent irid identità waħda importabbli u għandek fajls PEM separati, ibni l-pakkett darba b'password li tikkontrolla u żomm is-sorsi. Jekk irid PEM, iġbed iċ-ċavetta u l-katina, imbagħad neħħi l-fajls intermedji permezz tal-proċess tal-immaniġġjar tal-kredenzjali li t-tim tiegħek diġà juża.
Wara l-importazzjoni, ivverifika l-identità mhux id-djalogu: suġġett, ħarrieġ, skadenza u l-isem li l-klijent se jippreżenta. Isem sħabi f'lista huwa tikketta, mhux identità verifikata. Jekk imbagħad it-tunnel jfalli, tkun qed tinnaviga awtentikazzjoni jew routing minflok ippakkjar, li hija konverżazzjoni ħafna iqsar.