Die neue Version von New-SelfSignedCertificate
, die unter Windows 10 enthalten ist, wird here beschrieben. Man kann New-SelfSignedCertificate -?
und get-help New-SelfSignedCertificate -examples
verwenden, um einige zusätzliche Informationen zu erhalten.
Die Dokumentation und die Beispiele könnte für die Schaffung von zwei Zertifikaten noch nicht klar genug scheint:
- ein selbst signiertes Zertifikat, das als CA-Zertifikat verwendet wird, aus Ihrem Beispiel
- das zweite SSL-Zertifikat, welches mit dem ersten Zertifikat signiert hat.
Die Umsetzung der folgenden sein könnte (I unter der Option schrieb in mehreren Zeilen nur den Text lesbarer zu machen):
New-SelfSignedCertificate -HashAlgorithm sha384 -KeyAlgorithm RSA -KeyLength 4096
-Subject "CN=My Test (PowerShell) Root Authority,O=OK soft GmbH,C=DE"
-KeyUsage DigitalSignature,CertSign -NotAfter (get-date).AddYears(10)
-CertStoreLocation "Cert:\CurrentUser\My" -Type Custom
die Ausgabe wie
Directory: Microsoft.PowerShell.Security\Certificate::CurrentUser\My
Thumbprint Subject
---------- -------
B7DE93CB88E99B01D166A986F7BF2D82A0E541FF CN=My Test (PowerShell) Root Authority, O=OK soft GmbH, C=DE
Der aussehen Der Wert B7DE93CB88E99B01D166A986F7BF2D82A0E541FF
ist wichtig, um das Zertifikat zum Signieren zu verwenden. Wenn Sie den Wert vergessen können Sie es durch CN Name
dir cert:\CurrentUser\My | where Subject -Like "CN=My Test (PowerShell)*"
oder durch Verwendung finden certutil.exe -user -store My
auf unsere Zertifikate auf meinem Speicher des aktuellen Benutzers angezeigt werden soll.
SSL-Zertifikat zu erstellen und es mit Bezug auf zuvor erstellte Zertifikat ein zu unterschreiben kann mir die folgenden
New-SelfSignedCertificate -Type Custom -Subject "CN=ok01.no-ip.org"
-HashAlgorithm sha256 -KeyAlgorithm RSA -KeyLength 2048
-KeyUsage KeyEncipherment,DigitalSignature
-CertStoreLocation "cert:\LocalMachine\My"
-Signer cert:\CurrentUser\My\B7DE93CB88E99B01D166A986F7BF2D82A0E541FF
-TextExtension @("2.5.29.37={text}1.3.6.1.5.5.7.3.1,1.3.6.1.5.5.7.3.2","2.5.29.17={text}DNS=ok01.no-ip.org&DNS=ok01.fritz.box")
Es scheint, zum Beispiel tun, dass das endgültige Zertifikat alle erforderlichen Eigenschaften haben. Es ist klar, dass die Werte aus vielen der obigen Parameter nur Beispiele enthalten, die Sie entsprechend Ihren Anforderungen ändern müssen. Ich beschreibe hier nicht einige andere übliche Schritte wie das Importieren eines Stammzertifikats in den vertrauenswürdigen Stamm, das Exportieren der Zertifikate und so weiter. Die Schritte sind nicht die Psrt Ihrer Hauptfrage.
'MakeCert.exe' ist genug, wenn Sie nur RSA-Schlüssel verwenden, aber es ist besser, einige zusätzliche Optionen von' MakeCert.exe' zu verwenden. 'New-SelfSignedCertificate' bringt Ihnen keine Vorteile. Andere Powershell-Module, die im Internet verfügbar sind, könnten besser sein. Sie können [OpenSSL.exe] (https://www.openssl.org/) statt 'MakeCert.exe' verwenden, um entweder RSA- oder Elliptische-Kurven-Zertifikate zu erstellen, die Sie in IIS verwenden können.Wenn Ihr IIS-Server über das Internet (Port 80) verfügbar ist, können Sie Let's Encrypt verwenden, um ein kostenloses echtes SSL-Zertifikat zu erhalten, und die Clients müssen Ihr "CA" -Zertifikat nicht im vertrauenswürdigen Root installieren. – Oleg
die Frage war, 'New-SelfSignedCertificate' aus einem bestimmten Grund zu verwenden. Ich möchte nicht 'MakeCert' oder' OpenSSL' verwenden. – MovGP0
Verwenden Sie einfach Startpowershell und verwenden Sie 'New-SelfSignedCertificate -?' Und 'get-help New-SelfSignedCertificate-Beispiele '. Die Möglichkeiten hängen von der Windows-Version ab, die Sie verwenden. Vergleichen https://technet.microsoft.com/en-us/library/hh848633.aspx mit https://technet.microsoft.com/en-us/library/hh848633(v=wps.630).aspx – Oleg