mirror of
https://github.com/reactos/reactos.git
synced 2025-08-06 08:52:57 +00:00
[WINESYNC] wininet: Implement INTERNET_OPTION_SECURITY_CERTIFICATE flag for InternetQueryOption.
Signed-off-by: Daniel Lehman <dlehman25@gmail.com> Signed-off-by: Jacek Caban <jacek@codeweavers.com> Signed-off-by: Alexandre Julliard <julliard@winehq.org> wine commit id ef88a70fa775f3e7a26d8f1618f32ee94bb9ea05 by Daniel Lehman <dlehman25@gmail.com>
This commit is contained in:
parent
81c312d3e0
commit
8bf2b3cf2c
32 changed files with 568 additions and 3 deletions
|
@ -57,6 +57,7 @@
|
||||||
|
|
||||||
#include "internet.h"
|
#include "internet.h"
|
||||||
#include "zlib.h"
|
#include "zlib.h"
|
||||||
|
#include "resource.h"
|
||||||
#include "wine/debug.h"
|
#include "wine/debug.h"
|
||||||
#include "wine/exception.h"
|
#include "wine/exception.h"
|
||||||
#endif /* defined(__REACTOS__) */
|
#endif /* defined(__REACTOS__) */
|
||||||
|
@ -2296,6 +2297,105 @@ static DWORD HTTPREQ_QueryOption(object_header_t *hdr, DWORD option, void *buffe
|
||||||
|
|
||||||
return get_security_cert_struct(req, (INTERNET_CERTIFICATE_INFOA*)buffer);
|
return get_security_cert_struct(req, (INTERNET_CERTIFICATE_INFOA*)buffer);
|
||||||
}
|
}
|
||||||
|
case INTERNET_OPTION_SECURITY_CERTIFICATE: {
|
||||||
|
DWORD err;
|
||||||
|
int needed;
|
||||||
|
char subject[64];
|
||||||
|
char issuer[64];
|
||||||
|
char effective[64];
|
||||||
|
char expiration[64];
|
||||||
|
char protocol[64];
|
||||||
|
char signature[64];
|
||||||
|
char encryption[64];
|
||||||
|
char privacy[64];
|
||||||
|
char bits[16];
|
||||||
|
char strength[16];
|
||||||
|
char start_date[32];
|
||||||
|
char start_time[32];
|
||||||
|
char expiry_date[32];
|
||||||
|
char expiry_time[32];
|
||||||
|
SYSTEMTIME start, expiry;
|
||||||
|
INTERNET_CERTIFICATE_INFOA info;
|
||||||
|
|
||||||
|
if(!size)
|
||||||
|
return ERROR_INVALID_PARAMETER;
|
||||||
|
|
||||||
|
if(!req->netconn) {
|
||||||
|
*size = 0;
|
||||||
|
return ERROR_INTERNET_INVALID_OPERATION;
|
||||||
|
}
|
||||||
|
|
||||||
|
if(!buffer) {
|
||||||
|
*size = 1;
|
||||||
|
return ERROR_INSUFFICIENT_BUFFER;
|
||||||
|
}
|
||||||
|
|
||||||
|
if((err = get_security_cert_struct(req, &info)))
|
||||||
|
return err;
|
||||||
|
|
||||||
|
LoadStringA(WININET_hModule, IDS_CERT_SUBJECT, subject, sizeof(subject));
|
||||||
|
LoadStringA(WININET_hModule, IDS_CERT_ISSUER, issuer, sizeof(issuer));
|
||||||
|
LoadStringA(WININET_hModule, IDS_CERT_EFFECTIVE, effective, sizeof(effective));
|
||||||
|
LoadStringA(WININET_hModule, IDS_CERT_EXPIRATION, expiration, sizeof(expiration));
|
||||||
|
LoadStringA(WININET_hModule, IDS_CERT_PROTOCOL, protocol, sizeof(protocol));
|
||||||
|
LoadStringA(WININET_hModule, IDS_CERT_SIGNATURE, signature, sizeof(signature));
|
||||||
|
LoadStringA(WININET_hModule, IDS_CERT_ENCRYPTION, encryption, sizeof(encryption));
|
||||||
|
LoadStringA(WININET_hModule, IDS_CERT_PRIVACY, privacy, sizeof(privacy));
|
||||||
|
LoadStringA(WININET_hModule, info.dwKeySize >= 128 ? IDS_CERT_HIGH : IDS_CERT_LOW,
|
||||||
|
strength, sizeof(strength));
|
||||||
|
LoadStringA(WININET_hModule, IDS_CERT_BITS, bits, sizeof(bits));
|
||||||
|
|
||||||
|
FileTimeToSystemTime(&info.ftStart, &start);
|
||||||
|
FileTimeToSystemTime(&info.ftExpiry, &expiry);
|
||||||
|
GetDateFormatA(LOCALE_USER_DEFAULT, 0, &start, NULL, start_date, sizeof(start_date));
|
||||||
|
GetTimeFormatA(LOCALE_USER_DEFAULT, 0, &start, NULL, start_time, sizeof(start_time));
|
||||||
|
GetDateFormatA(LOCALE_USER_DEFAULT, 0, &expiry, NULL, expiry_date, sizeof(expiry_date));
|
||||||
|
GetTimeFormatA(LOCALE_USER_DEFAULT, 0, &expiry, NULL, expiry_time, sizeof(expiry_time));
|
||||||
|
|
||||||
|
needed = _scprintf("%s:\r\n%s\r\n"
|
||||||
|
"%s:\r\n%s\r\n"
|
||||||
|
"%s:\t%s %s\r\n"
|
||||||
|
"%s:\t%s %s\r\n"
|
||||||
|
"%s:\t(null)\r\n"
|
||||||
|
"%s:\t(null)\r\n"
|
||||||
|
"%s:\t(null)\r\n"
|
||||||
|
"%s:\t%s (%u %s)",
|
||||||
|
subject, info.lpszSubjectInfo,
|
||||||
|
issuer, info.lpszIssuerInfo,
|
||||||
|
effective, start_date, start_time,
|
||||||
|
expiration, expiry_date, expiry_time,
|
||||||
|
protocol, signature, encryption,
|
||||||
|
privacy, strength, info.dwKeySize, bits);
|
||||||
|
|
||||||
|
if(needed < *size) {
|
||||||
|
err = ERROR_SUCCESS;
|
||||||
|
*size = snprintf(buffer, *size,
|
||||||
|
"%s:\r\n%s\r\n"
|
||||||
|
"%s:\r\n%s\r\n"
|
||||||
|
"%s:\t%s %s\r\n"
|
||||||
|
"%s:\t%s %s\r\n"
|
||||||
|
"%s:\t(null)\r\n"
|
||||||
|
"%s:\t(null)\r\n"
|
||||||
|
"%s:\t(null)\r\n"
|
||||||
|
"%s:\t%s (%u %s)",
|
||||||
|
subject, info.lpszSubjectInfo,
|
||||||
|
issuer, info.lpszIssuerInfo,
|
||||||
|
effective, start_date, start_time,
|
||||||
|
expiration, expiry_date, expiry_time,
|
||||||
|
protocol, signature, encryption,
|
||||||
|
privacy, strength, info.dwKeySize, bits);
|
||||||
|
}else {
|
||||||
|
err = ERROR_INSUFFICIENT_BUFFER;
|
||||||
|
*size = 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
LocalFree(info.lpszSubjectInfo);
|
||||||
|
LocalFree(info.lpszIssuerInfo);
|
||||||
|
LocalFree(info.lpszProtocolName);
|
||||||
|
LocalFree(info.lpszSignatureAlgName);
|
||||||
|
LocalFree(info.lpszEncryptionAlgName);
|
||||||
|
return err;
|
||||||
|
}
|
||||||
case INTERNET_OPTION_CONNECT_TIMEOUT:
|
case INTERNET_OPTION_CONNECT_TIMEOUT:
|
||||||
if (*size < sizeof(DWORD))
|
if (*size < sizeof(DWORD))
|
||||||
return ERROR_INSUFFICIENT_BUFFER;
|
return ERROR_INSUFFICIENT_BUFFER;
|
||||||
|
|
|
@ -25,6 +25,17 @@ STRINGTABLE
|
||||||
IDS_CERT_DATE_INVALID "The date on the certificate is invalid."
|
IDS_CERT_DATE_INVALID "The date on the certificate is invalid."
|
||||||
IDS_CERT_CN_INVALID "The name on the certificate does not match the site."
|
IDS_CERT_CN_INVALID "The name on the certificate does not match the site."
|
||||||
IDS_CERT_ERRORS "There is at least one unspecified security problem with this certificate."
|
IDS_CERT_ERRORS "There is at least one unspecified security problem with this certificate."
|
||||||
|
IDS_CERT_SUBJECT "Subject"
|
||||||
|
IDS_CERT_ISSUER "Issuer"
|
||||||
|
IDS_CERT_EFFECTIVE "Effective Date"
|
||||||
|
IDS_CERT_EXPIRATION "Expiration Date"
|
||||||
|
IDS_CERT_PROTOCOL "Security Protocol"
|
||||||
|
IDS_CERT_SIGNATURE "Signature Type"
|
||||||
|
IDS_CERT_ENCRYPTION "Encryption Type"
|
||||||
|
IDS_CERT_PRIVACY "Privacy Strength"
|
||||||
|
IDS_CERT_HIGH "High"
|
||||||
|
IDS_CERT_LOW "Low"
|
||||||
|
IDS_CERT_BITS "bits"
|
||||||
}
|
}
|
||||||
|
|
||||||
IDD_PROXYDLG DIALOGEX 36, 24, 220, 146
|
IDD_PROXYDLG DIALOGEX 36, 24, 220, 146
|
||||||
|
|
|
@ -28,6 +28,17 @@ STRINGTABLE
|
||||||
IDS_CERT_DATE_INVALID "The date on the certificate is invalid."
|
IDS_CERT_DATE_INVALID "The date on the certificate is invalid."
|
||||||
IDS_CERT_CN_INVALID "The name on the certificate does not match the site."
|
IDS_CERT_CN_INVALID "The name on the certificate does not match the site."
|
||||||
IDS_CERT_ERRORS "There is at least one unspecified security problem with this certificate."
|
IDS_CERT_ERRORS "There is at least one unspecified security problem with this certificate."
|
||||||
|
IDS_CERT_SUBJECT "Subject"
|
||||||
|
IDS_CERT_ISSUER "Issuer"
|
||||||
|
IDS_CERT_EFFECTIVE "Effective Date"
|
||||||
|
IDS_CERT_EXPIRATION "Expiration Date"
|
||||||
|
IDS_CERT_PROTOCOL "Security Protocol"
|
||||||
|
IDS_CERT_SIGNATURE "Signature Type"
|
||||||
|
IDS_CERT_ENCRYPTION "Encryption Type"
|
||||||
|
IDS_CERT_PRIVACY "Privacy Strength"
|
||||||
|
IDS_CERT_HIGH "High"
|
||||||
|
IDS_CERT_LOW "Low"
|
||||||
|
IDS_CERT_BITS "bits"
|
||||||
}
|
}
|
||||||
|
|
||||||
IDD_PROXYDLG DIALOGEX 36, 24, 220, 146
|
IDD_PROXYDLG DIALOGEX 36, 24, 220, 146
|
||||||
|
|
|
@ -28,6 +28,17 @@ STRINGTABLE
|
||||||
IDS_CERT_DATE_INVALID "The date on the certificate is invalid."
|
IDS_CERT_DATE_INVALID "The date on the certificate is invalid."
|
||||||
IDS_CERT_CN_INVALID "The name on the certificate does not match the site."
|
IDS_CERT_CN_INVALID "The name on the certificate does not match the site."
|
||||||
IDS_CERT_ERRORS "There is at least one unspecified security problem with this certificate."
|
IDS_CERT_ERRORS "There is at least one unspecified security problem with this certificate."
|
||||||
|
IDS_CERT_SUBJECT "Subject"
|
||||||
|
IDS_CERT_ISSUER "Issuer"
|
||||||
|
IDS_CERT_EFFECTIVE "Effective Date"
|
||||||
|
IDS_CERT_EXPIRATION "Expiration Date"
|
||||||
|
IDS_CERT_PROTOCOL "Security Protocol"
|
||||||
|
IDS_CERT_SIGNATURE "Signature Type"
|
||||||
|
IDS_CERT_ENCRYPTION "Encryption Type"
|
||||||
|
IDS_CERT_PRIVACY "Privacy Strength"
|
||||||
|
IDS_CERT_HIGH "High"
|
||||||
|
IDS_CERT_LOW "Low"
|
||||||
|
IDS_CERT_BITS "bits"
|
||||||
}
|
}
|
||||||
|
|
||||||
IDD_PROXYDLG DIALOGEX 36, 24, 220, 146
|
IDD_PROXYDLG DIALOGEX 36, 24, 220, 146
|
||||||
|
|
|
@ -28,6 +28,17 @@ STRINGTABLE
|
||||||
IDS_CERT_DATE_INVALID "The date on the certificate is invalid."
|
IDS_CERT_DATE_INVALID "The date on the certificate is invalid."
|
||||||
IDS_CERT_CN_INVALID "The name on the certificate does not match the site."
|
IDS_CERT_CN_INVALID "The name on the certificate does not match the site."
|
||||||
IDS_CERT_ERRORS "There is at least one unspecified security problem with this certificate."
|
IDS_CERT_ERRORS "There is at least one unspecified security problem with this certificate."
|
||||||
|
IDS_CERT_SUBJECT "Subject"
|
||||||
|
IDS_CERT_ISSUER "Issuer"
|
||||||
|
IDS_CERT_EFFECTIVE "Effective Date"
|
||||||
|
IDS_CERT_EXPIRATION "Expiration Date"
|
||||||
|
IDS_CERT_PROTOCOL "Security Protocol"
|
||||||
|
IDS_CERT_SIGNATURE "Signature Type"
|
||||||
|
IDS_CERT_ENCRYPTION "Encryption Type"
|
||||||
|
IDS_CERT_PRIVACY "Privacy Strength"
|
||||||
|
IDS_CERT_HIGH "High"
|
||||||
|
IDS_CERT_LOW "Low"
|
||||||
|
IDS_CERT_BITS "bits"
|
||||||
}
|
}
|
||||||
|
|
||||||
IDD_PROXYDLG DIALOGEX 36, 24, 220, 146
|
IDD_PROXYDLG DIALOGEX 36, 24, 220, 146
|
||||||
|
|
|
@ -25,6 +25,17 @@ STRINGTABLE
|
||||||
IDS_CERT_DATE_INVALID "The date on the certificate is invalid."
|
IDS_CERT_DATE_INVALID "The date on the certificate is invalid."
|
||||||
IDS_CERT_CN_INVALID "The name on the certificate does not match the site."
|
IDS_CERT_CN_INVALID "The name on the certificate does not match the site."
|
||||||
IDS_CERT_ERRORS "There is at least one unspecified security problem with this certificate."
|
IDS_CERT_ERRORS "There is at least one unspecified security problem with this certificate."
|
||||||
|
IDS_CERT_SUBJECT "Subject"
|
||||||
|
IDS_CERT_ISSUER "Issuer"
|
||||||
|
IDS_CERT_EFFECTIVE "Effective Date"
|
||||||
|
IDS_CERT_EXPIRATION "Expiration Date"
|
||||||
|
IDS_CERT_PROTOCOL "Security Protocol"
|
||||||
|
IDS_CERT_SIGNATURE "Signature Type"
|
||||||
|
IDS_CERT_ENCRYPTION "Encryption Type"
|
||||||
|
IDS_CERT_PRIVACY "Privacy Strength"
|
||||||
|
IDS_CERT_HIGH "High"
|
||||||
|
IDS_CERT_LOW "Low"
|
||||||
|
IDS_CERT_BITS "bits"
|
||||||
}
|
}
|
||||||
|
|
||||||
IDD_PROXYDLG DIALOGEX 36, 24, 220, 146
|
IDD_PROXYDLG DIALOGEX 36, 24, 220, 146
|
||||||
|
|
|
@ -27,6 +27,17 @@ STRINGTABLE
|
||||||
IDS_CERT_DATE_INVALID "The date on the certificate is invalid."
|
IDS_CERT_DATE_INVALID "The date on the certificate is invalid."
|
||||||
IDS_CERT_CN_INVALID "The name on the certificate does not match the site."
|
IDS_CERT_CN_INVALID "The name on the certificate does not match the site."
|
||||||
IDS_CERT_ERRORS "There is at least one unspecified security problem with this certificate."
|
IDS_CERT_ERRORS "There is at least one unspecified security problem with this certificate."
|
||||||
|
IDS_CERT_SUBJECT "Subject"
|
||||||
|
IDS_CERT_ISSUER "Issuer"
|
||||||
|
IDS_CERT_EFFECTIVE "Effective Date"
|
||||||
|
IDS_CERT_EXPIRATION "Expiration Date"
|
||||||
|
IDS_CERT_PROTOCOL "Security Protocol"
|
||||||
|
IDS_CERT_SIGNATURE "Signature Type"
|
||||||
|
IDS_CERT_ENCRYPTION "Encryption Type"
|
||||||
|
IDS_CERT_PRIVACY "Privacy Strength"
|
||||||
|
IDS_CERT_HIGH "High"
|
||||||
|
IDS_CERT_LOW "Low"
|
||||||
|
IDS_CERT_BITS "bits"
|
||||||
}
|
}
|
||||||
|
|
||||||
IDD_PROXYDLG DIALOGEX 36, 24, 220, 146
|
IDD_PROXYDLG DIALOGEX 36, 24, 220, 146
|
||||||
|
|
|
@ -25,6 +25,17 @@ STRINGTABLE
|
||||||
IDS_CERT_DATE_INVALID "La fecha del certificado no es válida."
|
IDS_CERT_DATE_INVALID "La fecha del certificado no es válida."
|
||||||
IDS_CERT_CN_INVALID "El nombre que hay en el certificado no encaja con el del sitio."
|
IDS_CERT_CN_INVALID "El nombre que hay en el certificado no encaja con el del sitio."
|
||||||
IDS_CERT_ERRORS "Hay por lo menos un problema de seguridad sin especificar con este certificado."
|
IDS_CERT_ERRORS "Hay por lo menos un problema de seguridad sin especificar con este certificado."
|
||||||
|
IDS_CERT_SUBJECT "Subject"
|
||||||
|
IDS_CERT_ISSUER "Issuer"
|
||||||
|
IDS_CERT_EFFECTIVE "Effective Date"
|
||||||
|
IDS_CERT_EXPIRATION "Expiration Date"
|
||||||
|
IDS_CERT_PROTOCOL "Security Protocol"
|
||||||
|
IDS_CERT_SIGNATURE "Signature Type"
|
||||||
|
IDS_CERT_ENCRYPTION "Encryption Type"
|
||||||
|
IDS_CERT_PRIVACY "Privacy Strength"
|
||||||
|
IDS_CERT_HIGH "High"
|
||||||
|
IDS_CERT_LOW "Low"
|
||||||
|
IDS_CERT_BITS "bits"
|
||||||
}
|
}
|
||||||
|
|
||||||
IDD_PROXYDLG DIALOGEX 36, 24, 220, 146
|
IDD_PROXYDLG DIALOGEX 36, 24, 220, 146
|
||||||
|
|
|
@ -25,6 +25,17 @@ STRINGTABLE
|
||||||
IDS_CERT_DATE_INVALID "The date on the certificate is invalid."
|
IDS_CERT_DATE_INVALID "The date on the certificate is invalid."
|
||||||
IDS_CERT_CN_INVALID "The name on the certificate does not match the site."
|
IDS_CERT_CN_INVALID "The name on the certificate does not match the site."
|
||||||
IDS_CERT_ERRORS "There is at least one unspecified security problem with this certificate."
|
IDS_CERT_ERRORS "There is at least one unspecified security problem with this certificate."
|
||||||
|
IDS_CERT_SUBJECT "Subject"
|
||||||
|
IDS_CERT_ISSUER "Issuer"
|
||||||
|
IDS_CERT_EFFECTIVE "Effective Date"
|
||||||
|
IDS_CERT_EXPIRATION "Expiration Date"
|
||||||
|
IDS_CERT_PROTOCOL "Security Protocol"
|
||||||
|
IDS_CERT_SIGNATURE "Signature Type"
|
||||||
|
IDS_CERT_ENCRYPTION "Encryption Type"
|
||||||
|
IDS_CERT_PRIVACY "Privacy Strength"
|
||||||
|
IDS_CERT_HIGH "High"
|
||||||
|
IDS_CERT_LOW "Low"
|
||||||
|
IDS_CERT_BITS "bits"
|
||||||
}
|
}
|
||||||
|
|
||||||
IDD_PROXYDLG DIALOGEX 36, 24, 220, 146
|
IDD_PROXYDLG DIALOGEX 36, 24, 220, 146
|
||||||
|
|
|
@ -34,6 +34,17 @@ STRINGTABLE
|
||||||
IDS_CERT_DATE_INVALID "The date on the certificate is invalid."
|
IDS_CERT_DATE_INVALID "The date on the certificate is invalid."
|
||||||
IDS_CERT_CN_INVALID "The name on the certificate does not match the site."
|
IDS_CERT_CN_INVALID "The name on the certificate does not match the site."
|
||||||
IDS_CERT_ERRORS "There is at least one unspecified security problem with this certificate."
|
IDS_CERT_ERRORS "There is at least one unspecified security problem with this certificate."
|
||||||
|
IDS_CERT_SUBJECT "Subject"
|
||||||
|
IDS_CERT_ISSUER "Issuer"
|
||||||
|
IDS_CERT_EFFECTIVE "Effective Date"
|
||||||
|
IDS_CERT_EXPIRATION "Expiration Date"
|
||||||
|
IDS_CERT_PROTOCOL "Security Protocol"
|
||||||
|
IDS_CERT_SIGNATURE "Signature Type"
|
||||||
|
IDS_CERT_ENCRYPTION "Encryption Type"
|
||||||
|
IDS_CERT_PRIVACY "Privacy Strength"
|
||||||
|
IDS_CERT_HIGH "High"
|
||||||
|
IDS_CERT_LOW "Low"
|
||||||
|
IDS_CERT_BITS "bits"
|
||||||
}
|
}
|
||||||
|
|
||||||
IDD_PROXYDLG DIALOGEX 36, 24, 220, 146
|
IDD_PROXYDLG DIALOGEX 36, 24, 220, 146
|
||||||
|
|
|
@ -28,6 +28,17 @@ STRINGTABLE
|
||||||
IDS_CERT_DATE_INVALID "The date on the certificate is invalid."
|
IDS_CERT_DATE_INVALID "The date on the certificate is invalid."
|
||||||
IDS_CERT_CN_INVALID "The name on the certificate does not match the site."
|
IDS_CERT_CN_INVALID "The name on the certificate does not match the site."
|
||||||
IDS_CERT_ERRORS "There is at least one unspecified security problem with this certificate."
|
IDS_CERT_ERRORS "There is at least one unspecified security problem with this certificate."
|
||||||
|
IDS_CERT_SUBJECT "Subject"
|
||||||
|
IDS_CERT_ISSUER "Issuer"
|
||||||
|
IDS_CERT_EFFECTIVE "Effective Date"
|
||||||
|
IDS_CERT_EXPIRATION "Expiration Date"
|
||||||
|
IDS_CERT_PROTOCOL "Security Protocol"
|
||||||
|
IDS_CERT_SIGNATURE "Signature Type"
|
||||||
|
IDS_CERT_ENCRYPTION "Encryption Type"
|
||||||
|
IDS_CERT_PRIVACY "Privacy Strength"
|
||||||
|
IDS_CERT_HIGH "High"
|
||||||
|
IDS_CERT_LOW "Low"
|
||||||
|
IDS_CERT_BITS "bits"
|
||||||
}
|
}
|
||||||
|
|
||||||
IDD_PROXYDLG DIALOGEX 36, 24, 220, 146
|
IDD_PROXYDLG DIALOGEX 36, 24, 220, 146
|
||||||
|
|
|
@ -28,6 +28,17 @@ STRINGTABLE
|
||||||
IDS_CERT_DATE_INVALID "The date on the certificate is invalid."
|
IDS_CERT_DATE_INVALID "The date on the certificate is invalid."
|
||||||
IDS_CERT_CN_INVALID "The name on the certificate does not match the site."
|
IDS_CERT_CN_INVALID "The name on the certificate does not match the site."
|
||||||
IDS_CERT_ERRORS "There is at least one unspecified security problem with this certificate."
|
IDS_CERT_ERRORS "There is at least one unspecified security problem with this certificate."
|
||||||
|
IDS_CERT_SUBJECT "Subject"
|
||||||
|
IDS_CERT_ISSUER "Issuer"
|
||||||
|
IDS_CERT_EFFECTIVE "Effective Date"
|
||||||
|
IDS_CERT_EXPIRATION "Expiration Date"
|
||||||
|
IDS_CERT_PROTOCOL "Security Protocol"
|
||||||
|
IDS_CERT_SIGNATURE "Signature Type"
|
||||||
|
IDS_CERT_ENCRYPTION "Encryption Type"
|
||||||
|
IDS_CERT_PRIVACY "Privacy Strength"
|
||||||
|
IDS_CERT_HIGH "High"
|
||||||
|
IDS_CERT_LOW "Low"
|
||||||
|
IDS_CERT_BITS "bits"
|
||||||
}
|
}
|
||||||
|
|
||||||
IDD_PROXYDLG DIALOGEX 36, 24, 220, 146
|
IDD_PROXYDLG DIALOGEX 36, 24, 220, 146
|
||||||
|
|
|
@ -31,6 +31,17 @@ STRINGTABLE
|
||||||
IDS_CERT_DATE_INVALID "The date on the certificate is invalid."
|
IDS_CERT_DATE_INVALID "The date on the certificate is invalid."
|
||||||
IDS_CERT_CN_INVALID "The name on the certificate does not match the site."
|
IDS_CERT_CN_INVALID "The name on the certificate does not match the site."
|
||||||
IDS_CERT_ERRORS "There is at least one unspecified security problem with this certificate."
|
IDS_CERT_ERRORS "There is at least one unspecified security problem with this certificate."
|
||||||
|
IDS_CERT_SUBJECT "Subject"
|
||||||
|
IDS_CERT_ISSUER "Issuer"
|
||||||
|
IDS_CERT_EFFECTIVE "Effective Date"
|
||||||
|
IDS_CERT_EXPIRATION "Expiration Date"
|
||||||
|
IDS_CERT_PROTOCOL "Security Protocol"
|
||||||
|
IDS_CERT_SIGNATURE "Signature Type"
|
||||||
|
IDS_CERT_ENCRYPTION "Encryption Type"
|
||||||
|
IDS_CERT_PRIVACY "Privacy Strength"
|
||||||
|
IDS_CERT_HIGH "High"
|
||||||
|
IDS_CERT_LOW "Low"
|
||||||
|
IDS_CERT_BITS "bits"
|
||||||
}
|
}
|
||||||
|
|
||||||
IDD_PROXYDLG DIALOGEX 36, 24, 220, 146
|
IDD_PROXYDLG DIALOGEX 36, 24, 220, 146
|
||||||
|
|
|
@ -28,6 +28,17 @@ STRINGTABLE
|
||||||
IDS_CERT_DATE_INVALID "The date on the certificate is invalid."
|
IDS_CERT_DATE_INVALID "The date on the certificate is invalid."
|
||||||
IDS_CERT_CN_INVALID "The name on the certificate does not match the site."
|
IDS_CERT_CN_INVALID "The name on the certificate does not match the site."
|
||||||
IDS_CERT_ERRORS "There is at least one unspecified security problem with this certificate."
|
IDS_CERT_ERRORS "There is at least one unspecified security problem with this certificate."
|
||||||
|
IDS_CERT_SUBJECT "Subject"
|
||||||
|
IDS_CERT_ISSUER "Issuer"
|
||||||
|
IDS_CERT_EFFECTIVE "Effective Date"
|
||||||
|
IDS_CERT_EXPIRATION "Expiration Date"
|
||||||
|
IDS_CERT_PROTOCOL "Security Protocol"
|
||||||
|
IDS_CERT_SIGNATURE "Signature Type"
|
||||||
|
IDS_CERT_ENCRYPTION "Encryption Type"
|
||||||
|
IDS_CERT_PRIVACY "Privacy Strength"
|
||||||
|
IDS_CERT_HIGH "High"
|
||||||
|
IDS_CERT_LOW "Low"
|
||||||
|
IDS_CERT_BITS "bits"
|
||||||
}
|
}
|
||||||
|
|
||||||
IDD_PROXYDLG DIALOGEX 36, 24, 220, 146
|
IDD_PROXYDLG DIALOGEX 36, 24, 220, 146
|
||||||
|
|
|
@ -28,6 +28,17 @@ STRINGTABLE
|
||||||
IDS_CERT_DATE_INVALID "The date on the certificate is invalid."
|
IDS_CERT_DATE_INVALID "The date on the certificate is invalid."
|
||||||
IDS_CERT_CN_INVALID "The name on the certificate does not match the site."
|
IDS_CERT_CN_INVALID "The name on the certificate does not match the site."
|
||||||
IDS_CERT_ERRORS "There is at least one unspecified security problem with this certificate."
|
IDS_CERT_ERRORS "There is at least one unspecified security problem with this certificate."
|
||||||
|
IDS_CERT_SUBJECT "Subject"
|
||||||
|
IDS_CERT_ISSUER "Issuer"
|
||||||
|
IDS_CERT_EFFECTIVE "Effective Date"
|
||||||
|
IDS_CERT_EXPIRATION "Expiration Date"
|
||||||
|
IDS_CERT_PROTOCOL "Security Protocol"
|
||||||
|
IDS_CERT_SIGNATURE "Signature Type"
|
||||||
|
IDS_CERT_ENCRYPTION "Encryption Type"
|
||||||
|
IDS_CERT_PRIVACY "Privacy Strength"
|
||||||
|
IDS_CERT_HIGH "High"
|
||||||
|
IDS_CERT_LOW "Low"
|
||||||
|
IDS_CERT_BITS "bits"
|
||||||
}
|
}
|
||||||
|
|
||||||
IDD_PROXYDLG DIALOGEX 36, 24, 220, 146
|
IDD_PROXYDLG DIALOGEX 36, 24, 220, 146
|
||||||
|
|
|
@ -28,6 +28,17 @@ STRINGTABLE
|
||||||
IDS_CERT_DATE_INVALID "The date on the certificate is invalid."
|
IDS_CERT_DATE_INVALID "The date on the certificate is invalid."
|
||||||
IDS_CERT_CN_INVALID "The name on the certificate does not match the site."
|
IDS_CERT_CN_INVALID "The name on the certificate does not match the site."
|
||||||
IDS_CERT_ERRORS "There is at least one unspecified security problem with this certificate."
|
IDS_CERT_ERRORS "There is at least one unspecified security problem with this certificate."
|
||||||
|
IDS_CERT_SUBJECT "Subject"
|
||||||
|
IDS_CERT_ISSUER "Issuer"
|
||||||
|
IDS_CERT_EFFECTIVE "Effective Date"
|
||||||
|
IDS_CERT_EXPIRATION "Expiration Date"
|
||||||
|
IDS_CERT_PROTOCOL "Security Protocol"
|
||||||
|
IDS_CERT_SIGNATURE "Signature Type"
|
||||||
|
IDS_CERT_ENCRYPTION "Encryption Type"
|
||||||
|
IDS_CERT_PRIVACY "Privacy Strength"
|
||||||
|
IDS_CERT_HIGH "High"
|
||||||
|
IDS_CERT_LOW "Low"
|
||||||
|
IDS_CERT_BITS "bits"
|
||||||
}
|
}
|
||||||
|
|
||||||
IDD_PROXYDLG DIALOGEX 36, 24, 220, 146
|
IDD_PROXYDLG DIALOGEX 36, 24, 220, 146
|
||||||
|
|
|
@ -29,6 +29,17 @@ STRINGTABLE
|
||||||
IDS_CERT_DATE_INVALID "The date on the certificate is invalid."
|
IDS_CERT_DATE_INVALID "The date on the certificate is invalid."
|
||||||
IDS_CERT_CN_INVALID "The name on the certificate does not match the site."
|
IDS_CERT_CN_INVALID "The name on the certificate does not match the site."
|
||||||
IDS_CERT_ERRORS "There is at least one unspecified security problem with this certificate."
|
IDS_CERT_ERRORS "There is at least one unspecified security problem with this certificate."
|
||||||
|
IDS_CERT_SUBJECT "Subject"
|
||||||
|
IDS_CERT_ISSUER "Issuer"
|
||||||
|
IDS_CERT_EFFECTIVE "Effective Date"
|
||||||
|
IDS_CERT_EXPIRATION "Expiration Date"
|
||||||
|
IDS_CERT_PROTOCOL "Security Protocol"
|
||||||
|
IDS_CERT_SIGNATURE "Signature Type"
|
||||||
|
IDS_CERT_ENCRYPTION "Encryption Type"
|
||||||
|
IDS_CERT_PRIVACY "Privacy Strength"
|
||||||
|
IDS_CERT_HIGH "High"
|
||||||
|
IDS_CERT_LOW "Low"
|
||||||
|
IDS_CERT_BITS "bits"
|
||||||
}
|
}
|
||||||
|
|
||||||
IDD_PROXYDLG DIALOGEX 36, 24, 220, 146
|
IDD_PROXYDLG DIALOGEX 36, 24, 220, 146
|
||||||
|
|
|
@ -27,6 +27,17 @@ STRINGTABLE
|
||||||
IDS_CERT_DATE_INVALID "The date on the certificate is invalid."
|
IDS_CERT_DATE_INVALID "The date on the certificate is invalid."
|
||||||
IDS_CERT_CN_INVALID "The name on the certificate does not match the site."
|
IDS_CERT_CN_INVALID "The name on the certificate does not match the site."
|
||||||
IDS_CERT_ERRORS "There is at least one unspecified security problem with this certificate."
|
IDS_CERT_ERRORS "There is at least one unspecified security problem with this certificate."
|
||||||
|
IDS_CERT_SUBJECT "Subject"
|
||||||
|
IDS_CERT_ISSUER "Issuer"
|
||||||
|
IDS_CERT_EFFECTIVE "Effective Date"
|
||||||
|
IDS_CERT_EXPIRATION "Expiration Date"
|
||||||
|
IDS_CERT_PROTOCOL "Security Protocol"
|
||||||
|
IDS_CERT_SIGNATURE "Signature Type"
|
||||||
|
IDS_CERT_ENCRYPTION "Encryption Type"
|
||||||
|
IDS_CERT_PRIVACY "Privacy Strength"
|
||||||
|
IDS_CERT_HIGH "High"
|
||||||
|
IDS_CERT_LOW "Low"
|
||||||
|
IDS_CERT_BITS "bits"
|
||||||
}
|
}
|
||||||
|
|
||||||
IDD_PROXYDLG DIALOGEX 36, 24, 220, 146
|
IDD_PROXYDLG DIALOGEX 36, 24, 220, 146
|
||||||
|
|
|
@ -27,6 +27,17 @@ STRINGTABLE
|
||||||
IDS_CERT_DATE_INVALID "Data certyfikatu jest nieprawidłowa."
|
IDS_CERT_DATE_INVALID "Data certyfikatu jest nieprawidłowa."
|
||||||
IDS_CERT_CN_INVALID "Nazwa na certyfikacie nie pasuje do witryny."
|
IDS_CERT_CN_INVALID "Nazwa na certyfikacie nie pasuje do witryny."
|
||||||
IDS_CERT_ERRORS "Istnieje co najmniej jeden nieokreślony problem bezpieczeństwa z tym certyfikatem."
|
IDS_CERT_ERRORS "Istnieje co najmniej jeden nieokreślony problem bezpieczeństwa z tym certyfikatem."
|
||||||
|
IDS_CERT_SUBJECT "Subject"
|
||||||
|
IDS_CERT_ISSUER "Issuer"
|
||||||
|
IDS_CERT_EFFECTIVE "Effective Date"
|
||||||
|
IDS_CERT_EXPIRATION "Expiration Date"
|
||||||
|
IDS_CERT_PROTOCOL "Security Protocol"
|
||||||
|
IDS_CERT_SIGNATURE "Signature Type"
|
||||||
|
IDS_CERT_ENCRYPTION "Encryption Type"
|
||||||
|
IDS_CERT_PRIVACY "Privacy Strength"
|
||||||
|
IDS_CERT_HIGH "High"
|
||||||
|
IDS_CERT_LOW "Low"
|
||||||
|
IDS_CERT_BITS "bits"
|
||||||
}
|
}
|
||||||
|
|
||||||
IDD_PROXYDLG DIALOGEX 36, 24, 220, 146
|
IDD_PROXYDLG DIALOGEX 36, 24, 220, 146
|
||||||
|
|
|
@ -30,6 +30,17 @@ STRINGTABLE
|
||||||
IDS_CERT_DATE_INVALID "A data no certificado é inválida."
|
IDS_CERT_DATE_INVALID "A data no certificado é inválida."
|
||||||
IDS_CERT_CN_INVALID "O nome no certificado não corresponde ao site."
|
IDS_CERT_CN_INVALID "O nome no certificado não corresponde ao site."
|
||||||
IDS_CERT_ERRORS "Há pelo menos um problema de segurança não especificado com este certificado."
|
IDS_CERT_ERRORS "Há pelo menos um problema de segurança não especificado com este certificado."
|
||||||
|
IDS_CERT_SUBJECT "Subject"
|
||||||
|
IDS_CERT_ISSUER "Issuer"
|
||||||
|
IDS_CERT_EFFECTIVE "Effective Date"
|
||||||
|
IDS_CERT_EXPIRATION "Expiration Date"
|
||||||
|
IDS_CERT_PROTOCOL "Security Protocol"
|
||||||
|
IDS_CERT_SIGNATURE "Signature Type"
|
||||||
|
IDS_CERT_ENCRYPTION "Encryption Type"
|
||||||
|
IDS_CERT_PRIVACY "Privacy Strength"
|
||||||
|
IDS_CERT_HIGH "High"
|
||||||
|
IDS_CERT_LOW "Low"
|
||||||
|
IDS_CERT_BITS "bits"
|
||||||
}
|
}
|
||||||
|
|
||||||
IDD_PROXYDLG DIALOGEX 36, 24, 220, 146
|
IDD_PROXYDLG DIALOGEX 36, 24, 220, 146
|
||||||
|
|
|
@ -29,6 +29,17 @@ STRINGTABLE
|
||||||
IDS_CERT_DATE_INVALID "Data din certificat nu este validă."
|
IDS_CERT_DATE_INVALID "Data din certificat nu este validă."
|
||||||
IDS_CERT_CN_INVALID "Numele din certificat nu corespunde cu cel al sitului."
|
IDS_CERT_CN_INVALID "Numele din certificat nu corespunde cu cel al sitului."
|
||||||
IDS_CERT_ERRORS "Există cel puțin o problemă nespecificată de securitate cu acest certificat."
|
IDS_CERT_ERRORS "Există cel puțin o problemă nespecificată de securitate cu acest certificat."
|
||||||
|
IDS_CERT_SUBJECT "Subject"
|
||||||
|
IDS_CERT_ISSUER "Issuer"
|
||||||
|
IDS_CERT_EFFECTIVE "Effective Date"
|
||||||
|
IDS_CERT_EXPIRATION "Expiration Date"
|
||||||
|
IDS_CERT_PROTOCOL "Security Protocol"
|
||||||
|
IDS_CERT_SIGNATURE "Signature Type"
|
||||||
|
IDS_CERT_ENCRYPTION "Encryption Type"
|
||||||
|
IDS_CERT_PRIVACY "Privacy Strength"
|
||||||
|
IDS_CERT_HIGH "High"
|
||||||
|
IDS_CERT_LOW "Low"
|
||||||
|
IDS_CERT_BITS "bits"
|
||||||
}
|
}
|
||||||
|
|
||||||
IDD_PROXYDLG DIALOGEX 36, 24, 220, 146
|
IDD_PROXYDLG DIALOGEX 36, 24, 220, 146
|
||||||
|
|
|
@ -30,6 +30,17 @@ STRINGTABLE
|
||||||
IDS_CERT_DATE_INVALID "Данный сертификат недействителен. Проверьте правильность установленного на компьютере времени."
|
IDS_CERT_DATE_INVALID "Данный сертификат недействителен. Проверьте правильность установленного на компьютере времени."
|
||||||
IDS_CERT_CN_INVALID "Просматриваемый сертификат не соответствует названию сайта."
|
IDS_CERT_CN_INVALID "Просматриваемый сертификат не соответствует названию сайта."
|
||||||
IDS_CERT_ERRORS "Данный сертификат поврежден, и проверить его подлинность невозможно."
|
IDS_CERT_ERRORS "Данный сертификат поврежден, и проверить его подлинность невозможно."
|
||||||
|
IDS_CERT_SUBJECT "Subject"
|
||||||
|
IDS_CERT_ISSUER "Issuer"
|
||||||
|
IDS_CERT_EFFECTIVE "Effective Date"
|
||||||
|
IDS_CERT_EXPIRATION "Expiration Date"
|
||||||
|
IDS_CERT_PROTOCOL "Security Protocol"
|
||||||
|
IDS_CERT_SIGNATURE "Signature Type"
|
||||||
|
IDS_CERT_ENCRYPTION "Encryption Type"
|
||||||
|
IDS_CERT_PRIVACY "Privacy Strength"
|
||||||
|
IDS_CERT_HIGH "High"
|
||||||
|
IDS_CERT_LOW "Low"
|
||||||
|
IDS_CERT_BITS "bits"
|
||||||
}
|
}
|
||||||
|
|
||||||
IDD_PROXYDLG DIALOGEX 36, 24, 220, 146
|
IDD_PROXYDLG DIALOGEX 36, 24, 220, 146
|
||||||
|
|
|
@ -27,6 +27,17 @@ STRINGTABLE
|
||||||
IDS_CERT_DATE_INVALID "The date on the certificate is invalid."
|
IDS_CERT_DATE_INVALID "The date on the certificate is invalid."
|
||||||
IDS_CERT_CN_INVALID "The name on the certificate does not match the site."
|
IDS_CERT_CN_INVALID "The name on the certificate does not match the site."
|
||||||
IDS_CERT_ERRORS "There is at least one unspecified security problem with this certificate."
|
IDS_CERT_ERRORS "There is at least one unspecified security problem with this certificate."
|
||||||
|
IDS_CERT_SUBJECT "Subject"
|
||||||
|
IDS_CERT_ISSUER "Issuer"
|
||||||
|
IDS_CERT_EFFECTIVE "Effective Date"
|
||||||
|
IDS_CERT_EXPIRATION "Expiration Date"
|
||||||
|
IDS_CERT_PROTOCOL "Security Protocol"
|
||||||
|
IDS_CERT_SIGNATURE "Signature Type"
|
||||||
|
IDS_CERT_ENCRYPTION "Encryption Type"
|
||||||
|
IDS_CERT_PRIVACY "Privacy Strength"
|
||||||
|
IDS_CERT_HIGH "High"
|
||||||
|
IDS_CERT_LOW "Low"
|
||||||
|
IDS_CERT_BITS "bits"
|
||||||
}
|
}
|
||||||
|
|
||||||
IDD_PROXYDLG DIALOGEX 36, 24, 220, 146
|
IDD_PROXYDLG DIALOGEX 36, 24, 220, 146
|
||||||
|
|
|
@ -25,6 +25,17 @@ STRINGTABLE
|
||||||
IDS_CERT_DATE_INVALID "The date on the certificate is invalid."
|
IDS_CERT_DATE_INVALID "The date on the certificate is invalid."
|
||||||
IDS_CERT_CN_INVALID "The name on the certificate does not match the site."
|
IDS_CERT_CN_INVALID "The name on the certificate does not match the site."
|
||||||
IDS_CERT_ERRORS "There is at least one unspecified security problem with this certificate."
|
IDS_CERT_ERRORS "There is at least one unspecified security problem with this certificate."
|
||||||
|
IDS_CERT_SUBJECT "Subject"
|
||||||
|
IDS_CERT_ISSUER "Issuer"
|
||||||
|
IDS_CERT_EFFECTIVE "Effective Date"
|
||||||
|
IDS_CERT_EXPIRATION "Expiration Date"
|
||||||
|
IDS_CERT_PROTOCOL "Security Protocol"
|
||||||
|
IDS_CERT_SIGNATURE "Signature Type"
|
||||||
|
IDS_CERT_ENCRYPTION "Encryption Type"
|
||||||
|
IDS_CERT_PRIVACY "Privacy Strength"
|
||||||
|
IDS_CERT_HIGH "High"
|
||||||
|
IDS_CERT_LOW "Low"
|
||||||
|
IDS_CERT_BITS "bits"
|
||||||
}
|
}
|
||||||
|
|
||||||
IDD_PROXYDLG DIALOGEX 36, 24, 220, 146
|
IDD_PROXYDLG DIALOGEX 36, 24, 220, 146
|
||||||
|
|
|
@ -28,6 +28,17 @@ STRINGTABLE
|
||||||
IDS_CERT_DATE_INVALID "The date on the certificate is invalid."
|
IDS_CERT_DATE_INVALID "The date on the certificate is invalid."
|
||||||
IDS_CERT_CN_INVALID "The name on the certificate does not match the site."
|
IDS_CERT_CN_INVALID "The name on the certificate does not match the site."
|
||||||
IDS_CERT_ERRORS "There is at least one unspecified security problem with this certificate."
|
IDS_CERT_ERRORS "There is at least one unspecified security problem with this certificate."
|
||||||
|
IDS_CERT_SUBJECT "Subject"
|
||||||
|
IDS_CERT_ISSUER "Issuer"
|
||||||
|
IDS_CERT_EFFECTIVE "Effective Date"
|
||||||
|
IDS_CERT_EXPIRATION "Expiration Date"
|
||||||
|
IDS_CERT_PROTOCOL "Security Protocol"
|
||||||
|
IDS_CERT_SIGNATURE "Signature Type"
|
||||||
|
IDS_CERT_ENCRYPTION "Encryption Type"
|
||||||
|
IDS_CERT_PRIVACY "Privacy Strength"
|
||||||
|
IDS_CERT_HIGH "High"
|
||||||
|
IDS_CERT_LOW "Low"
|
||||||
|
IDS_CERT_BITS "bits"
|
||||||
}
|
}
|
||||||
|
|
||||||
IDD_PROXYDLG DIALOGEX 36, 24, 220, 146
|
IDD_PROXYDLG DIALOGEX 36, 24, 220, 146
|
||||||
|
|
|
@ -25,6 +25,17 @@ STRINGTABLE
|
||||||
IDS_CERT_DATE_INVALID "The date on the certificate is invalid."
|
IDS_CERT_DATE_INVALID "The date on the certificate is invalid."
|
||||||
IDS_CERT_CN_INVALID "The name on the certificate does not match the site."
|
IDS_CERT_CN_INVALID "The name on the certificate does not match the site."
|
||||||
IDS_CERT_ERRORS "There is at least one unspecified security problem with this certificate."
|
IDS_CERT_ERRORS "There is at least one unspecified security problem with this certificate."
|
||||||
|
IDS_CERT_SUBJECT "Subject"
|
||||||
|
IDS_CERT_ISSUER "Issuer"
|
||||||
|
IDS_CERT_EFFECTIVE "Effective Date"
|
||||||
|
IDS_CERT_EXPIRATION "Expiration Date"
|
||||||
|
IDS_CERT_PROTOCOL "Security Protocol"
|
||||||
|
IDS_CERT_SIGNATURE "Signature Type"
|
||||||
|
IDS_CERT_ENCRYPTION "Encryption Type"
|
||||||
|
IDS_CERT_PRIVACY "Privacy Strength"
|
||||||
|
IDS_CERT_HIGH "High"
|
||||||
|
IDS_CERT_LOW "Low"
|
||||||
|
IDS_CERT_BITS "bits"
|
||||||
}
|
}
|
||||||
|
|
||||||
IDD_PROXYDLG DIALOGEX 36, 24, 220, 146
|
IDD_PROXYDLG DIALOGEX 36, 24, 220, 146
|
||||||
|
|
|
@ -27,6 +27,17 @@ STRINGTABLE
|
||||||
IDS_CERT_DATE_INVALID "Onay belgesindeki zaman geçersiz."
|
IDS_CERT_DATE_INVALID "Onay belgesindeki zaman geçersiz."
|
||||||
IDS_CERT_CN_INVALID "Onay belgesindeki ad siteyle uyuşmuyor."
|
IDS_CERT_CN_INVALID "Onay belgesindeki ad siteyle uyuşmuyor."
|
||||||
IDS_CERT_ERRORS "Bu onay belgesiyle en az bir belirtilmemiş güvenlik sorunu var."
|
IDS_CERT_ERRORS "Bu onay belgesiyle en az bir belirtilmemiş güvenlik sorunu var."
|
||||||
|
IDS_CERT_SUBJECT "Subject"
|
||||||
|
IDS_CERT_ISSUER "Issuer"
|
||||||
|
IDS_CERT_EFFECTIVE "Effective Date"
|
||||||
|
IDS_CERT_EXPIRATION "Expiration Date"
|
||||||
|
IDS_CERT_PROTOCOL "Security Protocol"
|
||||||
|
IDS_CERT_SIGNATURE "Signature Type"
|
||||||
|
IDS_CERT_ENCRYPTION "Encryption Type"
|
||||||
|
IDS_CERT_PRIVACY "Privacy Strength"
|
||||||
|
IDS_CERT_HIGH "High"
|
||||||
|
IDS_CERT_LOW "Low"
|
||||||
|
IDS_CERT_BITS "bits"
|
||||||
}
|
}
|
||||||
|
|
||||||
IDD_PROXYDLG DIALOGEX 36, 24, 220, 146
|
IDD_PROXYDLG DIALOGEX 36, 24, 220, 146
|
||||||
|
|
|
@ -31,6 +31,17 @@ STRINGTABLE
|
||||||
IDS_CERT_DATE_INVALID "The date on the certificate is invalid."
|
IDS_CERT_DATE_INVALID "The date on the certificate is invalid."
|
||||||
IDS_CERT_CN_INVALID "The name on the certificate does not match the site."
|
IDS_CERT_CN_INVALID "The name on the certificate does not match the site."
|
||||||
IDS_CERT_ERRORS "There is at least one unspecified security problem with this certificate."
|
IDS_CERT_ERRORS "There is at least one unspecified security problem with this certificate."
|
||||||
|
IDS_CERT_SUBJECT "Subject"
|
||||||
|
IDS_CERT_ISSUER "Issuer"
|
||||||
|
IDS_CERT_EFFECTIVE "Effective Date"
|
||||||
|
IDS_CERT_EXPIRATION "Expiration Date"
|
||||||
|
IDS_CERT_PROTOCOL "Security Protocol"
|
||||||
|
IDS_CERT_SIGNATURE "Signature Type"
|
||||||
|
IDS_CERT_ENCRYPTION "Encryption Type"
|
||||||
|
IDS_CERT_PRIVACY "Privacy Strength"
|
||||||
|
IDS_CERT_HIGH "High"
|
||||||
|
IDS_CERT_LOW "Low"
|
||||||
|
IDS_CERT_BITS "bits"
|
||||||
}
|
}
|
||||||
|
|
||||||
IDD_PROXYDLG DIALOGEX 36, 24, 220, 146
|
IDD_PROXYDLG DIALOGEX 36, 24, 220, 146
|
||||||
|
|
|
@ -31,6 +31,17 @@ STRINGTABLE
|
||||||
IDS_CERT_DATE_INVALID "证书上的日期是无效的。"
|
IDS_CERT_DATE_INVALID "证书上的日期是无效的。"
|
||||||
IDS_CERT_CN_INVALID "证书上的名称与该站点不匹配。"
|
IDS_CERT_CN_INVALID "证书上的名称与该站点不匹配。"
|
||||||
IDS_CERT_ERRORS "还有与此证书的至少一个未指定的安全问题。"
|
IDS_CERT_ERRORS "还有与此证书的至少一个未指定的安全问题。"
|
||||||
|
IDS_CERT_SUBJECT "Subject"
|
||||||
|
IDS_CERT_ISSUER "Issuer"
|
||||||
|
IDS_CERT_EFFECTIVE "Effective Date"
|
||||||
|
IDS_CERT_EXPIRATION "Expiration Date"
|
||||||
|
IDS_CERT_PROTOCOL "Security Protocol"
|
||||||
|
IDS_CERT_SIGNATURE "Signature Type"
|
||||||
|
IDS_CERT_ENCRYPTION "Encryption Type"
|
||||||
|
IDS_CERT_PRIVACY "Privacy Strength"
|
||||||
|
IDS_CERT_HIGH "High"
|
||||||
|
IDS_CERT_LOW "Low"
|
||||||
|
IDS_CERT_BITS "bits"
|
||||||
}
|
}
|
||||||
|
|
||||||
IDD_PROXYDLG DIALOGEX 36, 24, 220, 146
|
IDD_PROXYDLG DIALOGEX 36, 24, 220, 146
|
||||||
|
|
|
@ -40,3 +40,14 @@
|
||||||
#define IDS_CERT_DATE_INVALID 0x502
|
#define IDS_CERT_DATE_INVALID 0x502
|
||||||
#define IDS_CERT_CN_INVALID 0x503
|
#define IDS_CERT_CN_INVALID 0x503
|
||||||
#define IDS_CERT_ERRORS 0x504
|
#define IDS_CERT_ERRORS 0x504
|
||||||
|
#define IDS_CERT_SUBJECT 0x505
|
||||||
|
#define IDS_CERT_ISSUER 0x506
|
||||||
|
#define IDS_CERT_EFFECTIVE 0x507
|
||||||
|
#define IDS_CERT_EXPIRATION 0x508
|
||||||
|
#define IDS_CERT_PROTOCOL 0x509
|
||||||
|
#define IDS_CERT_SIGNATURE 0x50a
|
||||||
|
#define IDS_CERT_ENCRYPTION 0x50b
|
||||||
|
#define IDS_CERT_PRIVACY 0x50c
|
||||||
|
#define IDS_CERT_HIGH 0x50d
|
||||||
|
#define IDS_CERT_LOW 0x50e
|
||||||
|
#define IDS_CERT_BITS 0x50f
|
||||||
|
|
|
@ -171,6 +171,26 @@ static INTERNET_STATUS_CALLBACK (WINAPI *pInternetSetStatusCallbackA)(HINTERNET
|
||||||
static INTERNET_STATUS_CALLBACK (WINAPI *pInternetSetStatusCallbackW)(HINTERNET ,INTERNET_STATUS_CALLBACK);
|
static INTERNET_STATUS_CALLBACK (WINAPI *pInternetSetStatusCallbackW)(HINTERNET ,INTERNET_STATUS_CALLBACK);
|
||||||
static BOOL (WINAPI *pInternetGetSecurityInfoByURLA)(LPSTR,PCCERT_CHAIN_CONTEXT*,DWORD*);
|
static BOOL (WINAPI *pInternetGetSecurityInfoByURLA)(LPSTR,PCCERT_CHAIN_CONTEXT*,DWORD*);
|
||||||
|
|
||||||
|
static BOOL is_lang_english(void)
|
||||||
|
{
|
||||||
|
static HMODULE hkernel32 = NULL;
|
||||||
|
static LANGID (WINAPI *pGetThreadUILanguage)(void) = NULL;
|
||||||
|
static LANGID (WINAPI *pGetUserDefaultUILanguage)(void) = NULL;
|
||||||
|
|
||||||
|
if (!hkernel32)
|
||||||
|
{
|
||||||
|
hkernel32 = GetModuleHandleA("kernel32.dll");
|
||||||
|
pGetThreadUILanguage = (void*)GetProcAddress(hkernel32, "GetThreadUILanguage");
|
||||||
|
pGetUserDefaultUILanguage = (void*)GetProcAddress(hkernel32, "GetUserDefaultUILanguage");
|
||||||
|
}
|
||||||
|
if (pGetThreadUILanguage)
|
||||||
|
return PRIMARYLANGID(pGetThreadUILanguage()) == LANG_ENGLISH;
|
||||||
|
if (pGetUserDefaultUILanguage)
|
||||||
|
return PRIMARYLANGID(pGetUserDefaultUILanguage()) == LANG_ENGLISH;
|
||||||
|
|
||||||
|
return PRIMARYLANGID(GetUserDefaultLangID()) == LANG_ENGLISH;
|
||||||
|
}
|
||||||
|
|
||||||
static int strcmp_wa(LPCWSTR strw, const char *stra)
|
static int strcmp_wa(LPCWSTR strw, const char *stra)
|
||||||
{
|
{
|
||||||
WCHAR buf[512];
|
WCHAR buf[512];
|
||||||
|
@ -6132,6 +6152,58 @@ static const cert_struct_test_t test_winehq_com_cert = {
|
||||||
"webmaster@winehq.org"
|
"webmaster@winehq.org"
|
||||||
};
|
};
|
||||||
|
|
||||||
|
static const char *cert_string_fmt =
|
||||||
|
"Subject:\r\n%s\r\n"
|
||||||
|
"Issuer:\r\n%s\r\n"
|
||||||
|
"Effective Date:\t%s %s\r\n"
|
||||||
|
"Expiration Date:\t%s %s\r\n"
|
||||||
|
"Security Protocol:\t%s\r\n"
|
||||||
|
"Signature Type:\t%s\r\n"
|
||||||
|
"Encryption Type:\t%s\r\n"
|
||||||
|
"Privacy Strength:\t%s (%u bits)";
|
||||||
|
|
||||||
|
static void test_cert_struct_string(HINTERNET req, const INTERNET_CERTIFICATE_INFOA *info)
|
||||||
|
{
|
||||||
|
SYSTEMTIME start, expiry;
|
||||||
|
char expiry_date[32];
|
||||||
|
char expiry_time[32];
|
||||||
|
char start_date[32];
|
||||||
|
char start_time[32];
|
||||||
|
char expect[512];
|
||||||
|
char actual[512];
|
||||||
|
DWORD size;
|
||||||
|
BOOL res;
|
||||||
|
|
||||||
|
size = sizeof(actual);
|
||||||
|
SetLastError(0xdeadbeef);
|
||||||
|
memset(actual, 0x55, sizeof(actual));
|
||||||
|
res = InternetQueryOptionA(req, INTERNET_OPTION_SECURITY_CERTIFICATE, actual, &size);
|
||||||
|
ok(res, "InternetQueryOption failed: %u\n", GetLastError());
|
||||||
|
|
||||||
|
FileTimeToSystemTime(&info->ftStart, &start);
|
||||||
|
FileTimeToSystemTime(&info->ftExpiry, &expiry);
|
||||||
|
|
||||||
|
GetDateFormatA(LOCALE_USER_DEFAULT, 0, &start, NULL, start_date, sizeof(start_date));
|
||||||
|
GetTimeFormatA(LOCALE_USER_DEFAULT, 0, &start, NULL, start_time, sizeof(start_time));
|
||||||
|
GetDateFormatA(LOCALE_USER_DEFAULT, 0, &expiry, NULL, expiry_date, sizeof(expiry_date));
|
||||||
|
GetTimeFormatA(LOCALE_USER_DEFAULT, 0, &expiry, NULL, expiry_time, sizeof(expiry_time));
|
||||||
|
|
||||||
|
snprintf(expect, sizeof(expect), cert_string_fmt, info->lpszSubjectInfo, info->lpszIssuerInfo,
|
||||||
|
start_date, start_time, expiry_date, expiry_time,
|
||||||
|
info->lpszSignatureAlgName, info->lpszEncryptionAlgName, info->lpszProtocolName,
|
||||||
|
info->dwKeySize >= 128 ? "High" : "Low", info->dwKeySize);
|
||||||
|
ok(size == strlen(actual), "size = %u\n", size);
|
||||||
|
ok(!strcmp(actual, expect), "expected:\n%s\nactual:\n%s\n", expect, actual);
|
||||||
|
|
||||||
|
--size;
|
||||||
|
SetLastError(0xdeadbeef);
|
||||||
|
memset(actual, 0x55, sizeof(actual));
|
||||||
|
res = InternetQueryOptionA(req, INTERNET_OPTION_SECURITY_CERTIFICATE, actual, &size);
|
||||||
|
ok(!res && GetLastError() == ERROR_INSUFFICIENT_BUFFER, "InternetQueryOption failed: %d\n", GetLastError());
|
||||||
|
ok(size == 1, "unexpected size: %u\n", size);
|
||||||
|
ok(actual[0] == 0x55, "unexpected byte: %02x\n", actual[0]);
|
||||||
|
}
|
||||||
|
|
||||||
static void test_cert_struct(HINTERNET req, const cert_struct_test_t *test)
|
static void test_cert_struct(HINTERNET req, const cert_struct_test_t *test)
|
||||||
{
|
{
|
||||||
INTERNET_CERTIFICATE_INFOA info;
|
INTERNET_CERTIFICATE_INFOA info;
|
||||||
|
@ -6158,6 +6230,10 @@ static void test_cert_struct(HINTERNET req, const cert_struct_test_t *test)
|
||||||
ok(!info.lpszProtocolName, "lpszProtocolName = %s\n", info.lpszProtocolName);
|
ok(!info.lpszProtocolName, "lpszProtocolName = %s\n", info.lpszProtocolName);
|
||||||
ok(info.dwKeySize >= 128 && info.dwKeySize <= 256, "dwKeySize = %u\n", info.dwKeySize);
|
ok(info.dwKeySize >= 128 && info.dwKeySize <= 256, "dwKeySize = %u\n", info.dwKeySize);
|
||||||
|
|
||||||
|
if (is_lang_english())
|
||||||
|
test_cert_struct_string(req, &info);
|
||||||
|
else
|
||||||
|
skip("Skipping tests that are English-only\n");
|
||||||
release_cert_info(&info);
|
release_cert_info(&info);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -6237,7 +6313,7 @@ static void test_security_flags(void)
|
||||||
INTERNET_CERTIFICATE_INFOA *cert;
|
INTERNET_CERTIFICATE_INFOA *cert;
|
||||||
HINTERNET ses, conn, req;
|
HINTERNET ses, conn, req;
|
||||||
DWORD size, flags;
|
DWORD size, flags;
|
||||||
char buf[100];
|
char buf[512];
|
||||||
BOOL res;
|
BOOL res;
|
||||||
|
|
||||||
if (!https_support)
|
if (!https_support)
|
||||||
|
@ -6398,6 +6474,30 @@ static void test_security_flags(void)
|
||||||
}
|
}
|
||||||
HeapFree(GetProcessHeap(), 0, cert);
|
HeapFree(GetProcessHeap(), 0, cert);
|
||||||
|
|
||||||
|
SetLastError(0xdeadbeef);
|
||||||
|
res = InternetQueryOptionW(req, INTERNET_OPTION_SECURITY_CERTIFICATE, NULL, NULL);
|
||||||
|
ok(!res && GetLastError() == ERROR_INVALID_PARAMETER, "InternetQueryOption failed: %d\n", GetLastError());
|
||||||
|
|
||||||
|
size = 0;
|
||||||
|
SetLastError(0xdeadbeef);
|
||||||
|
res = InternetQueryOptionW(req, INTERNET_OPTION_SECURITY_CERTIFICATE, NULL, &size);
|
||||||
|
ok(!res && GetLastError() == ERROR_INSUFFICIENT_BUFFER, "InternetQueryOption failed: %d\n", GetLastError());
|
||||||
|
ok(size == 1, "unexpected size: %u\n", size);
|
||||||
|
|
||||||
|
size = 42;
|
||||||
|
SetLastError(0xdeadbeef);
|
||||||
|
memset(buf, 0x55, sizeof(buf));
|
||||||
|
res = InternetQueryOptionW(req, INTERNET_OPTION_SECURITY_CERTIFICATE, buf, &size);
|
||||||
|
ok(!res && GetLastError() == ERROR_INSUFFICIENT_BUFFER, "InternetQueryOption failed: %d\n", GetLastError());
|
||||||
|
ok(size == 1, "unexpected size: %u\n", size);
|
||||||
|
ok(buf[0] == 0x55, "unexpected byte: %02x\n", buf[0]);
|
||||||
|
|
||||||
|
size = sizeof(buf);
|
||||||
|
SetLastError(0xdeadbeef);
|
||||||
|
res = InternetQueryOptionW(req, INTERNET_OPTION_SECURITY_CERTIFICATE, buf, &size);
|
||||||
|
ok(res && GetLastError() == ERROR_SUCCESS, "InternetQueryOption failed: %d\n", GetLastError());
|
||||||
|
ok(size < sizeof(buf), "unexpected size: %u\n", size);
|
||||||
|
|
||||||
ros_skip_flaky
|
ros_skip_flaky
|
||||||
CHECK_NOTIFIED2(INTERNET_STATUS_CONNECTING_TO_SERVER, 2);
|
CHECK_NOTIFIED2(INTERNET_STATUS_CONNECTING_TO_SERVER, 2);
|
||||||
CHECK_NOTIFIED2(INTERNET_STATUS_CONNECTED_TO_SERVER, 2);
|
CHECK_NOTIFIED2(INTERNET_STATUS_CONNECTED_TO_SERVER, 2);
|
||||||
|
@ -6583,9 +6683,10 @@ static void test_secure_connection(void)
|
||||||
static const WCHAR get[] = {'G','E','T',0};
|
static const WCHAR get[] = {'G','E','T',0};
|
||||||
static const WCHAR testpage[] = {'/','t','e','s','t','s','/','h','e','l','l','o','.','h','t','m','l',0};
|
static const WCHAR testpage[] = {'/','t','e','s','t','s','/','h','e','l','l','o','.','h','t','m','l',0};
|
||||||
HINTERNET ses, con, req;
|
HINTERNET ses, con, req;
|
||||||
DWORD size, flags, err;
|
DWORD size, size2, flags, err;
|
||||||
INTERNET_CERTIFICATE_INFOA *certificate_structA = NULL;
|
INTERNET_CERTIFICATE_INFOA *certificate_structA = NULL;
|
||||||
INTERNET_CERTIFICATE_INFOW *certificate_structW = NULL;
|
INTERNET_CERTIFICATE_INFOW *certificate_structW = NULL;
|
||||||
|
char certstr1[512], certstr2[512];
|
||||||
BOOL ret;
|
BOOL ret;
|
||||||
|
|
||||||
ses = InternetOpenA("Gizmo5", INTERNET_OPEN_TYPE_PRECONFIG, NULL, NULL, 0);
|
ses = InternetOpenA("Gizmo5", INTERNET_OPEN_TYPE_PRECONFIG, NULL, NULL, 0);
|
||||||
|
@ -6650,6 +6751,19 @@ static void test_secure_connection(void)
|
||||||
}
|
}
|
||||||
HeapFree(GetProcessHeap(), 0, certificate_structW);
|
HeapFree(GetProcessHeap(), 0, certificate_structW);
|
||||||
|
|
||||||
|
SetLastError(0xdeadbeef);
|
||||||
|
size = sizeof(certstr1);
|
||||||
|
ret = InternetQueryOptionW(req, INTERNET_OPTION_SECURITY_CERTIFICATE, certstr1, &size);
|
||||||
|
ok(ret && GetLastError() == ERROR_SUCCESS, "InternetQueryOption failed: %d\n", GetLastError());
|
||||||
|
|
||||||
|
SetLastError(0xdeadbeef);
|
||||||
|
size2 = sizeof(certstr2);
|
||||||
|
ret = InternetQueryOptionA(req, INTERNET_OPTION_SECURITY_CERTIFICATE, certstr2, &size2);
|
||||||
|
ok(ret && GetLastError() == ERROR_SUCCESS, "InternetQueryOption failed: %d\n", GetLastError());
|
||||||
|
|
||||||
|
ok(size == size2, "expected same size\n");
|
||||||
|
ok(!strcmp(certstr1, certstr2), "expected same string\n");
|
||||||
|
|
||||||
InternetCloseHandle(req);
|
InternetCloseHandle(req);
|
||||||
InternetCloseHandle(con);
|
InternetCloseHandle(con);
|
||||||
InternetCloseHandle(ses);
|
InternetCloseHandle(ses);
|
||||||
|
@ -7538,6 +7652,37 @@ static void test_concurrent_header_access(void)
|
||||||
CloseHandle( wait );
|
CloseHandle( wait );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void test_cert_string(void)
|
||||||
|
{
|
||||||
|
HINTERNET ses, con, req;
|
||||||
|
char actual[512];
|
||||||
|
DWORD size;
|
||||||
|
BOOL res;
|
||||||
|
|
||||||
|
ses = InternetOpenA( "winetest", 0, NULL, NULL, 0 );
|
||||||
|
ok( ses != NULL, "InternetOpenA failed\n" );
|
||||||
|
|
||||||
|
con = InternetConnectA( ses, "test.winehq.org", INTERNET_DEFAULT_HTTP_PORT, NULL, NULL,
|
||||||
|
INTERNET_SERVICE_HTTP, 0, 0 );
|
||||||
|
ok( con != NULL, "InternetConnectA failed %u\n", GetLastError() );
|
||||||
|
|
||||||
|
req = HttpOpenRequestA( con, NULL, "/", NULL, NULL, NULL, 0, 0 );
|
||||||
|
ok( req != NULL, "HttpOpenRequestA failed %u\n", GetLastError() );
|
||||||
|
|
||||||
|
size = sizeof(actual);
|
||||||
|
SetLastError( 0xdeadbeef );
|
||||||
|
memset( actual, 0x55, sizeof(actual) );
|
||||||
|
res = InternetQueryOptionA( req, INTERNET_OPTION_SECURITY_CERTIFICATE, actual, &size );
|
||||||
|
ok( !res && GetLastError() == ERROR_INTERNET_INVALID_OPERATION,
|
||||||
|
"InternetQueryOption failed: %u\n", GetLastError() );
|
||||||
|
ok( size == 0, "unexpected size: %u\n", size );
|
||||||
|
ok( actual[0] == 0x55, "unexpected byte: %02x\n", actual[0] );
|
||||||
|
|
||||||
|
InternetCloseHandle( req );
|
||||||
|
InternetCloseHandle( con );
|
||||||
|
InternetCloseHandle( ses );
|
||||||
|
}
|
||||||
|
|
||||||
START_TEST(http)
|
START_TEST(http)
|
||||||
{
|
{
|
||||||
HMODULE hdll;
|
HMODULE hdll;
|
||||||
|
@ -7594,5 +7739,6 @@ START_TEST(http)
|
||||||
test_connection_failure();
|
test_connection_failure();
|
||||||
test_default_service_port();
|
test_default_service_port();
|
||||||
test_concurrent_header_access();
|
test_concurrent_header_access();
|
||||||
|
test_cert_string();
|
||||||
free_events();
|
free_events();
|
||||||
}
|
}
|
||||||
|
|
|
@ -5,4 +5,4 @@ files:
|
||||||
include/wininet.h: sdk/include/psdk/wininet.h
|
include/wininet.h: sdk/include/psdk/wininet.h
|
||||||
include/winineti.h: sdk/include/psdk/winineti.h
|
include/winineti.h: sdk/include/psdk/winineti.h
|
||||||
tags:
|
tags:
|
||||||
wine: 99c0ab2ea1f912ee699e307a77f26822dfef7b06
|
wine: ef88a70fa775f3e7a26d8f1618f32ee94bb9ea05
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue