GNU/Linux >> Znalost Linux >  >> Linux

Vytvoření uživatele, certifikátu a podpisu CSR pro Lemur Certificate Manager

Po úspěšné instalaci správce certifikátů Lemur do něj byla integrována kořenová certifikační autorita (CA) CFSSL. Po kroku integrace byla vytvořena místní CA pomocí pluginu CFSSL v lemurovi. Takže CFSSL je v našem případě kořenová CA. Protože víme, že správce certifikátů Lemur je založen na Pythonu, v tomto článku se zaměříme na vytvoření různých pythonových skriptů, které budou užitečné pro další vývoj v projektu. V tomto článku provedeme následující skripty pro interakci s Lemurem pomocí terminálu.

  • Vytvoření oprávnění pomocí CFSSL v grafickém uživatelském rozhraní Lemur. Tato autorita CFSSL bude použita v našich skriptech k vygenerování certifikátu. Nastavil jsem název "myCA" autority CFSSL v GUI. Tento název „myCA“  bude použit při generování certifikátů od Lemur.

Použití pluginu CFSSL 

„myCA“ se zobrazí v seznamu po vytvoření.

  • Použití skriptu Python k vytvoření uživatele s rolí „Admin“ pomocí rozhraní Lemur API a požadavek je odeslán ve formátu JSON. (ověřte výsledek na uživatelské stránce GUI Lemur).
  • Vytvoření certifikátu pro zadaného vlastníka a uživatele (Ověřte výsledek na stránce certifikátu GUI lemurů).
  • generování soukromých/veřejných klíčů pomocí Openssl v terminálu (níže jsou uvedeny příkazy pro vygenerování páru klíčů a poté CSR) a
  • pak pomocí CSR (cat the csr soubor) ve skriptu vygenerujte certifikát z definované vlastní autority.

POZNÁMKA:

Všechny skripty python odešlou požadavek ve formátu JSON na platformu  Lemur, proto prosím změňte parametry ve skriptech podle svých požadavků. (jako vaše jméno úřadu CFSSL, uživatelské jméno atd.)

Skripty

V následujícím skriptu bude požadavek json odeslán na 192.168.1.7 (IP adresa kořenové CA Lemur a CFSSL). Po úspěšné autentizaci bude odeslán další požadavek na vytvoření nového uživatele.

1. create_user_using_admin_role.py

#!/usr/bin/python
import požadavků na import json
login =requests.request("POST","http://192.168.1.7/api/1/auth/login" ,data=json.dumps({'username':"lemur", 'password':"lemur"}),headers={'content-type':'application/json'}) print login.json() Auth ={'Autorizace':'token %s' %login.json()["token"], 'content-type':'application/json'}
test =requests.request("POST","http ://192.168.1.7/api/1/users",data=json.dumps({'username':"aa", 'aaa':"aaa" ,"email":"[e-mail chráněný]","aktivní ":"true", "roles":[{'id':1}or{'name':'myRole'}]}),headers=Auth)
print test.json()
-------------------------------------------------- ------------------------------------------------

V následujícím skriptu je autoritě „myCA“ zaslán požadavek na vygenerování nového certifikátu pro uživatele „aa“.

2. create_certifacte_by_lemur.py

#!/usr/bin/python
importujte json
importujte požadavky
##username/password pro přihlášení lemura k provedení požadované akce
login =requests.request( "POST","http://192.168.1.7/api/1/auth/login",data=json.dumps({'username':"lemur", 'password':"lemur"}),headers={ 'content-type':'application/json'})
tisknout login.json()Auth ={'Autorizace':'token %s' %login.json()["token"], 'content- type':'application/json'}cert_req =requests.request("POST","http://192.168.1.7/api/1/certificates",data=json.dumps({"owner":"[e-mail chráněn ]","commonName":"aa.example.net","country":"AU","replacements":[{"id":1 }],"notify":"true","validityEnd":" 2026-01-01T08:00:00.000Z", "autorita":{"name":"myCA" }, "organization":"test.", "location":"Los Gataaos", "state":"Caldifornia" ", "user":{ "username":"aa","active":"true","email":"[e-mail chráněný]"}, "role":[{"id":1, "description" :"role správce", "name":"[e-mail chráněný]"}],"validityStart":"2018-11-11T04:19:48.000Z","organ izationalUnit":"Operations"}),headers=Auth)
print cert_req.json()--------------------------- -------------------------------------------------- ---------------------

Účelem následujícího skriptu je podepsat CSR od certifikační autority CFSSL. Nezbytné příkazy OpenSSL jsou uvedeny výše pro generování csr pro skript.

K podepsání vlastního CSR bude použit následující příkaz. Tato funkce není poskytována v Lemur GUI pro podepsání CSR pomocí našeho lokálně nastaveného CA.

příkaz pro generování páru klíčů:

openssl genrsa -out test.key 2048

Vytvoření CSR pomocí výše vygenerovaného test.key:

openssl req -new -sha256 -key test.key -out test.csr

Nyní použijte příkaz "cat" k zobrazení obsahu test.csr a zkopírujte jej do skriptu pro vygenerování certifikátu na uživatelem vygenerovaném CSR. Důležitou nápovědou k použití CSR ve skriptu je odstranit /r a použít /n s výjimkou mezi značkami start/stop CSR.

3. create_certificate_using_local_csr.py

#!/usr/bin/python
importujte json
importujte požadavky
##změňte uživatelské jméno/heslo zde
login =requests.request("POST","http ://192.168.1.7/api/1/auth/login",data=json.dumps({'username':"lemur", 'password':"lemur"}),headers={'content-type':'application/json'})
tisknout login.json()
Auth ={'Autorizace':'token %s' %login.json()["token"], 'typ obsahu' :'application/json'}
#to funguje
csr_req =requests.request("POST","http://192.168.1.7/api/1/certificates",data=json.dumps ({"owner":"[email protected]","commonName":"aa.eaaxample.net","authority":{"name":"myCA" },"csr":"-----BEGIN žádost o certifikát -----
\ nMIICxzCCAa8CAQAwgYExCzAJBgNVBAYTAkFVMQ0wCwYDVQQIDARQQUtJMRIwEAYD \ nVQQHDAlJU0xBTUFCQUQxDTALBgNVBAoMBElJSUkxDDAKBgNVBAsMA0dHRzEQMA4G \ nA1UEAwwHdXNlcjEyMzEgMB4GCSqGSIb3DQEJARYRdXNlcjEyM0BnbWFpbC5jb20w \ nggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDzzV4H1epwXODPs9AkioTv \ nQLRtea12vCbZJhKkH59hWhDMjqNRkh8qc4R9gk83lingdWK + L35OkGNi6DG9zseh \ ncVRf68 sNpTeFg + eXGRmEdTallBqPd5NS3JlMmXxbLEWrELiw4gPp3JpNAzoYZUxb \ n4Uk4ho9EN8Fd1 / lGmubvyvkYJ1mbpsK1LfaFohGYu + 7nMvU4tn1Av / zyTGcIikVu \ nU4UA23jKAMzjlSKdTJH / nmqvMi2wltRtb7DNpI / 5HAancrnyEzeXC5IN + SPV / 5oh \ nxdxCyAkp1kDrWhC2yvoffzipoqEFESWmfFrJ8riTiQZqOIWqW + ZasZtu4GDqm4CL \ nAgMBAAGgADANBgkqhkiG9w0BAQsFAAOCAQEAH / PKs5kTmMPRW2Icy4Yj7vdzjpaA \ n / r1glm0voMR5ytPo0 + lXHDTQwt / 1ObQvr8FnT2z8iqRvfXiv6WWruLzwEEVWsCFL \ ny7RAa + K0wqP23CfxzCy / S4ZwCcR + wQb3UnWui8eMxgU1IBjupCR9kPFhL // aA + lm \ njBi5YruBgX7MdlW + AlkuVDljzXm1orFYZFzS7OlybH5jh / B3Z2ygbC ++ Y24XI3qm \ n5IYpsxFbOmrj7y3IXN / 990305blCcKhpaG + FMTKhNqkXMYKYsZseIO3xdO4Ufjl / \ nqS2jjsE1sFxmKbabhguhTT06oGimT + TbgoYVkc0DWhIdLcrOdxhGsFwdqg ==\ n ----- END žádost o certifikát ----- "}), hlavičky =Auth)
tisk csr_req.json()
----------------------------------------- -------------------------------------------------- -------

Závěr

V tomto článku jsou napsány různé python skripty pro interakci s projektem správce certifikátů Lemur. Tyto skripty pomohou vývojářům používat je z CLI.


Linux
  1. Jak vygenerovat žádost o podpis certifikátu (CSR) v systému Linux

  2. Rozdíl mezi uživatelským a servisním účtem?

  3. Nepodařilo se podepsat Csr pomocí kořenového klíče Ca?

  1. Jaký je rozdíl mezi normálním uživatelem a systémovým uživatelem?

  2. Vytvoření uživatele a skupiny „thesql“, nastavení vlastnictví?

  3. Jak vygenerovat klíč a CSR v cPanel pro váš certifikát SSL

  1. Blender – Perfektní nástroj pro tvorbu 3D pro Linux

  2. Fedora Media Writer – Nezbytný nástroj pro uživatele Fedory

  3. Jak vygenerovat žádost o podpis certifikátu (CSR) pro SSL