Shkronjat në një shpjegim të RSA emërtojnë fusha brenda një objekti, jo skedarë që një mjet PKI shpërndan. Një skedar çelësi privat mban një strukturë, fushat e para të së cilës janë publike dhe fushat e mëvonshme nuk duhet të largohen kurrë nga makina që përfundon tunelin. Midis këtyre dy fakteve qëndrojnë shumica e pyetjeve praktike se cili skedar u përgjigjet cilës pyetje. Ky udhëzues lexon së pari strukturën dhe më pas komandat që e inspektojnë pa e derdhur.

Konfirmoni që çelësi është RSA përpara se të kërkoni numra të thjeshtë

Një certifikatë provon që një çelës ekziston dhe është nënshkruar; nuk provon që çelësi është RSA. Sistemet mund të ndërtohen mbi kurba eliptike ose Ed25519, dhe e njëjta strukturë dosjesh u shërben të gjithëve. Kontrolloni algoritmin përpara se të filloni të kërkoni faktorë të thjeshtë që nuk kanë qenë kurrë atje.

Këto tre komanda vetëm-lexim i përgjigjen pyetjes dhe regjistrojnë versionin e mjetit.

openssl version
openssl x509 -in vpn-client.crt -noout -text
openssl pkey -in vpn-client.key -noout -text

Versioni ka rëndësi sepse emrat e opsioneve janë zhvendosur midis wydanjeve kryesore. Në daljen e certifikatës gjeni rreshtin e algoritmit të çelësit publik dhe madhësinë e çelësit; në daljen e çelësit një çelës RSA printon një modul dhe një eksponent publik. Një çelës i një kurbe eliptike printon në vend të kësaj një kurbë të emërtuar, dhe asnjë kërkim nuk do të nxjerrë prej tij n ose q.

Lexoni strukturën në vend të base64

PEM është base64 i mbështjellë në rreshta koke, dhe dekodimi i tij jep DER, domethënë një strukturë të serializuar dhe jo një numër të plotë gjigant. Çelësat privatë RSA udhëtojnë në dy kontejnerë të zakonshëm, PKCS#1 dhe PKCS#8, dhe të dy zgjidhen në të njëjtin grup numrash.

Në rastin e dy numrave të thjeshtë struktura private mban nëntë fusha: një version, modulin n, eksponentin publik e, eksponentin privat d, numrat e thjeshtë p dhe q, dy eksponentë CRT dhe një koeficient CRT. RFC 8017 pjesa A.1 përcakton ato komponentë dhe paraqitjen ASN.1, dhe lejon edhe më shumë se dy numra të thjeshtë, prandaj një analizues i përgjithshëm mund të printojë zëra shtesë të thjeshtë. Vini re renditjen, sepse shpjegon një gabim të shpeshtë: gjysma publike ruhet brenda skedarit privat, kështu që prania e një fushe publike nuk e bën atë skedar të sigurt për t'u ndarë. Gjithçka pas saj është materiali që duhet të mbetet në host.

Kodimi shton një shtresë që ngatërrohet lehtë me përmbajtjen. openssl asn1parse vizaton strukturën si pemë në mënyrë që renditja e fushave të bëhet e dukshme, dhe nuk dekripton asgjë dhe nuk thotë nëse çelësi është i përdorshëm.

Çiftojeni certifikatën me një çelës pa printuar çelësin

Pyetja që vijon zakonisht është nëse certifikata dhe çelësi i përkasin njëri-tjetrit. Krahasimi i moduleve përgjigjet për këtë, por gjithashtu kopjon material afër privatit në një transkript terminali që mund të përfundojë në një tiketë. Krahasimi i gjysmave publike përgjigjet për të njëjtën pyetje pa asgjë të ndjeshme në ekran.

openssl pkey -in vpn-client.key -pubout -out /tmp/key.pub
openssl x509 -in vpn-client.crt -pubkey -noout > /tmp/cert.pub
cmp /tmp/key.pub /tmp/cert.pub && echo MATCH

Skedarë identikë do të thotë që certifikata mban gjysmën publike të atij çelësi, dhe një ndryshim do të thotë që mban çiftin e gabuar. Pikërisht kjo mospërputhje është shkaku më i zakonshëm i një tuneli që negocion me gëzim dhe më pas refuzon vërtetimin. Më pas hiqni dy skedarët e përkohshëm; nuk mbajnë asgjë sekrete, por një dosje pune e pastër është më e lehtë për t'u menduar në mes të një incidenti.

Dijeni çfarë nuk janë skedarët fqinjë

Certifikata nuk është një çelës publik i kriptuar që pala tjetër e hap me certifikatën e CA; është një lidhje e nënshkruar midis një çelësi publik dhe të dhënave të identitetit. Çelësi privat i nënshkrimit të CA mbetet i ndarë nga certifikata e vet dhe nga çdo çelës klienti. As kërkesa nuk është certifikatë: ajo mban informacionin e kërkuar dhe çelësin publik me një nënshkrim mbi kërkesën, gjë që e bën atë input regjistrimi dhe jo provë të së drejtës.

FileAnswersDoes not prove
vpn-client.keyPossession of the private keyThat the identity is enrolled
vpn-client.crtA signed binding of public key to identityThat the client holds the matching key
vpn-client.csrThe requested binding and public keyThat access was granted
dh2048.pemGroup parameters for key exchangeAny RSA component
crl.pemRevocation status for certificatesAnything about a private key

Dy nga ato zëra ngatërrohen me parametrat e RSA mjaft shpesh sa të quhen dy herë. Një skedar parametrash Diffie-Hellman mban parametra grupi për vendosjen e çelësit dhe asnjë numër të thjeshtë RSA, ndonëse printohet edhe si numër i thjeshtë i madh. Një listë revokimi publikon statusin e certifikatave dhe nuk është vend ku një eksponent privat mund të fshihej.

Prandaj çdo rresht inventari duhet të regjistrojë katër gjëra: llojin e objektit, pronarin, qëllimin dhe nëse përfshihet material privat. Kolona e fundit vendos ku skedari mund të kopjohet, dhe është pikërisht ajo që njerëzit anashkalojnë.

Regjistroni çiftimin dhe më pas verifikoni shtrëngimin e duarve

Përpara se të ndryshoni ndonjë gjë, ruani daljen e verifikimit me datën dhe versionin e OpenSSL. Një rotacion i mëvonshëm mund të krahasohet atëherë me prova dhe jo me kujtesë.

openssl verify -CAfile ca.crt vpn-client.crt
openssl x509 -in vpn-client.crt -noout -subject -issuer -dates

Pas krahasimit të çelësit publik, kaloni rrugën që konsumon çiftin: ngrini tunelin, konfirmoni që certifikata paraqitet dhe pranohet, dhe kontrolloni cilin identitet regjistroi porta. Nëse çelësi dhe certifikata përputhen dhe vërtetimi dështon përsëri, defekti është në besim, në hartëzimin e identitetit ose në politikën e aksesit, e jo në çift.

Për kthimin, mbani çelësin dhe certifikatën e mëparshme në një dosje me datë dhe rikthejini të dyja bashkë, kurrë vetëm njërën prej të dyjave. Një çelës pa certifikatën e vet dhe një certifikatë pa çelësin e vet dështojnë njësoj nga jashtë, gjë që i bën çiftet gjysmë të rikthyer të kushtueshme për t'u zgjidhur në orën dy të mëngjesit.

Artikuj të ngjashëm