Magic cookies creând un certificat de auto-semnat cu powershell

Creați un certificat auto-semnat folosind PowerShell

Dintre toate metodele, suntem, în esență, disponibili numai pentru InitializeFromPrivateKey (). deoarece celelalte metode de inițializare necesită acces la Autoritatea de Certificare. Să vedem ce este necesar pentru această metodă:






Acum putem transforma șablonul certificatului într-un certificat real.
Limbajul liric: ce este o interogare în sensul tehnic? De fapt, cererea nu se deosebește de certificat. Când solicitați un certificat de la CA, clientul utilizează aceleași interfețe pentru a genera solicitarea. Acest lucru produce un certificat foarte auto-semnat, în care Subiectul și Emitentul sunt aceleași și egale cu numele utilizatorului curent sau al computerului și conține, de asemenea, toate extensiile necesare. Solicitarea în sine este semnată de cheia privată pe care am generat-o. În ansamblu, acesta poate fi folosit deja ca un certificat autentic cu auto-semnare. Dacă îl trimiteți către serverul CA, acesta din urmă înlocuiește pur și simplu valorile câmpurilor obligatorii (cum ar fi Emitentul în care se pune singur) și extensiile, șterge semnătura veche și semnează certificatul cu o nouă semnătură. Puteți vedea acest lucru foarte simplu. Gestionați cererea pentru certificat, deschideți modulul de completare Certificări și extindeți secțiunea Solicitări de înscriere în certificat. Va exista aceeași cerere sub forma unui certificat gata. El doar așteaptă până când un CA semnează.






Să revenim la începutul postului curent și să reamintim "subiectul original" - IX509Enrollment. Aici, această interfață convertește șablonul de certificat la acest certificat utilizând metoda CreateRequest (). Dar, înainte de a folosi metoda, trebuie să inițializăm obiectul:
Și vom genera un fișier de solicitare diferit de un certificat auto-semnat:
În argumentele metodei, specificăm codificarea conform acestei pagini: EncodingType Enumeration. Alegem Base64 cu anteturi. $ endCert va conține certificatul însuși (partea sa deschisă). De fapt, solicitarea este stocată în containerul Solicitări de înregistrare a certificatului. Deoarece această interfață nu a fost concepută special pentru certificatele cu auto-semnare, vom trece prin procedura standard pentru instalarea certificatului. Noi luăm partea deschisă a certificatului nostru și îl instalăm. Aici, apropo, cum arată:

Sistemul va lipi acest certificat în șablonul certificatului și îl va muta în containerul personal:
Totul, acum vom vedea acest certificat în depozitul nostru și care este gata de utilizare. Am redenumit codul un pic și l-am înfășurat într-o funcție drăguță care va face următoarele:
  • Generați un test de certificat auto-semnat pentru semnarea scripturilor PowerShell
  • Instalați certificatul cu cheia privată în containerul personal
  • Instalați partea publică a certificatului în CA-uri de încredere pentru a vă asigura încrederea în acest certificat
  • Instalați partea publică a certificatului în Trusted Publishers pentru a seta o încredere explicită pentru semnăturile digitale realizate de acest certificat.
Pare dificil în aparență, dar în realitate nu este nimic complicat deloc. Imaginați-vă doar un certificat ca o matryoshka mare, în care ați pus alte nuci mici, care sunt câmpuri și extensii de certificate. Începeți să colectați cele mai mici păpuși, să investiți în cele mai mari și să colectați în cele din urmă un certificat real. Deși documentația despre MSDN nu este foarte completă, folosind cmdlet-ul Get-Member, puteți completa această diferență.






Articole similare

Trimiteți-le prietenilor: