Системд хэрэглэгчдийг бүртгэх, зөвшөөрөл олгоход Rutoken технологийг ашиглаж байсан туршлагатай (3-р хэсэг)

Сайн өдөр!

Өмнөх хэсэгт Бид өөрсдийн гэрчилгээжүүлэх төвөө амжилттай байгууллаа. Энэ нь бидний зорилгод хэрхэн ашигтай байж болох вэ?

Орон нутгийн баталгаажуулалтын байгууллагыг ашиглан бид гэрчилгээ олгохоос гадна эдгээр гэрчилгээн дээрх гарын үсгийг баталгаажуулах боломжтой.

Хэрэглэгчид гэрчилгээ олгохдоо баталгаажуулалтын байгууллага нь ".csr" файлын форматтай Pkcs#10 гэрчилгээ олгох тусгай хүсэлтийг ашигладаг. Энэ хүсэлт нь баталгаажуулалтын байгууллага хэрхэн зөв задлан шинжлэхийг мэддэг кодлогдсон дарааллыг агуулдаг. Хүсэлт нь хэрэглэгчийн нийтийн түлхүүр болон гэрчилгээ үүсгэх өгөгдлийг (хэрэглэгчийн талаарх мэдээлэл бүхий ассоциатив массив) хоёуланг нь агуулна.

Бид дараагийн өгүүллээр гэрчилгээ авах хүсэлтийг хэрхэн хүлээж авах талаар авч үзэх бөгөөд энэ нийтлэлд би баталгаажуулалтын байгууллагын үндсэн тушаалуудыг өгөхийг хүсч байна, энэ нь арын талд бидний ажлыг дуусгахад туслах болно.

Тиймээс бид эхлээд гэрчилгээ үүсгэх ёстой. Үүнийг хийхийн тулд бид дараах тушаалыг ашиглана.

openssl ca -batch -in user.csr -out user.crt

ca нь баталгаажуулалтын байгууллагатай холбоотой openSSL тушаал юм.
-багц - гэрчилгээ үүсгэх үед баталгаажуулах хүсэлтийг цуцална.
user.csr — гэрчилгээ үүсгэх хүсэлт (.csr форматтай файл).
user.crt - гэрчилгээ (командын үр дүн).

Энэ тушаалыг ажиллуулахын тулд баталгаажуулалтын байгууллагыг яг тайлбарласны дагуу тохируулсан байх ёстой нийтлэлийн өмнөх хэсэгт. Үгүй бол та баталгаажуулалтын байгууллагын эх гэрчилгээний байршлыг нэмж зааж өгөх шаардлагатай болно.

Сертификат баталгаажуулах тушаал:

openssl cms -verify -in authenticate.cms -inform PEM -CAfile /Users/……/demoCA/ca.crt -out data.file

cms нь openSSL ашиглан өгөгдөлд гарын үсэг зурах, баталгаажуулах, шифрлэх болон бусад криптографийн үйлдлүүдэд ашиглагддаг openSSL команд юм.

-шалгах - энэ тохиолдолд бид гэрчилгээг баталгаажуулна.

authenticate.cms - өмнөх тушаалаар олгосон гэрчилгээгээр гарын үсэг зурсан өгөгдлийг агуулсан файл.

-inform PEM - PEM форматыг ашигладаг.

-CAfile /Users/……/demoCA/ca.crt - эх сертификат руу очих зам. (үүнгүйгээр энэ тушаал надад ажиллахгүй байсан ч ca.crt руу орох замыг openssl.cfg файлд бичсэн байсан)

-out data.file — Би шифрлэгдсэн өгөгдлийг data.file файл руу илгээдэг.

Ар талд нь баталгаажуулалтын байгууллагыг ашиглах алгоритм нь дараах байдалтай байна.

  • Хэрэглэгчийн бүртгэл:
    1. Бид гэрчилгээ үүсгэх хүсэлтийг хүлээн авч, үүнийг user.csr файлд хадгалах болно.
    2. Бид энэ өгүүллийн эхний командыг .bat эсвэл .cmd өргөтгөлтэй файлд хадгалдаг. Бид өмнө нь user.csr файлд гэрчилгээ үүсгэх хүсэлтийг хадгалсан тул энэ файлыг кодоос ажиллуулж байна. Бид user.crt сертификаттай файлыг хүлээн авдаг.
    3. Бид user.crt файлыг уншиж, үйлчлүүлэгч рүү илгээдэг.

  • Хэрэглэгчийн зөвшөөрөл:
    1. Бид үйлчлүүлэгчээс гарын үсэг зурсан өгөгдлийг хүлээн авч, authenticate.cms файлд хадгалдаг.
    2. Энэ нийтлэлийн хоёр дахь командыг .bat эсвэл .cmd өргөтгөлтэй файлд хадгална уу. Бид өмнө нь серверээс гарын үсэг зурсан өгөгдлийг authenticate.cms-д хадгалсны дараа энэ файлыг кодоос ажиллуулж байна. Бид шифрлэгдсэн өгөгдөлтэй файл хүлээн авдаг.file.
    3. Бид data.file-г уншиж, энэ өгөгдлийг хүчинтэй эсэхийг шалгана. Яг юу шалгахыг тайлбарласан байгаа эхний нийтлэлд. Хэрэв өгөгдөл хүчинтэй бол хэрэглэгчийн зөвшөөрлийг амжилттай гэж үзнэ.

Эдгээр алгоритмуудыг хэрэгжүүлэхийн тулд та backend бичихэд ашигладаг аливаа програмчлалын хэлийг ашиглаж болно.

Дараагийн өгүүллээр бид Retoken залгаастай хэрхэн ажиллах талаар авч үзэх болно.

Таны анхаарлын төвд баярлалаа!

Эх сурвалж: www.habr.com

сэтгэгдэл нэмэх