Falkon Develop
Cross-platform Qt-based web browser
certificateinfowidget.cpp
Go to the documentation of this file.
1/* ============================================================
2* Falkon - Qt web browser
3* Copyright (C) 2010-2014 David Rosca <nowrep@gmail.com>
4*
5* This program is free software: you can redistribute it and/or modify
6* it under the terms of the GNU General Public License as published by
7* the Free Software Foundation, either version 3 of the License, or
8* (at your option) any later version.
9*
10* This program is distributed in the hope that it will be useful,
11* but WITHOUT ANY WARRANTY; without even the implied warranty of
12* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13* GNU General Public License for more details.
14*
15* You should have received a copy of the GNU General Public License
16* along with this program. If not, see <http://www.gnu.org/licenses/>.
17* ============================================================ */
19#include "ui_certificateinfowidget.h"
20#include "mainapplication.h"
21#include "qztools.h"
22
23#include <QSslCertificate>
24#include <QDateTime>
25
26QString CertificateInfoWidget::certificateItemText(const QSslCertificate &cert)
27{
28 QString commonName = cert.subjectInfo(QSslCertificate::CommonName).isEmpty() ? QString() : cert.subjectInfo(QSslCertificate::CommonName).at(0);
29 QString organization = cert.subjectInfo(QSslCertificate::Organization).isEmpty() ? QString() : cert.subjectInfo(QSslCertificate::Organization).at(0);
30
31 if (commonName.isEmpty()) {
32 return clearCertSpecialSymbols(organization);
33 }
34
35 return clearCertSpecialSymbols(commonName);
36}
37
39{
40 QString n = string.toHtmlEscaped();
41
42 if (!n.contains(QLatin1String("\\"))) {
43 return n;
44 }
45
46 // Credits to http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-talk/176679?help-en
47 n.replace(QLatin1String("\\xC3\\x80"), QLatin1String("A"));
48 n.replace(QLatin1String("\\xC3\\x81"), QLatin1String("A"));
49 n.replace(QLatin1String("\\xC3\\x82"), QLatin1String("A"));
50 n.replace(QLatin1String("\\xC3\\x83"), QLatin1String("A"));
51 n.replace(QLatin1String("\\xC3\\x84"), QLatin1String("A"));
52 n.replace(QLatin1String("\\xC3\\x85"), QLatin1String("A"));
53 n.replace(QLatin1String("\\xC3\\x86"), QLatin1String("AE"));
54 n.replace(QLatin1String("\\xC3\\x87"), QLatin1String("C"));
55 n.replace(QLatin1String("\\xC3\\x88"), QLatin1String("E"));
56 n.replace(QLatin1String("\\xC3\\x89"), QLatin1String("E"));
57 n.replace(QLatin1String("\\xC3\\x8A"), QLatin1String("E"));
58 n.replace(QLatin1String("\\xC3\\x8B"), QLatin1String("E"));
59 n.replace(QLatin1String("\\xC3\\x8C"), QLatin1String("I"));
60 n.replace(QLatin1String("\\xC3\\x8D"), QLatin1String("I"));
61 n.replace(QLatin1String("\\xC3\\x8E"), QLatin1String("I"));
62 n.replace(QLatin1String("\\xC3\\x8F"), QLatin1String("I"));
63 n.replace(QLatin1String("\\xC3\\x90"), QLatin1String("D"));
64 n.replace(QLatin1String("\\xC3\\x91"), QLatin1String("N"));
65 n.replace(QLatin1String("\\xC3\\x92"), QLatin1String("O"));
66 n.replace(QLatin1String("\\xC3\\x93"), QLatin1String("O"));
67 n.replace(QLatin1String("\\xC3\\x94"), QLatin1String("O"));
68 n.replace(QLatin1String("\\xC3\\x95"), QLatin1String("O"));
69 n.replace(QLatin1String("\\xC3\\x96"), QLatin1String("O"));
70 n.replace(QLatin1String("\\xC3\\x98"), QLatin1String("O"));
71 n.replace(QLatin1String("\\xC3\\x99"), QLatin1String("U"));
72 n.replace(QLatin1String("\\xC3\\x9A"), QLatin1String("U"));
73 n.replace(QLatin1String("\\xC3\\x9B"), QLatin1String("U"));
74 n.replace(QLatin1String("\\xC3\\x9C"), QLatin1String("U"));
75 n.replace(QLatin1String("\\xC3\\x9D"), QLatin1String("Y"));
76 n.replace(QLatin1String("\\xC3\\x9E"), QLatin1String("P"));
77 n.replace(QLatin1String("\\xC3\\x9F"), QLatin1String("ss"));
78 n.replace(QLatin1String("\\xC9\\x99"), QLatin1String("e"));
79 n.replace(QLatin1String("\\xC3\\xA0"), QLatin1String("a"));
80 n.replace(QLatin1String("\\xC3\\xA1"), QLatin1String("a"));
81 n.replace(QLatin1String("\\xC3\\xA2"), QLatin1String("a"));
82 n.replace(QLatin1String("\\xC3\\xA3"), QLatin1String("a"));
83 n.replace(QLatin1String("\\xC3\\xA4"), QLatin1String("a"));
84 n.replace(QLatin1String("\\xC3\\xA5"), QLatin1String("a"));
85 n.replace(QLatin1String("\\xC3\\xA6"), QLatin1String("ae"));
86 n.replace(QLatin1String("\\xC3\\xA7"), QLatin1String("c"));
87 n.replace(QLatin1String("\\xC3\\xA8"), QLatin1String("e"));
88 n.replace(QLatin1String("\\xC3\\xA9"), QLatin1String("e"));
89 n.replace(QLatin1String("\\xC3\\xAA"), QLatin1String("e"));
90 n.replace(QLatin1String("\\xC3\\xAB"), QLatin1String("e"));
91 n.replace(QLatin1String("\\xC3\\xAC"), QLatin1String("i"));
92 n.replace(QLatin1String("\\xC3\\xAD"), QLatin1String("i"));
93 n.replace(QLatin1String("\\xC3\\xAE"), QLatin1String("i"));
94 n.replace(QLatin1String("\\xC3\\xAF"), QLatin1String("i"));
95 n.replace(QLatin1String("\\xC3\\xB0"), QLatin1String("o"));
96 n.replace(QLatin1String("\\xC3\\xB1"), QLatin1String("n"));
97 n.replace(QLatin1String("\\xC3\\xB2"), QLatin1String("o"));
98 n.replace(QLatin1String("\\xC3\\xB3"), QLatin1String("o"));
99 n.replace(QLatin1String("\\xC3\\xB4"), QLatin1String("o"));
100 n.replace(QLatin1String("\\xC3\\xB5"), QLatin1String("o"));
101 n.replace(QLatin1String("\\xC3\\xB6"), QLatin1String("o"));
102 n.replace(QLatin1String("\\xC3\\xB8"), QLatin1String("o"));
103 n.replace(QLatin1String("\\xC3\\xB9"), QLatin1String("u"));
104 n.replace(QLatin1String("\\xC3\\xBA"), QLatin1String("u"));
105 n.replace(QLatin1String("\\xC3\\xBB"), QLatin1String("u"));
106 n.replace(QLatin1String("\\xC3\\xBC"), QLatin1String("u"));
107 n.replace(QLatin1String("\\xC3\\xBD"), QLatin1String("y"));
108 n.replace(QLatin1String("\\xC3\\xBE"), QLatin1String("p"));
109 n.replace(QLatin1String("\\xC3\\xBF"), QLatin1String("y"));
110 n.replace(QLatin1String("\\xC7\\xBF"), QLatin1String("o"));
111 n.replace(QLatin1String("\\xC4\\x80"), QLatin1String("A"));
112 n.replace(QLatin1String("\\xC4\\x81"), QLatin1String("a"));
113 n.replace(QLatin1String("\\xC4\\x82"), QLatin1String("A"));
114 n.replace(QLatin1String("\\xC4\\x83"), QLatin1String("a"));
115 n.replace(QLatin1String("\\xC4\\x84"), QLatin1String("A"));
116 n.replace(QLatin1String("\\xC4\\x85"), QLatin1String("a"));
117 n.replace(QLatin1String("\\xC4\\x86"), QLatin1String("C"));
118 n.replace(QLatin1String("\\xC4\\x87"), QLatin1String("c"));
119 n.replace(QLatin1String("\\xC4\\x88"), QLatin1String("C"));
120 n.replace(QLatin1String("\\xC4\\x89"), QLatin1String("c"));
121 n.replace(QLatin1String("\\xC4\\x8A"), QLatin1String("C"));
122 n.replace(QLatin1String("\\xC4\\x8B"), QLatin1String("c"));
123 n.replace(QLatin1String("\\xC4\\x8C"), QLatin1String("C"));
124 n.replace(QLatin1String("\\xC4\\x8D"), QLatin1String("c"));
125 n.replace(QLatin1String("\\xC4\\x8E"), QLatin1String("D"));
126 n.replace(QLatin1String("\\xC4\\x8F"), QLatin1String("d"));
127 n.replace(QLatin1String("\\xC4\\x90"), QLatin1String("D"));
128 n.replace(QLatin1String("\\xC4\\x91"), QLatin1String("d"));
129 n.replace(QLatin1String("\\xC4\\x92"), QLatin1String("E"));
130 n.replace(QLatin1String("\\xC4\\x93"), QLatin1String("e"));
131 n.replace(QLatin1String("\\xC4\\x94"), QLatin1String("E"));
132 n.replace(QLatin1String("\\xC4\\x95"), QLatin1String("e"));
133 n.replace(QLatin1String("\\xC4\\x96"), QLatin1String("E"));
134 n.replace(QLatin1String("\\xC4\\x97"), QLatin1String("e"));
135 n.replace(QLatin1String("\\xC4\\x98"), QLatin1String("E"));
136 n.replace(QLatin1String("\\xC4\\x99"), QLatin1String("e"));
137 n.replace(QLatin1String("\\xC4\\x9A"), QLatin1String("E"));
138 n.replace(QLatin1String("\\xC4\\x9B"), QLatin1String("e"));
139 n.replace(QLatin1String("\\xC4\\x9C"), QLatin1String("G"));
140 n.replace(QLatin1String("\\xC4\\x9D"), QLatin1String("g"));
141 n.replace(QLatin1String("\\xC4\\x9E"), QLatin1String("G"));
142 n.replace(QLatin1String("\\xC4\\x9F"), QLatin1String("g"));
143 n.replace(QLatin1String("\\xC4\\xA0"), QLatin1String("G"));
144 n.replace(QLatin1String("\\xC4\\xA1"), QLatin1String("g"));
145 n.replace(QLatin1String("\\xC4\\xA2"), QLatin1String("G"));
146 n.replace(QLatin1String("\\xC4\\xA3"), QLatin1String("g"));
147 n.replace(QLatin1String("\\xC4\\xA4"), QLatin1String("H"));
148 n.replace(QLatin1String("\\xC4\\xA5"), QLatin1String("h"));
149 n.replace(QLatin1String("\\xC4\\xA6"), QLatin1String("H"));
150 n.replace(QLatin1String("\\xC4\\xA7"), QLatin1String("h"));
151 n.replace(QLatin1String("\\xC4\\xA8"), QLatin1String("I"));
152 n.replace(QLatin1String("\\xC4\\xA9"), QLatin1String("i"));
153 n.replace(QLatin1String("\\xC4\\xAA"), QLatin1String("I"));
154 n.replace(QLatin1String("\\xC4\\xAB"), QLatin1String("i"));
155 n.replace(QLatin1String("\\xC4\\xAC"), QLatin1String("I"));
156 n.replace(QLatin1String("\\xC4\\xAD"), QLatin1String("i"));
157 n.replace(QLatin1String("\\xC4\\xAE"), QLatin1String("I"));
158 n.replace(QLatin1String("\\xC4\\xAF"), QLatin1String("i"));
159 n.replace(QLatin1String("\\xC4\\xB0"), QLatin1String("I"));
160 n.replace(QLatin1String("\\xC4\\xB1"), QLatin1String("i"));
161 n.replace(QLatin1String("\\xC4\\xB2"), QLatin1String("IJ"));
162 n.replace(QLatin1String("\\xC4\\xB3"), QLatin1String("ij"));
163 n.replace(QLatin1String("\\xC4\\xB4"), QLatin1String("J"));
164 n.replace(QLatin1String("\\xC4\\xB5"), QLatin1String("j"));
165 n.replace(QLatin1String("\\xC4\\xB6"), QLatin1String("K"));
166 n.replace(QLatin1String("\\xC4\\xB7"), QLatin1String("k"));
167 n.replace(QLatin1String("\\xC4\\xB8"), QLatin1String("k"));
168 n.replace(QLatin1String("\\xC4\\xB9"), QLatin1String("L"));
169 n.replace(QLatin1String("\\xC4\\xBA"), QLatin1String("l"));
170 n.replace(QLatin1String("\\xC4\\xBB"), QLatin1String("L"));
171 n.replace(QLatin1String("\\xC4\\xBC"), QLatin1String("l"));
172 n.replace(QLatin1String("\\xC4\\xBD"), QLatin1String("L"));
173 n.replace(QLatin1String("\\xC4\\xBE"), QLatin1String("l"));
174 n.replace(QLatin1String("\\xC4\\xBF"), QLatin1String("L"));
175 n.replace(QLatin1String("\\xC5\\x80"), QLatin1String("l"));
176 n.replace(QLatin1String("\\xC5\\x81"), QLatin1String("L"));
177 n.replace(QLatin1String("\\xC5\\x82"), QLatin1String("l"));
178 n.replace(QLatin1String("\\xC5\\x83"), QLatin1String("N"));
179 n.replace(QLatin1String("\\xC5\\x84"), QLatin1String("n"));
180 n.replace(QLatin1String("\\xC5\\x85"), QLatin1String("N"));
181 n.replace(QLatin1String("\\xC5\\x86"), QLatin1String("n"));
182 n.replace(QLatin1String("\\xC5\\x87"), QLatin1String("N"));
183 n.replace(QLatin1String("\\xC5\\x88"), QLatin1String("n"));
184 n.replace(QLatin1String("\\xC5\\x89"), QLatin1String("n"));
185 n.replace(QLatin1String("\\xC5\\x8A"), QLatin1String("N"));
186 n.replace(QLatin1String("\\xC5\\x8B"), QLatin1String("n"));
187 n.replace(QLatin1String("\\xC5\\x8C"), QLatin1String("O"));
188 n.replace(QLatin1String("\\xC5\\x8D"), QLatin1String("o"));
189 n.replace(QLatin1String("\\xC5\\x8E"), QLatin1String("O"));
190 n.replace(QLatin1String("\\xC5\\x8F"), QLatin1String("o"));
191 n.replace(QLatin1String("\\xC5\\x90"), QLatin1String("O"));
192 n.replace(QLatin1String("\\xC5\\x91"), QLatin1String("o"));
193 n.replace(QLatin1String("\\xC5\\x92"), QLatin1String("CE"));
194 n.replace(QLatin1String("\\xC5\\x93"), QLatin1String("ce"));
195 n.replace(QLatin1String("\\xC5\\x94"), QLatin1String("R"));
196 n.replace(QLatin1String("\\xC5\\x95"), QLatin1String("r"));
197 n.replace(QLatin1String("\\xC5\\x96"), QLatin1String("R"));
198 n.replace(QLatin1String("\\xC5\\x97"), QLatin1String("r"));
199 n.replace(QLatin1String("\\xC5\\x98"), QLatin1String("R"));
200 n.replace(QLatin1String("\\xC5\\x99"), QLatin1String("r"));
201 n.replace(QLatin1String("\\xC5\\x9A"), QLatin1String("S"));
202 n.replace(QLatin1String("\\xC5\\x9B"), QLatin1String("s"));
203 n.replace(QLatin1String("\\xC5\\x9C"), QLatin1String("S"));
204 n.replace(QLatin1String("\\xC5\\x9D"), QLatin1String("s"));
205 n.replace(QLatin1String("\\xC5\\x9E"), QLatin1String("S"));
206 n.replace(QLatin1String("\\xC5\\x9F"), QLatin1String("s"));
207 n.replace(QLatin1String("\\xC5\\xA0"), QLatin1String("S"));
208 n.replace(QLatin1String("\\xC5\\xA1"), QLatin1String("s"));
209 n.replace(QLatin1String("\\xC5\\xA2"), QLatin1String("T"));
210 n.replace(QLatin1String("\\xC5\\xA3"), QLatin1String("t"));
211 n.replace(QLatin1String("\\xC5\\xA4"), QLatin1String("T"));
212 n.replace(QLatin1String("\\xC5\\xA5"), QLatin1String("t"));
213 n.replace(QLatin1String("\\xC5\\xA6"), QLatin1String("T"));
214 n.replace(QLatin1String("\\xC5\\xA7"), QLatin1String("t"));
215 n.replace(QLatin1String("\\xC5\\xA8"), QLatin1String("U"));
216 n.replace(QLatin1String("\\xC5\\xA9"), QLatin1String("u"));
217 n.replace(QLatin1String("\\xC5\\xAA"), QLatin1String("U"));
218 n.replace(QLatin1String("\\xC5\\xAB"), QLatin1String("u"));
219 n.replace(QLatin1String("\\xC5\\xAC"), QLatin1String("U"));
220 n.replace(QLatin1String("\\xC5\\xAD"), QLatin1String("u"));
221 n.replace(QLatin1String("\\xC5\\xAE"), QLatin1String("U"));
222 n.replace(QLatin1String("\\xC5\\xAF"), QLatin1String("u"));
223 n.replace(QLatin1String("\\xC5\\xB0"), QLatin1String("U"));
224 n.replace(QLatin1String("\\xC5\\xB1"), QLatin1String("u"));
225 n.replace(QLatin1String("\\xC5\\xB2"), QLatin1String("U"));
226 n.replace(QLatin1String("\\xC5\\xB3"), QLatin1String("u"));
227 n.replace(QLatin1String("\\xC5\\xB4"), QLatin1String("W"));
228 n.replace(QLatin1String("\\xC5\\xB5"), QLatin1String("w"));
229 n.replace(QLatin1String("\\xC5\\xB6"), QLatin1String("Y"));
230 n.replace(QLatin1String("\\xC5\\xB7"), QLatin1String("y"));
231 n.replace(QLatin1String("\\xC5\\xB8"), QLatin1String("Y"));
232 n.replace(QLatin1String("\\xC5\\xB9"), QLatin1String("Z"));
233 n.replace(QLatin1String("\\xC5\\xBA"), QLatin1String("z"));
234 n.replace(QLatin1String("\\xC5\\xBB"), QLatin1String("Z"));
235 n.replace(QLatin1String("\\xC5\\xBC"), QLatin1String("z"));
236 n.replace(QLatin1String("\\xC5\\xBD"), QLatin1String("Z"));
237 n.replace(QLatin1String("\\xC5\\xBE"), QLatin1String("z"));
238 n.replace(QLatin1String("\\xC6\\x8F"), QLatin1String("E"));
239 n.replace(QLatin1String("\\xC6\\xA0"), QLatin1String("O"));
240 n.replace(QLatin1String("\\xC6\\xA1"), QLatin1String("o"));
241 n.replace(QLatin1String("\\xC6\\xAF"), QLatin1String("U"));
242 n.replace(QLatin1String("\\xC6\\xB0"), QLatin1String("u"));
243 n.replace(QLatin1String("\\xC7\\x8D"), QLatin1String("A"));
244 n.replace(QLatin1String("\\xC7\\x8E"), QLatin1String("a"));
245 n.replace(QLatin1String("\\xC7\\x8F"), QLatin1String("I"));
246 n.replace(QLatin1String("\\xC7\\x93"), QLatin1String("U"));
247 n.replace(QLatin1String("\\xC7\\x90"), QLatin1String("i"));
248 n.replace(QLatin1String("\\xC7\\x91"), QLatin1String("O"));
249 n.replace(QLatin1String("\\xC7\\x92"), QLatin1String("o"));
250 n.replace(QLatin1String("\\xC7\\x97"), QLatin1String("U"));
251 n.replace(QLatin1String("\\xC7\\x94"), QLatin1String("u"));
252 n.replace(QLatin1String("\\xC7\\x95"), QLatin1String("U"));
253 n.replace(QLatin1String("\\xC7\\x96"), QLatin1String("u"));
254 n.replace(QLatin1String("\\xC7\\x9B"), QLatin1String("U"));
255 n.replace(QLatin1String("\\xC7\\x98"), QLatin1String("u"));
256 n.replace(QLatin1String("\\xC7\\x99"), QLatin1String("U"));
257 n.replace(QLatin1String("\\xC7\\x9A"), QLatin1String("u"));
258 n.replace(QLatin1String("\\xC7\\xBD"), QLatin1String("ae"));
259 n.replace(QLatin1String("\\xC7\\x9C"), QLatin1String("u"));
260 n.replace(QLatin1String("\\xC7\\xBB"), QLatin1String("a"));
261 n.replace(QLatin1String("\\xC7\\xBC"), QLatin1String("AE"));
262 n.replace(QLatin1String("\\xC7\\xBE"), QLatin1String("O"));
263 n.replace(QLatin1String("\\xC7\\xBA"), QLatin1String("A"));
264
265 n.replace(QLatin1String("\\xC2\\x82"), QLatin1String(",")); // High code comma
266 n.replace(QLatin1String("\\xC2\\x84"), QLatin1String(",,")); // High code double comma
267 n.replace(QLatin1String("\\xC2\\x85"), QLatin1String("...")); // Tripple dot
268 n.replace(QLatin1String("\\xC2\\x88"), QLatin1String("^")); // High carat
269 n.replace(QLatin1String("\\xC2\\x91"), QLatin1String("\\x27")); // Forward single quote
270 n.replace(QLatin1String("\\xC2\\x92"), QLatin1String("\\x27")); // Reverse single quote
271 n.replace(QLatin1String("\\xC2\\x93"), QLatin1String("\\x22")); // Forward double quote
272 n.replace(QLatin1String("\\xC2\\x94"), QLatin1String("\\x22")); // Reverse double quote
273 n.replace(QLatin1String("\\xC2\\x96"), QLatin1String("-")); // High hyphen
274 n.replace(QLatin1String("\\xC2\\x97"), QLatin1String("--")); // Double hyphen
275 n.replace(QLatin1String("\\xC2\\xA6"), QLatin1String("|")); // Split vertical bar
276 n.replace(QLatin1String("\\xC2\\xAB"), QLatin1String("<<")); // Double less than
277 n.replace(QLatin1String("\\xC2\\xBB"), QLatin1String(">>")); // Double greater than
278 n.replace(QLatin1String("\\xC2\\xBC"), QLatin1String("1/4")); // one quarter
279 n.replace(QLatin1String("\\xC2\\xBD"), QLatin1String("1/2")); // one half
280 n.replace(QLatin1String("\\xC2\\xBE"), QLatin1String("3/4")); // three quarters
281 n.replace(QLatin1String("\\xCA\\xBF"), QLatin1String("\\x27")); // c-single quote
282 n.remove(QLatin1String("\\xCC\\xA8")); // modifier - under curve
283 n.remove(QLatin1String("\\xCC\\xB1")); // modifier - under line
284
285 return n;
286}
287
288QString CertificateInfoWidget::clearCertSpecialSymbols(const QStringList &stringList)
289{
290 if (stringList.isEmpty()) {
291 return {};
292 }
293
294 return clearCertSpecialSymbols(stringList.at(0));
295}
296
297QString CertificateInfoWidget::showCertInfo(const QString &string)
298{
299 if (string.isEmpty()) {
300 return QObject::tr("<not set in certificate>");
301 }
302 else {
303 return clearCertSpecialSymbols(string);
304 }
305}
306
307QString CertificateInfoWidget::showCertInfo(const QStringList &stringList)
308{
309 if (stringList.isEmpty()) {
310 return {};
311 }
312
313 return showCertInfo(stringList.at(0));
314}
315
316CertificateInfoWidget::CertificateInfoWidget(const QSslCertificate &cert, QWidget* parent)
317 : QWidget(parent)
318 , ui(new Ui::CertificateInfoWidget)
319{
320 ui->setupUi(this);
321
322 //Issued to
323 ui->issuedToCN->setText(showCertInfo(cert.subjectInfo(QSslCertificate::CommonName)));
324 ui->issuedToO->setText(showCertInfo(cert.subjectInfo(QSslCertificate::Organization)));
325 ui->issuedToOU->setText(showCertInfo(cert.subjectInfo(QSslCertificate::OrganizationalUnitName)));
326 ui->issuedToSN->setText(showCertInfo(QString::fromLatin1(cert.serialNumber())));
327 //Issued By
328 ui->issuedByCN->setText(showCertInfo(cert.issuerInfo(QSslCertificate::CommonName)));
329 ui->issuedByO->setText(showCertInfo(cert.issuerInfo(QSslCertificate::Organization)));
330 ui->issuedByOU->setText(showCertInfo(cert.issuerInfo(QSslCertificate::OrganizationalUnitName)));
331 //Validity
332 QLocale locale = QLocale::system();
333 ui->validityIssuedOn->setText(locale.toString(cert.effectiveDate(), QSL("dddd d. MMMM yyyy")));
334 ui->validityExpiresOn->setText(locale.toString(cert.expiryDate(), QSL("dddd d. MMMM yyyy")));
335}
336
338{
339 delete ui;
340}
static QString showCertInfo(const QString &string)
static QString clearCertSpecialSymbols(const QString &string)
CertificateInfoWidget(const QSslCertificate &cert, QWidget *parent=nullptr)
static QString certificateItemText(const QSslCertificate &cert)
locale
Definition: i18n.py:21
#define QSL(x)
Definition: qzcommon.h:40