1
0
mirror of https://github.com/winscp/winscp.git synced 2026-10-24 02:28:55 +03:00

Updating code to neon 0.32.1

The new ne_ssl_cert_hdigest supports SHA-256, so we can get rid of our modified API of ne_ssl_cert_digest
(the modified implementation was already removed by the merge of neon 0.32.1 in 2cb17502)

Source commit: c148b3a49fa03139e96e9f288fa013a1530d4d9c
This commit is contained in:
Martin Prikryl
2021-09-21 11:10:27 +00:00
parent 2cb17502f2
commit 7d9dbdcf83

View File

@@ -434,20 +434,28 @@ void __fastcall UnregisterFromNeonDebug(TTerminal * Terminal)
void __fastcall RetrieveNeonCertificateData(
int Failures, const ne_ssl_certificate * Certificate, TNeonCertificateData & Data)
{
char Fingerprint[NE_SSL_DIGESTLEN];
Fingerprint[0] = '\0';
if (ne_ssl_cert_digest(Certificate, Fingerprint, 0) != 0)
UnicodeString Unknown(L"<unknown>");
char FingerprintSHA1[NE_SSL_DIGESTLEN];
FingerprintSHA1[0] = '\0';
if (DebugAlwaysFalse(ne_ssl_cert_digest(Certificate, FingerprintSHA1) != 0))
{
strcpy(Fingerprint, "<unknown>");
Data.FingerprintSHA1 = Unknown;
}
else
{
Data.FingerprintSHA1 = StrFromNeon(FingerprintSHA1);
}
Data.FingerprintSHA1 = StrFromNeon(Fingerprint);
Fingerprint[0] = '\0';
if (ne_ssl_cert_digest(Certificate, Fingerprint, 1) != 0)
char * FingeprintSHA256 = ne_ssl_cert_hdigest(Certificate, NE_HASH_SHA256);
if (DebugAlwaysFalse(FingeprintSHA256 == NULL))
{
strcpy(Fingerprint, "<unknown>");
Data.FingerprintSHA256 = Unknown;
}
else
{
Data.FingerprintSHA256 = StrFromNeon(FingeprintSHA256);
ne_free(FingeprintSHA256);
}
Data.FingerprintSHA256 = StrFromNeon(Fingerprint);
Data.AsciiCert = NeonExportCertificate(Certificate);