Хуучин P12 файл OpenSSL 3 дээр нээгдэхгүй байна: нууц үг буруу юу, эсвэл хуучин шифр үү?
Буруу бичсэн нууц үгийг OpenSSL 3 задлахгүй байгаа хуучин RC2 багцаас ялгаж, түлхүүрийн хамгаалалтыг арилгахгүйгээр файлыг дахин битүүмжлээрэй.
Импортын диалог нууц үгийг авч, хэсэг зуур эргэлдээд, багцыг уншиж чадахгүй гэж мэдэгдэнэ. Тухайн мэдэгдэлд нууц үгийг буруу бичсэн үү, эсвэл файлыг клиент цаашид нийлүүлэхгүй шифрээр битүүмжилсэн үү гэдгийг юу ч хэлэхгүй. Эдгээр нь өөр өөр алдаа, өөр өөр засвартай бөгөөд буруу сонголт нь клиентийн хувилбарыг буулгаж, шийдвэрийг зөвхөн хойшлуулна. Клиент хаана зогсож байгааг ажиглах нь тэдгээрийг ойролцоогоор нэг минутад ялгана.
Диалог болон сертификатын жагсаалтын хооронд юу болдог
.p12 файл нь контейнер, сертификат биш. Дотор нь нэг буюу хэд хэдэн сертификатын уут, таны нууц үгнээс гаргасан түлхүүрээр шифрлэгдсэн хувийн түлхүүрийн уут, мөн бүх файлын дээгүүр MAC хэмээх бүрэн бүтэн байдлын шалгалт байна. Үүнийг нээх гэдэг нь тэр MAC-ыг шалгах, түлхүүрийн уутыг тайлах, сертификатыг гарч ирэх түлхүүртэй тааруулахыг хэлнэ.
Нууц үгийн асуудал MAC шатанд гарна. Шифрийн асуудал дараа нь, түлхүүрийн уутыг задлах шаардлагатай үед, мөн залдаг бүтээцэд файлд нэрлэсэн алгоритмын хэрэгжүүлэлт байхгүй үед гарна.
Хоёр дахь тохиолдол орчин үеийн системд түгээмэл, учир нь OpenSSL 3 хуучин алгоритмын бүлгийг нэмэлт legacy provider руу зөөсөн. OpenSSL 1.x-ээс экспортолсон багцууд сертификатуудыг 40 битийн RC2, хувийн түлхүүрийг гурван түлхүүрт Triple DES-ээр битүүмжилдэг байсан. Анхдагч OpenSSL 3 бүтээц зөв нууц үгээр MAC-ыг шалгаад дараа нь уут дээр бүтэлгүйтдэг, тиймээс нууц үг хэзээ ч буруу байгаагүй бөгөөд дахин бичих нь юу ч өөрчлөхгүй.
Түлхүүрийг гаргаж бичихгүйгээр контейнерыг унших
Өөрийн машины OpenSSL бүтээцэд файлыг задлан шинжилж, хаана бууж өгч байгааг уншихыг хүс. Гаралтын файлгүй шалгалт түлхүүрийг диск дээр шифрлэгдсэн хэвээр үлдээдэг бөгөөд энэ алхмыг хуваалцсан хост дээр аюулгүй хийх цорын ганц шалтгаан нь энэ.
openssl pkcs12 -in vpn-identity.p12 -info -nooutЗөв нууц үгтэй хуучин багцад энэ нь уутны шинж чанаруудыг хэвлээд дараа нь digital envelope routines::unsupported-той зогсдог. Буруу нууц үгээр аль ч уут уншигдахаас өмнө Mac verify error: invalid password? гарна. Хоёр зурвас эсрэг чиглэл рүү заадаг бөгөөд клиент нууцалсан мэдээлэл яг энэ.
Хэрэв алдаа нь дэмжигдээгүй алгоритмынх бол ижил командыг -legacy нэмж, өөр юу ч өөрчлөхгүйгээр дахин ажиллуул. Тэр туг legacy provider-ыг зөвхөн тэр нэг процессорт ачаална. Энэ нь VPN клиентийг хуучин багц задлан шинжлэхэд хүргэхгүй, системийн крипто бодлогыг хөндөхгүй бөгөөд файлыг орлуулах шаардлагатай хэвээр байгаа тул засвар биш, хэмжилт юм.
Аль алдаа аль үе шат вэ
Богино хүснэгт гурван үр дүнг ялгаж өгдөг бөгөөд диалог хаана гарсан нь биш, үг хэллэг нь илүү чухал.
| Text you see | Stage | What it tells you |
|---|---|---|
Mac verify error: invalid password? | Integrity check | Passphrase or cached credential, not the cipher |
digital envelope routines::unsupported | Bag decrypt | Algorithm missing from the default provider |
not enough data / header too long | Container format | Wrong encoding, edited file, or truncated download |
not enough data эсвэл header too long гэх мэт текст эхний хоёр бүлгийн аль нэгэнд ч хамаарахгүй. Энэ бол форматны асуудал: .pem гэж нэр сольсон DER файл, мөрийн төгсгөлийг дахин бичсэн редактороос эвдэрсэн хуулбар, эсвэл дутуу татсан файл. Шифрүүдийг харахаас өмнө олгогчийн илгээсэн шалгах нийлбэртэй харьцуул.
Mac verify error-ийг зөвхөн нууц үгийн талаарх нотолгоо гэж үз. Энэ нь таны бичсэнээс тооцсон MAC хадгалсан утгатай таарахгүй байгааг илэрхийлнэ, ийм зүйл бичгийн алдаа, өмнөх импортоос кэшлэгдсэн нууц үг, эсвэл өөр нууц үгээр дахин экспортолсон файлаас болдог. Доторх алгоритмууд хуучин эсэх талаар юу ч хэлэхгүй.
Клиент үнэхээр нээж чадах багц бүтээх
legacy задлагч файл бүрэн бүтэн гэдгийг баталсны дараа, байнгын шийдэл нь зорилтот клиент дэмждэг алгоритмтай орлуулагч юм: түлхүүр болон сертификатын уутанд AES-256-CBC, гаргалтад SHA-256 бүхий PBKDF2, MAC-д SHA-256. Таны PKI администратор үүнийг ижил түлхүүрийн материалаас экспортолж чадна, доторх сертификат нь серверүүд тань аль хэдийн итгэдэг сертификат хэвээр үлдэнэ.
Локалд хөрвүүлэх шаардлагатай бол pkcs12 хэрэгслээс уутыг эхлээд асгах биш, дахин битүүмжлэхийг хүс. Хоёр нууц үгийг файлаас уншиж, shell-ийн түүхээс гарга.
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Амжилттай хөрвүүлэлт нь хугацаа дуусах, түлхүүрийн зориулалт, хувийн түлхүүрийн тохирол, эсвэл сервер олгогчийн гинжид итгэдэг эсэх талаар юу ч хэлэхгүй. Дахин баглах нь тээврийн өөрчлөлт, шинэчлэл биш бөгөөд тэдгээр тус бүр өөрийн шалгалтыг шаарддаг.
Клиент файлыг хүлээж авсан гэдэг шалтгаанаар хамгаалалтгүй завсрын түлхүүр бичдэг эсвэл гаралтын нууц үгийг хоосон үлдээдэг аливаа жорыг алгас. Хамгаалалтыг нь авсан уншигдахуйц багц нь таны эхэлсэн импортын алдаанаас ч дор үр дүн.
Клиент таны бүтээсэн файлыг импортолсныг шалгах
Терминал дахь цэвэр задлалт контейнер хүчинтэй гэдгийг нотолно. Клиент үүнийг сонгосон гэдгийг нотлохгүй, учир нь үлдсэн профайл хуучин файл руу заасаар байж болох бөгөөд зарим клиент импортолсон таних мэдээллийг таны сонгоогүй нэрээр кэшлэдэг.
Импортлох гэж буй таних мэдээллийг хэвлэж, клиентийн сертификатын харагдацад харуулж буйтай харьцуул.
openssl pkcs12 -in vpn-identity-aes.p12 -clcerts -nokeys -passin file:new.pass \
| openssl x509 -noout -subject -dates -fingerprint -sha256Эхлээд хуучирсан профайлын бичлэгийг устга, дараа нь импортол. Клиент ачаалсан субъект эсвэл хурууны хээг бүртгэдэг бол дээрх мөртэй тааруул; зөвхөн найрсаг нэр харуулж байвал оронд нь дуусах хугацааг шалга, учир нь үүнийг мөн олгогчийн өөр сертификаттай андуурахад хэцүү.
PKCS12 лавлагаа энд ашигласан provider, нууц үг, гаралтын сонголтуудыг жагсаав. legacy provider-ыг клиентийн орчноос гадуур байлгах нь гол зүйл: түүгээр хэмж, түүнгүйгээр нийлүүл, хувийн түлхүүрийг дискэн дээр хамгаалагдсан үлдээ.