Mae'r deialog mewnforio yn cymryd eich cyfrinair, yn troelli am eiliad, ac yna'n dweud na all ddarllen y pecyn. Nid oes dim yn y neges honno yn dweud wrthych a wnaethoch deipio'r cyfrinair yn anghywir ai peidio, nac a gafodd y ffeil ei selio â sifr nad yw'r cleient yn ei chynnwys mwyach. Mae'r rhain yn fethiannau gwahanol â chyweiriadau gwahanol, ac mae dewis yn anghywir yn arwain at israddio'r cleient sy'n gohirio'r penderfyniad yn unig. Mae gwylio'r cam lle mae'r cleient yn stopio yn eu gwahanu mewn tua munud.

Beth sy'n digwydd rhwng y deialog a'r rhestr tystysgrifau

Mae ffeil .p12 yn gynhwysydd, nid yn dystysgrif. Y tu mewn mae un neu fwy o fagiau tystysgrifau a bag allwedd breifat sydd wedi'i amgryptio ag allwedd sy'n deillio o'ch cyfrinair, ynghyd â gwiriad cyfanrwydd o'r enw MAC dros y ffeil gyfan. Mae ei hagor yn golygu gwirio'r MAC hwnnw, dadgryptio'r bag allwedd, a chyfateb y dystysgrif i'r allwedd sy'n dod allan.

Mae trafferth cyfrinair yn cyrraedd y cam MAC. Mae trafferth sifr yn cyrraedd yn hwyrach, pan fo'n rhaid dadlapio'r bag allwedd ac nad oes gan y build sy'n gwneud hynny unrhyw weithrediad o'r algorithm a enwir yn y ffeil.

Mae'r ail achos yn gyffredin ar systemau cyfredol oherwydd bod OpenSSL 3 wedi symud grŵp o algorithmau hen i ddarparwr legacy dewisol. Roedd pecynnau a allforiwyd gan OpenSSL 1.x fel arfer yn selio'r tystysgrifau â RC2 40-did a'r allwedd breifat â Triple DES tri allwedd. Mae build OpenSSL 3 diofyn yn dal i wirio'r MAC gyda'ch cyfrinair cywir ac yna'n methu ar y bag, felly nid oedd y cyfrinair byth yn anghywir ac nid yw ei ail-deipio yn newid dim.

Darllenwch y cynhwysydd heb ysgrifennu allwedd allan

Gofynnwch i'r build OpenSSL ar eich peiriant eich hun ddadansoddi'r ffeil a darllen y pwynt lle mae'n rhoi'r gorau iddi. Mae archwiliad heb ffeil allbwn yn gadael yr allwedd wedi'i hamgryptio ar y disg, a dyna'r unig reswm y mae'r cam hwn yn ddiogel ar westeiwr a rennir.

openssl pkcs12 -in vpn-identity.p12 -info -noout

Ar becyn legacy gyda'r cyfrinair cywir mae hyn yn argraffu nodweddion y bag ac yna'n stopio gyda digital envelope routines::unsupported. Gyda chyfrinair anghywir byddwch yn cael Mac verify error: invalid password? cyn i unrhyw fag gael ei ddarllen. Mae'r ddwy neges yn pwyntio i gyfeiriadau dirgroes, a dyna'n union y wybodaeth a gadwodd y cleient yn ôl.

Os mai'r methiant yw'r un algorithm heb ei gefnogi, rhedegwch yr un gorchymyn eto gyda -legacy wedi'i ychwanegu a dim byd arall wedi newid. Mae'r faner honno yn llwytho'r darparwr legacy ar gyfer y broses honno'n unig. Nid yw'n gwneud i'r cleient VPN ddadansoddi pecynnau hen, nid yw'n cyffwrdd â pholisi crypto system-gyfan, ac mae'n fesuriad yn hytrach na thrwsiad, oherwydd rhaid disodli'r ffeil o hyd.

Pa wall sy'n golygu pa gam

Mae tabl byr yn cadw'r tri chanlyniad ar wahân, ac mae'r geiriad yn bwysicach na lle y daeth y deialog i'r golwg.

Text you seeStageWhat it tells you
Mac verify error: invalid password?Integrity checkPassphrase or cached credential, not the cipher
digital envelope routines::unsupportedBag decryptAlgorithm missing from the default provider
not enough data / header too longContainer formatWrong encoding, edited file, or truncated download

Nid yw testun fel not enough data neu header too long yn perthyn i'r naill na'r llall o'r ddau grŵp cyntaf. Problem fformat yw hon: ffeil DER wedi'i hailenwi'n .pem, copi wedi'i lurgunio gan olygydd a ailysgrifennodd derfynau llinell, neu lawrlwythiad anghyflawn. Cymharwch y swm gwirio â'r un a anfonodd y cyhoeddwr cyn i chi ddechrau edrych ar sifrau.

Triniwch Mac verify error fel tystiolaeth am y cyfrinair yn unig. Mae'n golygu nad yw'r MAC a gyfrifwyd o'r hyn a deipioch yn cyfateb i'r gwerth a storiwyd, sy'n digwydd gyda theipiad gwallus, gyda chyfrinair wedi'i storio o fewnforiad cynharach, neu gyda ffeil a ailallforiwyd o dan gyfrinair gwahanol. Nid yw'n dweud dim am a yw'r algorithmau y tu mewn yn hen.

Adeiladwch becyn y gall y cleient ei agor mewn gwirionedd

Unwaith y bydd y parser legacy yn cadarnhau bod y ffeil yn iawn, yr atgyweiriad parhaus yw disodliad y mae'r cleient targed yn cefnogi ei algorithmau: AES-256-CBC ar gyfer bagiau allwedd a thystysgrifau, PBKDF2 gyda SHA-256 ar gyfer deillio, a SHA-256 ar gyfer y MAC. Gall eich gweinyddwr PKI allforio hynny o'r un deunydd allwedd, ac mae'r dystysgrif y tu mewn yn parhau i fod yr un y mae eich gweinyddwyr eisoes yn ymddiried ynddi.

Pan fo'n rhaid trosi'n lleol, gofynnwch i'r offeryn pkcs12 ail-selio'r bagiau yn lle eu gollwng yn gyntaf. Cadwch y ddau gyfrinair allan o hanes eich plisgyn trwy eu darllen o ffeil.

openssl pkcs12 -in vpn-identity.p12 -out vpn-identity-aes.p12 \
  -keypbe AES-256-CBC -certpbe AES-256-CBC -macalg sha256 \
  -passin file:old.pass -passout file:new.pass

Nid yw trosiad llwyddiannus yn dweud dim am ddod i ben, defnydd allwedd, cyfatebiaeth yr allwedd breifat, nac a yw'r gweinydd yn ymddiried yn y gadwyn gyhoeddi. Mae ailanbeilio yn newid cludo, nid yn adnewyddiad, ac mae pob un o'r rheini yn dal i fod angen ei wiriad ei hun.

Anwybyddwch unrhyw rysáit sy'n ysgrifennu allwedd ganolraddol heb ei hamddiffyn neu gyfrinair allbwn gwag dim ond oherwydd bod y cleient wedyn wedi derbyn y ffeil. Mae pecyn darllenadwy gyda'r amddiffyniad wedi'i dynnu yn ganlyniad gwaeth na'r methiant mewnforio y gwnaethoch ddechrau ag ef.

Cadarnhewch fod y cleient wedi mewngludo'r ffeil a adeiladwyd gennych

Mae dadansoddiad glân mewn terfynell yn profi bod y cynhwysydd yn ddilys. Nid yw'n profi bod y cleient wedi'i ddewis, oherwydd gall proffil sydd dros ben barhau i bwyntio at yr hen ffeil, ac mae rhai cleientiaid yn storio hunaniaeth fewnforiwyd o dan enw na wnaethoch ei ddewis.

Argraffwch yr hunaniaeth rydych ar fin ei mewnforio a'i chymharu â'r hyn y mae'r cleient yn ei ddangos yn ei olwg tystysgrifau.

openssl pkcs12 -in vpn-identity-aes.p12 -clcerts -nokeys -passin file:new.pass \
  | openssl x509 -noout -subject -dates -fingerprint -sha256

Tynnwch y cofnod proffil hen yn gyntaf, yna mewnforiwch. Os yw'r cleient yn cofnodi'r pwnc neu'r ôl-bys sy'n cael ei lwytho, cyfatebwch ef â'r llinell uchod; os mai dim ond enw cyfeillgar a ddangosir, gwiriwch y dyddiad dod i ben yn lle hynny, gan ei fod yn anoddach ei gymysgu â thystysgrif arall o'r un cyhoeddwr.

Mae cyfeirlyfr PKCS12 yn rhestru'r opsiynau darparwr, cyfrinair ac allbwn a ddefnyddir yma. Y pwynt yw cadw'r darparwr legacy allan o amgylchedd y cleient: mesurwch ag ef, cludwch hebddo, a gadewch yr allwedd breifat wedi'i hamddiffyn ar y disg.

Erthyglau cysylltiedig