1
0
mirror of https://github.com/winscp/winscp.git synced 2026-10-28 15:35:08 +03:00

Generated code does not include fingerprints of TLS certificates signed by a trusted authority.

Source commit: da6723cea45d70c2c47ac3ac0a3e5ad71fa0b8db
This commit is contained in:
Martin Prikryl
2018-10-09 13:26:15 +00:00
parent 3c42b733a4
commit 18d888f666
6 changed files with 34 additions and 9 deletions

View File

@@ -367,6 +367,7 @@ void __fastcall TFTPFileSystem::Open()
FTransferActiveImmediately = (Data->FtpTransferActiveImmediately == asOn);
FSessionInfo.LoginTime = Now();
FSessionInfo.CertificateVerifiedManually = false;
UnicodeString HostName = Data->HostNameExpanded;
UnicodeString UserName = Data->UserNameExpanded;
@@ -3948,6 +3949,7 @@ bool __fastcall TFTPFileSystem::HandleAsynchRequestVerifyCertificate(
{
// certificate is trusted, but for not purposes of info dialog
VerificationResult = true;
FSessionInfo.CertificateVerifiedManually = true;
}
}
@@ -4007,10 +4009,13 @@ bool __fastcall TFTPFileSystem::HandleAsynchRequestVerifyCertificate(
if (RequestResult == 0)
{
bool Confirmed = FTerminal->ConfirmCertificate(FSessionInfo, Data.VerificationResult, CertificateStorageKey, true);
// FZ's VerifyCertDlg.cpp returns 2 for "cached", what we do nto distinguish here,
// however FZAPI takes all non-zero values equally.
RequestResult = Confirmed ? 1 : 0;
if (FTerminal->ConfirmCertificate(FSessionInfo, Data.VerificationResult, CertificateStorageKey, true))
{
// FZ's VerifyCertDlg.cpp returns 2 for "cached", what we do nto distinguish here,
// however FZAPI takes all non-zero values equally.
RequestResult = 1;
FSessionInfo.CertificateVerifiedManually = true;
}
}
}