Hallo,
ich würde gerne einen Hashwert signieren und in meiner Datenbank abspeichern ..
wie kann ich einen String[hash] via file "C:\zertifikat-test\firmenname.pfx" signieren?
Vielen Dank für Hilfe
Erich
P.S.: Und wie könnte ich kontrollieren, ob der signierte Hash zur Datei passt?
Den Hash für eine Datei erstelle ich via:
Code:
LoadOpenSSLLibrary;
if TIdHashSHA256.IsAvailable then
begin
FS := TFileStream.Create(destname, fmOpenRead OR fmShareDenyWrite);
try
SHA := TIdHashSHA256.Create;
try
Hash := SHA.HashStreamAsHex(FS);
showmessage('SHA256 Hash: ' + Hash);
finally
SHA.Free;
end;
finally
FS.Free;
end;
end;
Ein PFX erstelle ich via PowerShell:
Code:
PS C:\Users\erich> New-SelfSignedCertificate -DnsName "Firmenname" -CertStoreLocation Cert:\CurrentUser\My -Type CodeSigningCert -NotAfter (Get-Date).AddYears(20)
PS C:\Users\erich> $cert = Get-PfxCertificate -FilePath "C:\zertifikat-test\firmenname.pfx"
PS C:\Users\erich> Set-AuthenticodeSignature -FilePath "C:\zertifikat-test\test.ps1" -Certificate $cert
Geben Sie das Kennwort ein: ********
SignerCertificate Status Path
----------------- ------ ----
285BE7AAF38CC4CF737E18A00E7F68344804483D Valid test1.ps1
Erich Wanker - for life:=1971 to lebensende do begin ..
O
/H\
/ \