source: filezilla/trunk/fuentes/src/interface/verifycertdialog.h @ 130

Last change on this file since 130 was 130, checked in by jrpelegrina, 4 years ago

First release to xenial

File size: 1.7 KB
Line 
1#ifndef __VERIFYCERTDIALOG_H__
2#define __VERIFYCERTDIALOG_H__
3
4#include "xmlfunctions.h"
5
6class wxDialogEx;
7class CVerifyCertDialog final : protected wxEvtHandler
8{
9public:
10        CVerifyCertDialog();
11        virtual ~CVerifyCertDialog();
12
13        bool IsTrusted(CCertificateNotification const& notification);
14        void ShowVerificationDialog(CCertificateNotification& notification, bool displayOnly = false);
15
16private:
17        struct t_certData {
18                wxString host;
19                int port{};
20                unsigned char* data{};
21                unsigned int len{};
22        };
23
24        bool IsTrusted(const wxString& host, int port, const unsigned char* data, unsigned int len, bool permanentOnly);
25        bool DoIsTrusted(const wxString& host, int port, const unsigned char* data, unsigned int len, std::list<t_certData> const& trustedCerts);
26
27        bool DisplayAlgorithm(int controlId, wxString name, bool insecure);
28
29        bool DisplayCert(wxDialogEx* pDlg, const CCertificate& cert);
30
31        void ParseDN(wxWindow* parent, const wxString& dn, wxSizer* pSizer);
32        void ParseDN_by_prefix(wxWindow* parent, std::list<wxString>& tokens, wxString prefix, const wxString& name, wxSizer* pSizer, bool decode = false);
33
34        wxString DecodeValue(const wxString& value);
35
36        wxString ConvertHexToString(const unsigned char* data, unsigned int len);
37        unsigned char* ConvertStringToHex(const wxString& str, unsigned int &len);
38
39        void SetPermanentlyTrusted(CCertificateNotification const& notification);
40
41        void LoadTrustedCerts();
42
43        std::list<t_certData> m_trustedCerts;
44        std::list<t_certData> m_sessionTrustedCerts;
45
46        CXmlFile m_xmlFile;
47
48        std::vector<CCertificate> m_certificates;
49        wxDialogEx* m_pDlg{};
50        wxSizer* m_pSubjectSizer{};
51        wxSizer* m_pIssuerSizer{};
52        int line_height_{};
53
54        void OnCertificateChoice(wxCommandEvent& event);
55};
56
57#endif //__VERIFYCERTDIALOG_H__
Note: See TracBrowser for help on using the repository browser.