Sistemdə istifadəçilərin qeydiyyatı və avtorizasiyası üçün Rutoken texnologiyasından istifadə təcrübəsi (3-ci hissə)

Gün Yaxşı!

Əvvəlki hissədə Biz öz sertifikatlaşdırma mərkəzimizi uğurla yaratmışıq. Məqsədlərimiz üçün necə faydalı ola bilər?

Yerli sertifikatlaşdırma orqanından istifadə edərək biz sertifikatlar verə və həmçinin bu sertifikatlardakı imzaları yoxlaya bilərik.

İstifadəçiyə sertifikat verərkən, sertifikatlaşdırma orqanı '.csr' fayl formatına malik olan Pkcs#10 xüsusi sertifikat sorğusundan istifadə edir. Bu sorğuda sertifikatlaşdırma orqanının necə düzgün təhlil edəcəyini bildiyi kodlaşdırılmış ardıcıllıq var. Sorğu həm istifadəçinin açıq açarını, həm də sertifikat yaratmaq üçün məlumatları (istifadəçi haqqında məlumatlarla assosiativ massiv) ehtiva edir.

Sertifikat üçün sorğunun necə alınacağına növbəti məqalədə baxacağıq və bu məqalədə mən sertifikatlaşdırma orqanının arxa tərəfdə tapşırığımızı yerinə yetirməyimizə kömək edəcək əsas əmrlərini vermək istəyirəm.

Beləliklə, əvvəlcə sertifikat yaratmalıyıq. Bunu etmək üçün əmrdən istifadə edirik:

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

ca sertifikatlaşdırma orqanına aid olan openSSL əmridir,
-toplu - sertifikat yaradan zaman təsdiq sorğularını ləğv edir.
user.csr — sertifikat yaratmaq üçün sorğu (.csr formatında fayl).
user.crt - sertifikat (komandanın nəticəsi).

Bu əmrin işləməsi üçün sertifikatlaşdırma orqanı tam olaraq təsvir edildiyi kimi konfiqurasiya edilməlidir məqalənin əvvəlki hissəsində. Əks təqdirdə, sertifikatlaşdırma orqanının kök sertifikatının yerini əlavə olaraq göstərməli olacaqsınız.

Sertifikat yoxlama əmri:

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

cms, openSSL istifadə edərək verilənlərin imzalanması, yoxlanması, şifrələnməsi və digər kriptoqrafik əməliyyatlar üçün istifadə edilən openSSL əmridir.

-verify - bu halda biz sertifikatı yoxlayırıq.

authenticate.cms - əvvəlki komanda tərəfindən verilmiş sertifikatla imzalanmış məlumatları ehtiva edən fayl.

-inform PEM - PEM formatından istifadə olunur.

-CAfile /Users/……/demoCA/ca.crt - kök sertifikatına gedən yol. (Bunsuz əmr mənim üçün işləmədi, baxmayaraq ki, ca.crt-ə gedən yollar openssl.cfg faylında yazılmışdı)

-out data.file — Mən şifrəsi açılmış məlumatları data.file faylına göndərirəm.

Arxa tərəfdə sertifikatlaşdırma orqanından istifadə alqoritmi aşağıdakı kimidir:

  • İstifadəçi qeydiyyatı:
    1. Sertifikat yaratmaq və onu user.csr faylında saxlamaq üçün sorğu alırıq.
    2. Bu məqalənin birinci əmrini .bat və ya .cmd uzantılı faylda saxlayırıq. Biz əvvəllər user.csr faylına sertifikat yaratmaq sorğusunu saxlayıb bu faylı koddan işə salırıq. user.crt sertifikatı olan bir fayl alırıq.
    3. user.crt faylını oxuyub müştəriyə göndəririk.

  • İstifadəçi icazəsi:
    1. Biz müştəridən imzalanmış məlumatları alırıq və onu authenticate.cms faylında saxlayırıq.
    2. Bu məqalənin ikinci əmrini .bat və ya .cmd uzantılı faylda saxlayın. Biz əvvəllər serverdən imzalanmış məlumatları authenticate.cms-də saxlayıb bu faylı koddan işlədirik. Biz şifrəsi açılmış data data.file ilə fayl alırıq.
    3. Biz data.file oxuyuruq və bu məlumatların etibarlılığını yoxlayırıq. Tam olaraq nəyi yoxlamaq təsvir edilmişdir birinci məqalədə. Məlumat etibarlıdırsa, istifadəçi avtorizasiyası uğurlu sayılır.

Bu alqoritmləri həyata keçirmək üçün siz backend yazmaq üçün istifadə olunan istənilən proqramlaşdırma dilindən istifadə edə bilərsiniz.

Növbəti məqalədə Retoken plagini ilə necə işləməyə baxacağıq.

Diqqətiniz üçün təşəkkür edirik!

Mənbə: www.habr.com

Добавить комментарий