Sperto pri uzado de Rutoken-teknologio por registri kaj rajtigi uzantojn en la sistemo (parto 3)

Bonan tagon!

En la antaŭa parto Ni sukcese kreis nian propran atestan centron. Kiel ĝi povas esti utila por niaj celoj?

Uzante lokan atestan aŭtoritaton, ni povas elsendi atestojn kaj ankaŭ kontroli subskribojn sur ĉi tiuj atestiloj.

Dum eldonado de atestilo al uzanto, la atestadaŭtoritato uzas specialan atestilpeton Pkcs#10, kiu havas la dosierformaton '.csr'. Ĉi tiu peto enhavas kodigitan sekvencon, kiun la atestadaŭtoritato scias ĝuste analizi. La peto enhavas kaj la publikan ŝlosilon de la uzanto kaj datumojn por krei atestilon (asocieca tabelo kun datumoj pri la uzanto).

Ni rigardos kiel ricevi peton por atestilo en la sekva artikolo, kaj en ĉi tiu artikolo mi volas doni la ĉefajn ordonojn de la atestadaŭtoritato, kiuj helpos nin plenumi nian taskon ĉe la malantaŭa flanko.

Do unue ni devas krei atestilon. Por fari tion ni uzas la komandon:

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

ca estas la komando openSSL kiu rilatas al la atestadaŭtoritato,
-batch - nuligas konfirmpetojn dum generado de atestilo.
user.csr — peto krei atestilon (dosiero en .csr formato).
user.crt - atestilo (rezulto de la komando).

Por ke ĉi tiu komando funkciu, la atestadaŭtoritato devas esti agordita ĝuste kiel priskribite en la antaŭa parto de la artikolo. Alie, vi devos aldone specifi la lokon de la radika atestilo de la atestadaŭtoritato.

Komando pri atestilo:

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

cms estas openSSL-komando kiu estas uzata por subskribi, kontroli, ĉifradi datumojn kaj aliajn ĉifritajn operaciojn uzante openSSL.

-verify - en ĉi tiu kazo, ni kontrolas la atestilon.

authenticate.cms - dosiero enhavanta datumojn subskribitajn kun la atestilo eldonita de la antaŭa komando.

-inform PEM - PEM-formato estas uzata.

-CAfile /Users/……/demoCA/ca.crt - vojo al la radika atestilo. (sen tio la komando ne funkciis por mi, kvankam la vojoj al ca.crt estis skribitaj en la openssl.cfg dosiero)

-out data.file — Mi sendas la deĉifritajn datumojn al la dosiero data.file.

La algoritmo por uzi atestan aŭtoritaton ĉe la malantaŭa flanko estas jena:

  • Uzanto registriĝo:
    1. Ni ricevas peton krei atestilon kaj konservi ĝin al la dosiero user.csr.
    2. Ni konservas la unuan ordonon de ĉi tiu artikolo al dosiero kun la etendo .bat aŭ .cmd. Ni rulas ĉi tiun dosieron el kodo, antaŭe konservinte la peton krei atestilon al la dosiero user.csr. Ni ricevas dosieron kun la atestilo user.crt.
    3. Ni legas la dosieron user.crt kaj sendas ĝin al la kliento.

  • Uzanto-rajtigo:
    1. Ni ricevas subskribitajn datumojn de la kliento kaj konservas ĝin al la dosiero authenticate.cms.
    2. Konservu la duan komandon de ĉi tiu artikolo al dosiero kun la etendo .bat aŭ .cmd. Ni kuras ĉi tiun dosieron de la kodo, antaŭe konservinte la subskribitajn datumojn de la servilo en authenticate.cms. Ni ricevas dosieron kun deĉifritaj datumoj data.file.
    3. Ni legas data.file kaj kontrolas ĉi tiujn datumojn por valideco. Kion precize kontroli estas priskribita en la unua artikolo. Se la datumoj validas, tiam uzantrajtigo estas konsiderata sukcesa.

Por efektivigi ĉi tiujn algoritmojn, vi povas uzi ajnan programlingvon, kiu estas uzata por skribi la backend.

En la sekva artikolo ni rigardos kiel labori kun la kromaĵo Retoken.

Спасибо за внимание!

fonto: www.habr.com

Aldoni komenton