mirror of https://github.com/FreeRDP/FreeRDP
Added --ignore-certificates command line
This commit is contained in:
parent
cc210f5591
commit
9356337474
|
@ -240,6 +240,7 @@ struct rdp_settings
|
||||||
char* privatekey_file;
|
char* privatekey_file;
|
||||||
|
|
||||||
boolean autologon;
|
boolean autologon;
|
||||||
|
boolean ignore_certificate;
|
||||||
boolean compression;
|
boolean compression;
|
||||||
|
|
||||||
boolean ipv6;
|
boolean ipv6;
|
||||||
|
|
|
@ -259,19 +259,21 @@ int tls_verify_certificate(CryptoCert cert, rdpSettings* settings, char* hostnam
|
||||||
|
|
||||||
if (certstore->match == 1)
|
if (certstore->match == 1)
|
||||||
{
|
{
|
||||||
char* issuer = crypto_cert_issuer(cert->px509);
|
boolean accept_certificate = settings->ignore_certificate;
|
||||||
char* subject = crypto_cert_subject(cert->px509);
|
if(!accept_certificate)
|
||||||
char* fingerprint = crypto_cert_fingerprint(cert->px509);
|
{
|
||||||
|
char* issuer = crypto_cert_issuer(cert->px509);
|
||||||
|
char* subject = crypto_cert_subject(cert->px509);
|
||||||
|
char* fingerprint = crypto_cert_fingerprint(cert->px509);
|
||||||
|
|
||||||
boolean accept_certificate = False;
|
freerdp* instance = (freerdp*)settings->instance;
|
||||||
freerdp* instance = (freerdp*)settings->instance;
|
if(instance->VerifyCertificate)
|
||||||
|
accept_certificate = instance->VerifyCertificate(instance, subject, issuer, fingerprint);
|
||||||
|
|
||||||
if(instance->VerifyCertificate)
|
xfree(issuer);
|
||||||
accept_certificate = instance->VerifyCertificate(instance, subject, issuer, fingerprint);
|
xfree(subject);
|
||||||
|
xfree(fingerprint);
|
||||||
xfree(issuer);
|
}
|
||||||
xfree(subject);
|
|
||||||
xfree(fingerprint);
|
|
||||||
|
|
||||||
if(!accept_certificate)
|
if(!accept_certificate)
|
||||||
return 1;
|
return 1;
|
||||||
|
|
|
@ -89,6 +89,7 @@ int freerdp_parse_args(rdpSettings* settings, int argc, char** argv,
|
||||||
" --no-rdp: disable Standard RDP encryption\n"
|
" --no-rdp: disable Standard RDP encryption\n"
|
||||||
" --no-tls: disable TLS encryption\n"
|
" --no-tls: disable TLS encryption\n"
|
||||||
" --no-nla: disable network level authentication\n"
|
" --no-nla: disable network level authentication\n"
|
||||||
|
" --ignore-certificate: ignore verification of logon certificate\n"
|
||||||
" --sec: force protocol security (rdp, tls or nla)\n"
|
" --sec: force protocol security (rdp, tls or nla)\n"
|
||||||
" --version: print version information\n"
|
" --version: print version information\n"
|
||||||
"\n", argv[0]);
|
"\n", argv[0]);
|
||||||
|
@ -257,6 +258,10 @@ int freerdp_parse_args(rdpSettings* settings, int argc, char** argv,
|
||||||
{
|
{
|
||||||
settings->authentication = False;
|
settings->authentication = False;
|
||||||
}
|
}
|
||||||
|
else if (strcmp("--ignore-certificate", argv[index]) == 0)
|
||||||
|
{
|
||||||
|
settings->ignore_certificate = True;
|
||||||
|
}
|
||||||
else if (strcmp("--no-fastpath", argv[index]) == 0)
|
else if (strcmp("--no-fastpath", argv[index]) == 0)
|
||||||
{
|
{
|
||||||
settings->fastpath_input = False;
|
settings->fastpath_input = False;
|
||||||
|
|
Loading…
Reference in New Issue