Herufi katika maelezo ya RSA zinataja sehemu zilizo ndani ya kitu kimoja, si faili ambazo zana ya PKI inatoa. Faili ya ufunguo wa faragha ina muundo ambao sehemu zake za kwanza ni za umma na sehemu zake za baadaye hazipaswi kamwe kuondoka kwenye mashine inayomaliza handaki. Kati ya ukweli huu miwili kuna sehemu kubwa ya maswali ya kiutendaji kuhusu faili gani inajibu swali gani. Mwongozo huu unasoma muundo kwanza, kisha amri zinazouchunguza bila kuumwaga.

Hakikisha ufunguo ni RSA kabla ya kutafuta namba tasa

Cheti kinathibitisha kwamba ufunguo fulani upo na ulitiwa sahihi; hakithibitishi kwamba ufunguo ni RSA. Mifumo inaweza kujengwa juu ya mikunjo duara au Ed25519, na mpangilio huo huo wa folda unawahudumia wote. Kagua algoriti kabla ya kuanza kutafuta vipengele tasa ambavyo havikuwahi kuwepo.

Amri hizi tatu za kusoma tu zinajibu swali na kurekodi toleo la zana.

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

Toleo ni muhimu kwa sababu majina ya chaguo yamehama kati ya matoleo makuu. Katika matokeo ya cheti tafuta mstari wa algoriti ya ufunguo wa umma na ukubwa wa ufunguo; katika matokeo ya ufunguo ufunguo wa RSA huchapisha moduli na kipeo cha umma. Ufunguo wa mkunjo duara huchapisha badala yake mkunjo wenye jina, na hakuna utafutaji utakaozalisha n au q kutoka kwake.

Soma muundo badala ya base64

PEM ni base64 iliyofunikwa katika mistari ya kichwa, na kuifasiri hutoa DER, yaani muundo uliopangwa kwa mfuatano na si namba moja kubwa. Funguo za faragha za RSA husafiri katika vyombo viwili vya kawaida, PKCS#1 na PKCS#8, na vyote viwili hutatuliwa kwenye seti moja ya namba.

Kwa namba tasa mbili muundo wa faragha hubeba sehemu tisa: toleo, moduli n, kipeo cha umma e, kipeo cha faragha d, namba tasa p na q, vipeo viwili vya CRT na mgawo mmoja wa CRT. RFC 8017 sehemu A.1 inafafanua vipengele hivyo na mpangilio wa ASN.1, na inaruhusu zaidi ya namba tasa mbili, ndiyo sababu kichanganuzi cha jumla kinaweza kuchapisha maingizo ya ziada ya namba tasa. Angalia mpangilio, kwa sababu unafafanua kosa la kawaida: nusu ya umma huhifadhiwa ndani ya faili ya faragha, hivyo uwepo wa sehemu ya umma haufanyi faili hiyo kuwa salama kushirikiwa. Kila kitu kinachofuata ni nyenzo ambayo lazima ibaki kwenye mwenyeji.

Usimbaji huongeza tabaka ambalo ni rahisi kuchanganya na maudhui. openssl asn1parse huchora muundo kama mti ili mpangilio wa sehemu uonekane, na haifichi chochote wala haisemi kama ufunguo unaweza kutumika.

Unganisha cheti na ufunguo bila kuchapisha ufunguo

Swali linalofuata kwa kawaida ni kama cheti na ufunguo vinahusiana. Kulinganisha moduli hujibu hilo, lakini pia hunakili nyenzo zilizo karibu na za faragha kwenye nakala ya terminal ambayo inaweza kuishia kwenye tiketi. Kulinganisha nusu za umma hujibu swali lilelile bila kitu chochote nyeti kwenye skrini.

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

Faili zinazofanana zinamaanisha cheti hubeba nusu ya umma ya ufunguo huo, na tofauti inamaanisha umeshika jozi isiyo sahihi. Ukosefu huo wa uwiano ndio sababu ya kawaida ya handaki linalojadiliana kwa furaha kisha kukataa uthibitishaji. Kisha ondoa faili mbili za muda; hazina kitu cha siri, lakini folda safi ya kazi ni rahisi kufikiria katikati ya tukio.

Jua faili jirani hazikoje

Cheti si ufunguo wa umma uliosimbwa ambao upande wa pili hufungua kwa cheti cha CA; ni kiungo kilichotiwa sahihi kati ya ufunguo wa umma na data ya utambulisho. Ufunguo wa siri wa kutia sahihi wa CA unabaki tofauti na cheti chake na kila ufunguo wa mteja. Ombi pia si cheti: hubeba taarifa iliyoombwa na ufunguo wa umma pamoja na sahihi juu ya ombi, jambo linalolifanya liwe ingizo la usajili na si uthibitisho wa haki.

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

Mawili ya maingizo hayo huchanganywa na vigezo vya RSA mara nyingi vya kutosha kupewa jina mara mbili. Faili ya vigezo vya Diffie-Hellman hubeba vigezo vya kundi kwa ajili ya kuanzisha ufunguo na hakuna namba tasa ya RSA, ingawa pia huchapishwa kama namba tasa kubwa. Orodha ya kufuta hu tangaza hali ya vyeti na si mahali ambapo kipeo cha faragha kingejificha.

Kwa hiyo kila mstari wa orodha unapaswa kurekodi mambo manne: aina ya kitu, mmiliki, madhumuni na kama nyenzo za faragha zimejumuishwa. Safu ya mwisho huamua faili inaweza kunakiliwa wapi, na ndiyo ambayo watu huiruka.

Rekodi uunganishaji, kisha thibitisha kupeana mikono

Kabla ya kubadilisha chochote, hifadhi matokeo ya uthibitishaji pamoja na tarehe na toleo la OpenSSL. Kisha mzunguko wa baadaye unaweza kulinganishwa na ushahidi badala ya kumbukumbu.

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

Baada ya kulinganisha ufunguo wa umma, pita njia inayotumia jozi: inua handaki, hakikisha cheti kinawasilishwa na kinakubaliwa, na angalia ni utambulisho gani lango lililorekodi. Ikiwa ufunguo na cheti vinalingana na uthibitishaji bado unashindikana, hitilafu iko katika uaminifu, upangaji wa utambulisho au sera ya ufikiaji, si kwenye jozi.

Kwa kurudi nyuma, weka ufunguo na cheti vya awali katika folda yenye tarehe na urejeshe vyote viwili pamoja, kamwe si kimoja tu. Ufunguo bila cheti chake na cheti bila ufunguo wake hushindikana sawa kutoka nje, jambo linalofanya jozi zilizorejeshwa nusu kuwa ghali kufungua saa mbili usiku.

Makala zinazohusiana