2017-07-19 4 views
-3

Ich möchte ein Tool, das auf einem Server ausgeführt werden kann, der bestimmte Eigenschaften aus einem bereits installierten SSL-Zertifikat extrahieren und zurückgeben würde. Ich interessiere mich speziell für die Eigenschaften "Aussteller" und "Fingerabdruck". Ich weiß, dass ich den Eigenschaftendialog des Zertifikats einfach öffnen und kopieren kann, und dann in meine App einfügen, aber um einen möglicherweise fehleranfälligen manuellen Prozess zu vermeiden, wenn andere dies an mehreren Standorten tun, möchte ich ein Tool oder Skript Ich kann das aufrufen, würde einfach den Wert einer angegebenen Eigenschaft von einem angegebenen Zertifikat zurückgeben. Mir geht es gut, wenn ich für jede gewünschte Immobilie einen separaten Anruf tätigen muss. Je schlüsselfertiger das ist, desto besser. Gibt es bitte Vorschläge?So extrahieren Sie SSL-Zertifikateigenschaften

+3

Es ist machbar. Probieren Sie es aus und fragen Sie, ob Sie ein _spezifisches_ Problem haben. Wörtlich kopiert den Titel Ihrer Frage mit "PowerShell" hinzugefügt zu Google; Sie sollten nicht weiter gehen als die ersten paar Ergebnisse. – gms0ulman

Antwort

0

Sie wollen, so etwas tun:

Get-ChildItem Cert:\LocalMachine\Root\ | Select Issuer,Thumbprint 

Hier ist eine Liste der Eigenschaften, die Sie leicht von System.Security.Cryptography.X509Certificates.X509Certificate2 Objekte (gemeinsame Zertifikate) erhalten können.

Name     MemberType  Definition                                                     
----     ----------  ----------                                                     
Archived    Property  bool Archived {get;set;}                                                  
Extensions   Property  System.Security.Cryptography.X509Certificates.X509ExtensionCollection Extensions {get;}                                  
FriendlyName   Property  string FriendlyName {get;set;}                                                
Handle    Property  System.IntPtr Handle {get;}                                                 
HasPrivateKey  Property  bool HasPrivateKey {get;}                                                  
Issuer    Property  string Issuer {get;}                                                   
IssuerName   Property  System.Security.Cryptography.X509Certificates.X500DistinguishedName IssuerName {get;}                                   
NotAfter    Property  datetime NotAfter {get;}                                                  
NotBefore   Property  datetime NotBefore {get;}                                                  
PrivateKey   Property  System.Security.Cryptography.AsymmetricAlgorithm PrivateKey {get;set;}                                      
PublicKey   Property  System.Security.Cryptography.X509Certificates.PublicKey PublicKey {get;}                                      
RawData    Property  byte[] RawData {get;}                                                   
SerialNumber   Property  string SerialNumber {get;}                                                 
SignatureAlgorithm Property  System.Security.Cryptography.Oid SignatureAlgorithm {get;}                                         
Subject    Property  string Subject {get;}                                                   
SubjectName   Property  System.Security.Cryptography.X509Certificates.X500DistinguishedName SubjectName {get;}                                  
Thumbprint   Property  string Thumbprint {get;}                                                  
Version    Property  int Version {get;}                                                   
DnsNameList   ScriptProperty System.Object DnsNameList {get=,(new-object Microsoft.Powershell.Commands.DnsNameProperty -argumentlist $this).DnsNameList;;}                         
EnhancedKeyUsageList ScriptProperty System.Object EnhancedKeyUsageList {get=,(new-object Microsoft.Powershell.Commands.EnhancedKeyUsageProperty -argumentlist $this).EnhancedKeyUsageList;;}                  
SendAsTrustedIssuer ScriptProperty System.Object SendAsTrustedIssuer {get=[Microsoft.Powershell.Commands.SendAsTrustedIssuerProperty]::ReadSendAsTrustedIssuerProperty($this);set=$sendAsTrustedIssuer = $args[0]...   
Verwandte Themen