diff options
Diffstat (limited to 'src/wx/download_certificate_panel.cc')
| -rw-r--r-- | src/wx/download_certificate_panel.cc | 17 |
1 files changed, 16 insertions, 1 deletions
diff --git a/src/wx/download_certificate_panel.cc b/src/wx/download_certificate_panel.cc index 461c68966..34e6136ae 100644 --- a/src/wx/download_certificate_panel.cc +++ b/src/wx/download_certificate_panel.cc @@ -24,6 +24,7 @@ #include "lib/signal_manager.h" #include "lib/compose.hpp" #include <dcp/util.h> +#include <dcp/certificate_chain.h> #include <dcp/exceptions.h> #include <boost/bind.hpp> @@ -53,8 +54,9 @@ DownloadCertificatePanel::DownloadCertificatePanel (DownloadCertificateDialog* d _overall_sizer->SetSizeHints (this); } + optional<string> -DownloadCertificatePanel::load (boost::filesystem::path file) +DownloadCertificatePanel::load_certificate (boost::filesystem::path file) { try { _certificate = dcp::Certificate (dcp::file_to_string (file)); @@ -64,6 +66,19 @@ DownloadCertificatePanel::load (boost::filesystem::path file) return optional<string>(); } + +optional<string> +DownloadCertificatePanel::load_certificate_from_chain (boost::filesystem::path file) +{ + try { + _certificate = dcp::CertificateChain (dcp::file_to_string(file)).leaf(); + } catch (dcp::MiscError& e) { + return String::compose(wx_to_std(_("Could not read certificate file (%1)")), e.what()); + } + return optional<string>(); +} + + optional<dcp::Certificate> DownloadCertificatePanel::certificate () const { |
