Esperienza in l'usu di a tecnulugia Rutoken per a registrazione è l'autorizazione di l'utilizatori in u sistema (parte 3)

Bona dopu!

In a parte precedente Avemu creatu cun successu u nostru centru di certificazione. Cumu pò esse utile per i nostri scopi?

Utilizendu una autorità di certificazione lucale, pudemu emette certificati è ancu verificà e firme in questi certificati.

Quandu emette un certificatu à un utilizatore, l'autorità di certificazione usa una dumanda di certificatu speciale Pkcs#10, chì hà u furmatu di schedariu ".csr". Questa dumanda cuntene una sequenza codificata chì l'autorità di certificazione sà cumu analizà currettamente. A dumanda cuntene sia a chjave publica di l'utilizatore è e dati per creà un certificatu (un array associative cù dati nantu à l'utilizatore).

Fighjemu cumu riceve una dumanda per un certificatu in u prossimu articulu, è in questu articulu vogliu dà i cumandamenti principali di l'autorità di certificazione chì ci aiutanu à compie u nostru compitu in u backend.

Allora prima avemu da creà un certificatu. Per fà questu avemu aduprà u cumandimu:

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

ca hè u cumandimu openSSL chì riguarda l'autorità di certificazione,
-batch - annulla e dumande di cunferma quandu generà un certificatu.
user.csr - dumanda à creà un certificatu (file in furmatu .csr).
user.crt - certificatu (risultatu di u cumandimu).

Per fà stu cumandamentu per travaglià, l'autorità di certificazione deve esse cunfigurata esattamente cum'è descrittu in a parti precedente di l'articulu. Altrimenti, vi tuccherà à specificà u locu di u certificatu radice di l'autorità di certificazione.

Cumanda di verificazione di certificatu:

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

cms hè un cumandamentu openSSL chì hè utilizatu per firmà, verificate, criptu dati è altre operazioni criptografiche cù openSSL.

-verify - in questu casu, avemu verificatu u certificatu.

authenticate.cms - un schedariu chì cuntene dati firmati cù u certificatu chì hè statu emessu da u cumandamentu precedente.

-inform PEM - U furmatu PEM hè utilizatu.

-CAfile /Users/……/demoCA/ca.crt - percorso à u certificatu root. (senza questu u cumandimu ùn hà micca travagliatu per mè, ancu s'è i camini à ca.crt sò stati scritti in u schedariu openssl.cfg)

-out data.file - Mandu i dati decriptati à u schedariu data.file.

L'algoritmu per aduprà una autorità di certificazione in u backend hè u seguente:

  • Registrazione di l'utilizatori:
    1. Ricevemu una dumanda per creà un certificatu è salvà in u schedariu user.csr.
    2. Salvemu u primu cumandamentu di stu articulu in un schedariu cù l'estensione .bat o .cmd. Eseguimu stu schedariu da u codice, avè salvatu prima a dumanda di creà un certificatu à u schedariu user.csr. Ricevemu un schedariu cù u certificatu user.crt.
    3. Leghjemu u schedariu user.crt è u mandemu à u cliente.

  • Autorizazione di l'utilizatori:
    1. Ricevemu dati firmati da u cliente è salvemu in u schedariu authenticate.cms.
    2. Salvà a seconda cumanda di stu articulu à un schedariu cù l'estensione .bat o .cmd. Eseguimu stu schedariu da u codice, avè salvatu prima i dati firmati da u servitore in authenticate.cms. Ricevemu un schedariu cù data decrypted data.file.
    3. Avemu leghje data.file è verificate sta dati per a validità. Ciò chì esattamente per verificà hè descrittu in u primu articulu. Se i dati sò validi, l'autorizazione di l'utilizatori hè cunsiderata successu.

Per implementà questi algoritmi, pudete aduprà qualsiasi lingua di prugrammazione chì hè utilizata per scrive u backend.

In u prossimu articulu avemu da vede cumu travaglià cù u plugin Retoken.

Ti ringraziu per a vostra attenzione!

Source: www.habr.com

Add a comment