Qt 6.x
The Qt SDK
Loading...
Searching...
No Matches
qx509_base.cpp
Go to the documentation of this file.
1// Copyright (C) 2021 The Qt Company Ltd.
2// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
3
4#include "qx509_base_p.h"
5
7
8namespace QTlsPrivate {
9
11{
13 switch (info) {
15 case QSslCertificate::CommonName: str = QByteArray("CN"); break;
21 case QSslCertificate::SerialNumber: str = QByteArray("serialNumber"); break;
22 case QSslCertificate::EmailAddress: str = QByteArray("emailAddress"); break;
23 }
24
25 return str;
26}
27
29{
31
32 char ch = 0;
33 // ignore extra whitespace at the end of the line
34 while (*offset < pem.size() && (ch = pem.at(*offset)) == ' ')
35 ++*offset;
36
37 if (ch == '\n') {
38 *offset += 1;
39 return true;
40 }
41
42 if (ch == '\r' && pem.size() > (*offset + 1) && pem.at(*offset + 1) == '\n') {
43 *offset += 2;
44 return true;
45 }
46
47 return false;
48}
49
51{
52 return null;
53}
54
56{
57 return versionString;
58}
59
61{
62 return serialNumberString;
63}
64
66{
68}
69
71{
73}
74
76{
78}
79
81{
83}
84
86{
88}
89
91{
93}
94
96{
97 return notValidBefore;
98}
99
101{
102 return notValidAfter;
103}
104
106{
107 return extensions.size();
108}
109
111{
113 return extensions[index].oid;
114}
115
117{
119 return extensions[index].name;
120}
121
123{
125 return extensions[index].value;
126}
127
129{
131 return extensions[index].critical;
132}
133
135{
137 return extensions[index].supported;
138}
139
140} // namespace QTlsPrivate
141
\inmodule QtCore
Definition qbytearray.h:57
qsizetype size() const noexcept
Returns the number of bytes in this byte array.
Definition qbytearray.h:474
char at(qsizetype i) const
Returns the byte at index position i in the byte array.
Definition qbytearray.h:523
\inmodule QtCore\reentrant
Definition qdatetime.h:257
Definition qlist.h:74
QList< Key > uniqueKeys() const
Definition qmap.h:1063
QList< T > values() const
Definition qmap.h:1078
SubjectInfo
Describes keys that you can pass to QSslCertificate::issuerInfo() or QSslCertificate::subjectInfo() t...
\inmodule QtCore
\macro QT_RESTRICTED_CAST_FROM_ASCII
Definition qstring.h:127
QList< QByteArray > issuerInfoAttributes() const override
QList< X509CertificateExtension > extensions
QByteArray version() const override
bool isExtensionSupported(qsizetype index) const override
QStringList issuerInfo(QSslCertificate::SubjectInfo info) const override
QDateTime expiryDate() const override
bool validIndex(qsizetype index) const
QMultiMap< QByteArray, QString > subjectInfoEntries
QString nameForExtension(qsizetype index) const override
QString oidForExtension(qsizetype index) const override
QMultiMap< QByteArray, QString > issuerInfoEntries
QDateTime effectiveDate() const override
static QByteArray subjectInfoToString(QSslCertificate::SubjectInfo info)
QList< QByteArray > subjectInfoAttributes() const override
QStringList subjectInfo(QSslCertificate::SubjectInfo info) const override
QVariant valueForExtension(qsizetype index) const override
QByteArray serialNumber() const override
static bool matchLineFeed(const QByteArray &pem, int *offset)
bool isExtensionCritical(qsizetype index) const override
qsizetype numberOfExtensions() const override
bool isNull() const override
\inmodule QtCore
Definition qvariant.h:64
QString str
[2]
Combined button and popup list for selecting options.
Namespace containing onternal types that TLS backends implement.
EGLOutputLayerEXT EGLint attribute
GLuint index
[2]
GLenum GLuint GLintptr offset
#define Q_ASSERT(cond)
Definition qrandom.cpp:47
ptrdiff_t qsizetype
Definition qtypes.h:70
QFileInfo info(fileName)
[8]