PKCS12, PEM tàbí DER: Kí ni VPN nílò gan-an
Ìṣùpọ̀ ni ó ń pinnu bóyá ẹ̀rọ rẹ gba ìdánimọ̀ wọlé, kì í ṣe bóyá a gbẹ́kẹ̀lé e. Fi PKCS12, PEM àti DER wé ara wọn, kí o sì yẹ̀wò.
Àwọn ọ̀rọ̀ méjì ń rọ̀ yí ká nínú àwọn ìjíròrò certificate. Èkíní ni pé .p12 ni àṣàyàn tó lágbára, .pem sì ni èyí tí kò lágbára; èkejì ni pé fọ́ọ̀mù ọ̀rọ̀ gbọ́dọ̀ ní ààbò láti fi ránṣẹ́ nítorí pé o lè kà á. Kò sí èyí tí ó dúró fún ìṣẹ́jú kan ìgbéléwò.
PKCS12, PEM àti DER ń ṣàlàyé bí wọ́n ṣe ń ṣùpọ̀ àwọn ohun certificate àti bí wọ́n ṣe ń kóòdù wọn. Wọn kò pinnu ẹni tí ẹnìkejì jẹ́, bóyá a gbẹ́kẹ̀lé olùgbéjáde, tàbí bóyá fọ́ọ̀mù nílò ọ̀rọ̀ ìpamọ́.
Ohun tí ẹ̀rọ gbà ni ìbéèrè ìbáramu. Ohun tí ó wà nínú fọ́ọ̀mù ni ìbéèrè ìdánimọ̀. Ya àwọn méjèèjì sọ́tọ̀, àwọn àṣìṣe ìkóòwọlé púpọ̀ yóò sì jáwọ́ láti jẹ́ àràmọ̀dá.
Àpótí mẹ́ta, àwòṣe ohun kan ṣoṣo
Bẹ̀rẹ̀ pẹ̀lú ohun tí o ní gan-an. Certificate ni ìkéde tí a ti fi ọwọ́ sí lórí kọ́kọ́rọ́ gbangba. Kọ́kọ́rọ́ àdáni jẹ́ ohun èlò ọ̀tọ̀ tí ó fi hàn pé ìwọ ni ó ń darí kọ́kọ́rọ́ yẹn. Ìdìjọ ni àkójọ àwọn olùgbéjáde tí ó so certificate rẹ mọ́ gbòǹgbò tí ẹ̀rọ gbẹ́kẹ̀lé. Àwọn mẹ́tẹ̀ẹ̀ta wà láìka bí a ṣe ṣùpọ̀ wọn.
Fọ́ọ̀mù PKCS12, tí ó sábà máa ń jẹ́ .p12 tàbí .pfx, jẹ́ àpótí tí a ṣàlàyé nínú RFC 7292, tí ó lè gbé kọ́kọ́rọ́ àdáni, certificate kan tàbí jù bẹ́ẹ̀ lọ àti ìdìjọ sínú ìdìpọ̀ kan tí ọ̀rọ̀ ìpamọ́ dáàbò bò, pẹ̀lú orúkọ mìíràn tí ń dárúkọ ìdánimọ̀. Fọ́ọ̀mù PEM jẹ́ ìkọ̀wé ọ̀rọ̀ tí a ṣàlàyé nínú RFC 7468: ara base64 láàárín àwọn ìlà BEGIN àti END, fọ́ọ̀mù kan sì lè gbé ọ̀pọ̀ àkójọ ní tẹ̀léntẹ̀lè. DER jẹ́ kóòdù bínárì ti àwọn ìṣètò ASN.1 kan náà, ara PEM sì jẹ́ DER gan-an tí a fi base64 yí ká.
Gbolohun ìkẹyìn yẹn ni ó yẹ kí a rántí. Yíyí PEM sí DER ń tún ìbòjú kọ, kì í ṣe àkóónú, yíyí padà sì ń dá àwọn báìtì àkọ́kọ́ padà.
| 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 |
Kóòdù kì í ṣe ààbò ìkọ̀kọ̀
Base64 jẹ́ álífábẹ́ẹ̀tì ìgbésẹ̀. Kò fi nǹkan pamọ́, ẹnikẹ́ni sì lè tú kóòdù àkójọ PEM nínú shell. Fọ́ọ̀mù DER jẹ́ bínárì, ó sì ṣe gbangba bákan náà. Kò sí ìwà méjèèjì yẹn tí ó jẹ́ ààbò, bẹ́ẹ̀ ni kò sí èyí tí ó fi hàn pé ọ̀rọ̀ ìpamọ́ wà.
Ààbò gidi wà nínú ohun èlò kọ́kọ́rọ́. Ìdìpọ̀ PKCS12 lè fi kọ́kọ́rọ́ tí a gbà láti ọ̀rọ̀ ìpamọ́ ṣe ààbò àkóónú rẹ̀. A lè fi àkójọ àkọlé àtijọ́ ṣe ààbò kọ́kọ́rọ́ àdáni PEM tàbí kí a gbé e sínú PKCS#8 EncryptedPrivateKeyInfo. Certificate fúnra rẹ̀ kò gbé nǹkan ìkọ̀kọ̀ kankan, ìdí nìyẹn tí export tí ó ṣe certificate nìkan fi ẹ̀rọ sílẹ̀ láìlè fi ìdánimọ̀ hàn, bóyá o fi í sínú ìrísí wo.
Ìmúdéédé jẹ́ ìtọ́nà, kì í ṣe àdéhùn. Àwọn fọ́ọ̀mù tí ó parí pẹ̀lú .cer àti .crt ń farahàn nínú kóòdù méjèèjì, àwọn ẹ̀rọ sì ń export certificate DER lábẹ́ orúkọ .pem lọ́nà tí ó pọ̀ tó bẹ́ẹ̀ tí ìdíwọ̀n láti orúkọ ìparí yóò fi gbà ọ̀sán gbáko. Kà àwọn báìtì àkọ́kọ́ dípò: fọ́ọ̀mù PEM ń bẹ̀rẹ̀ pẹ̀lú ìlà BEGIN, nígbà tí DER ń bẹ̀rẹ̀ pẹ̀lú 0x30 nítorí pé ìṣètò ìta ni SEQUENCE.
Ìdí tí ìkóòwọlé fi ń kùnà gan-an
Àwọn ìfiránṣẹ́ àṣìṣe ẹ̀rọ ń kó ọ̀pọ̀ ìṣòro ọ̀tọ̀ọ̀tọ̀ pọ̀ sínú gbolohun kan nípa certificate tí kò tọ́, nítorí náà ya wọ́n pẹ̀lú ìdí. Èyí tí ó wọ́pọ̀ jù ni àìbáramu kóòdù: ẹ̀rọ tí ń ṣàyẹ̀wò PEM ń dá àṣìṣe ìṣàyẹ̀wò pada lórí fọ́ọ̀mù DER, àtúnṣe sì ni yíyí kì í ṣe certificate tuntun. Èkejì ni kọ́kọ́rọ́ tí ó sọnù, níbi tí certificate dára ṣùgbọ́n a kò lè fi ìdánimọ̀ hàn. Ẹ̀kẹta ni ìdìjọ, níbi tí ìdìpọ̀ tí kò ní àárín rẹ̀ ń dàbí ẹni tí ó tọ́ nínú ibaraẹnisọrọ ìkóòwọlé ṣùgbọ́n ó ń kùnà nígbà ìbàlápọ̀.
Àwọn àwòrán ìpamọ́ ń dá èkẹrin, ó sì dàbí ọ̀rọ̀ ìpamọ́ tí kò tọ́ gan-an. Àwọn ẹ̀rọ àtijọ́ ń export fọ́ọ̀mù PKCS12 pẹ̀lú RC2-40 àti 3DES, tí OpenSSL 3 kọ̀ láìjẹ́ pé a ti gbé olùpèsè àtijọ́. Àtúnṣe tí ó dúró pẹ́ ni láti tún export láti ẹ̀rọ pẹ̀lú AES-256-CBC àti PBKDF2. Fífi àwọn cipher àtijọ́ ṣí sílẹ̀ títí láé lórí ẹ̀rọ ẹnìkan kìkì fún fọ́ọ̀mù kan jẹ́ pàṣípààrọ̀ burú.
Èkàrún ni àìdánimọ̀. Àpótí tí ó ní kọ́kọ́rọ́ méjì àti certificate méjì, tàbí fọ́ọ̀mù PEM tí ó ní àkójọ CERTIFICATE mẹ́ta, ń fipá mú ẹ̀rọ láti yàn, yíyàn rẹ̀ sì sábà jẹ́ ohun àkọ́kọ́. Nígbà tí tunnel bá dìde pẹ̀lú ìdánimọ̀ tí kò tọ́, ìdí náà ni ó sábà jẹ́.
Yẹ̀wò kí o tó yí i padà
Ka ìṣètò náà láìfi àwọn ìkọ̀kọ̀ jáde. openssl pkcs12 -in bundle.p12 -info -noout ń fi àwọn àlùfáà ìpamọ́ àti àwọn orúkọ mìíràn hàn nígbà tí ó ń dènà àbájáde kọ́kọ́rọ́ àti certificate, ìwé ọ̀nà openssl-pkcs12 sì ṣàlàyé àwọn àmì. Yíyọ -noout kúrò àti fífi -nodes kún jẹ́ fún ṣíṣe àwọn fọ́ọ̀mù tí o pinnu láti tọ́jú, kì í ṣe fún wíwò kíákíá, nítorí pé ó ń kọ kọ́kọ́rọ́ àdáni ní gbangba.
Fún certificate, openssl x509 -in cert.pem -noout -subject -issuer -dates ń dáhùn ohun tí ibaraẹnisọrọ ìkóòwọlé kò ní dáhùn, fífi -ext subjectAltName kún sì ń fi àwọn orúkọ tí certificate wúlò fún gan-an hàn. Bí fọ́ọ̀mù bá jẹ́ DER, fi -inform DER kún; àmì kan náà yẹn ń yanjú ọ̀pọ̀ àṣìṣe àìlègbé.
Fífi kọ́kọ́rọ́ bá certificate mu jẹ́ iṣẹ́ ẹ̀rọ, ó sì yẹ kí a ṣe é kí ìkóòwọlé kankan tó ṣẹlẹ̀:
openssl x509 -in cert.pem -noout -pubkey | openssl sha256openssl pkey -in key.pem -pubout | openssl sha256
Àwọn digest tí ó jọra túmọ̀ sí pé àwọn méjèèjì jẹ́ ti ara wọn. Àwọn digest tí ó yàtọ̀ túmọ̀ sí pé kọ́kọ́rọ́ tí kò tọ́ ni o ní, kò sì sí ìyípadà ìrísí tí yóò yí i padà.
Ohun tí ìrísí kì í yí padà
Àwọn ìpinnu ìgbẹ́kẹ̀lé ń ṣẹlẹ̀ lókè àpótí. Ẹ̀rọ ń rìn ìdìjọ dé gbòǹgbò kan nínú ilé ìpamọ́ rẹ̀, ń yẹ̀wò àkókò ìwúlò, ń yẹ̀wò ìlò kọ́kọ́rọ́ gbígbòòrò fún ìjẹ́rìí ẹ̀rọ, ní ẹ̀gbẹ́ server sì ń yẹ̀wò pé orúkọ tí ó pè wà nínú certificate. Kò sí ìgbésẹ̀ kankan nínú wọnnì tí ó ka ìmúdéédé fọ́ọ̀mù.
Ìdí nìyẹn tí yíyí orúkọ fọ́ọ̀mù títí àṣìṣe yóò fi parẹ́ fi jẹ́ ọ̀nà àdánwò láti pàdánù àkókò. Ìkóòwọlé ń ṣẹ́gun, ìdánimọ̀ ṣì jẹ́ àṣìṣe, ìkùnà sì ń tún farahàn nígbà ìbàlápọ̀ níbi tí ìfiránṣẹ́ kò ti ṣe èròjà púpọ̀. Ìdí nìyẹn pẹ̀lú tí ìdìpọ̀ tí a export ní ọdún méjì sẹ́yìn fi ń wọlé dáadáa tí a sì ṣì ń kọ̀ ọ́: ọjọ́ ìparí rin nínú certificate, kì í ṣe nínú orúkọ fọ́ọ̀mù.
Ìtò tí ó ń yẹra fún àtúnṣe
Bèèrè lọ́wọ́ ìwé ẹ̀rọ irú kóòdù tí ó gbà àti irú àpótí tí ó retí fún ìdánimọ̀ ẹ̀rọ, kí o sì wo ohun tí a fún ọ. Bí ẹ̀rọ bá fẹ́ ìdánimọ̀ kan tí a lè kóòwọlé tí ìwọ sì ní àwọn fọ́ọ̀mù PEM ọ̀tọ̀ọ̀tọ̀, kọ́ ìdìpọ̀ náà lẹ́ẹ̀kan pẹ̀lú ọ̀rọ̀ ìpamọ́ tí ìwọ ń darí kí o sì tọ́jú àwọn orísun. Bí ó bá fẹ́ PEM, yọ kọ́kọ́rọ́ àti ìdìjọ jáde, kí o sì pa àwọn fọ́ọ̀mù àárín rẹ̀ nínú lẹ́yìn náà nípasẹ̀ ìlànà ìtọ́jú ẹ̀rí èyíkéyìí tí ẹgbẹ́ rẹ ti ń lò.
Lẹ́yìn ìkóòwọlé, yẹ̀wò ìdánimọ̀ kì í ṣe ibaraẹnisọrọ: àkòrí, olùgbéjáde, ọjọ́ ìparí, àti orúkọ tí ẹ̀rọ yóò gbé jáde. Orúkọ ọ̀rẹ́ nínú àkójọ jẹ́ àmì, kì í ṣe ìdánimọ̀ tí a ti yẹ̀wò. Bí tunnel bá kùnà lẹ́yìn náà, ìjẹ́rìí tàbí ìtọ́nà ni o ń ṣàtúnṣe, kì í ṣe ṣíṣùpọ̀, ìyẹn sì jẹ́ ìjíròrò tí ó kúrú púpọ̀.