Como posso extrair a impressão digital de um certificado SSL FILE (não da loja cert windows)?

2

Entendo como obter a impressão digital de um certificado que está instalado em um armazenamento de certificados, no entanto, espero que haja uma maneira de obter essas informações para um certificado FILE.

Por exemplo, eu teria c: \ temp \ mycert.com.cer ... como obteria a impressão digital desse arquivo? É mesmo possível? O Google não está sendo muito útil. Eu tenho feito isso no powershell como tal para obter isso do armazenamento de certificados, mas novamente - eu preciso obter essa informação de um certificado FILE.

$certCN = mysite.com
$cert = Get-ChildItem cert:\LocalMachine\My -Recurse | where {$_.subject -like "*CN=$certCN*"} | where {$_.ExpiringInDays -lt "91"}
$thumbprint = $cert.thumbprint
    
por Dominic Brunetti 09.12.2017 / 00:57

1 resposta

1

Você pode usar o construtor da classe .NET Framework X509Certificate2 que apenas recebe um nome de arquivo:

$cert = New-Object System.Security.Cryptography.X509Certificates.X509Certificate2 'C:\path\to\mycert.cer'
$thumbprint = $cert.Thumbprint

O objeto $cert aqui é do mesmo tipo que os objetos que você obtém da unidade Cert:\ , portanto todos os outros métodos e propriedades estão disponíveis. Você também pode carregar informações de diversos formatos de certificados diferentes.

    
por 09.12.2017 / 03:26