AusweisApp2
 Alle Klassen Namensbereiche Dateien Funktionen Variablen Typdefinitionen Aufzählungen Aufzählungswerte Propertys Freundbeziehungen Makrodefinitionen
CertificateDescription.h
gehe zur Dokumentation dieser Datei
1 
7 #pragma once
8 
9 #include "ASN1TemplateUtil.h"
10 #include "ASN1Util.h"
11 
12 #include <openssl/asn1t.h>
13 #include <openssl/err.h>
14 
15 #include <QSet>
16 #include <QSharedPointer>
17 #include <QString>
18 #include <QVector>
19 
20 
21 namespace governikus
22 {
23 
24 
41 {
42  enum class TermsOfUsageType
43  {
45  };
46 
47  ASN1_OBJECT* mDescriptionType;
48  ASN1_UTF8STRING* mIssuerName;
49  ASN1_PRINTABLESTRING* mIssuerURL;
50  ASN1_UTF8STRING* mSubjectName;
51  ASN1_PRINTABLESTRING* mSubjectURL;
52  ASN1_TYPE* mTermsOfUsage;
53  ASN1_PRINTABLESTRING* mRedirectURL;
54  STACK_OF(ASN1_OCTET_STRING) * mCommCertificates;
55 
56 
57  static QSharedPointer<const CertificateDescription> fromHex(const QByteArray& pHexValue);
58  static QSharedPointer<const CertificateDescription> decode(const QByteArray& pBytes);
59  QByteArray encode();
60 
61  void setDescriptionType(const QByteArray& pOidAsText);
62  QByteArray getDescriptionType() const;
63 
64  void setIssuerName(const QString& pIssuerName);
65  QString getIssuerName() const;
66 
67  void setIssuerUrl(const QString& pIssuerUrl);
68  QString getIssuerUrl() const;
69 
70  void setSubjectName(const QString& pSubjectName);
71  QString getSubjectName() const;
72 
73  void setSubjectUrl(const QString& pSubjectUrl);
74  QString getSubjectUrl() const;
75 
77  QString getTermsOfUsage() const;
78 
79  void setRedirectUrl(const QString& pRedirectUrl);
80  QString getRedirectUrl() const;
81 
82  QSet<QString> getCommCertificates() const;
83 
89  QString getServiceProviderAddress() const;
90 
96  QString getPurpose() const;
97 
103  QString getDataSecurityOfficer() const;
104 };
105 
106 DECLARE_ASN1_FUNCTIONS(CertificateDescription)
108 
109 #if OPENSSL_VERSION_NUMBER < 0x10100000L
110  #define sk_ASN1_OCTET_STRING_num(data) data->stack.num
111  #define sk_ASN1_OCTET_STRING_value(data, i) SKM_sk_value(ASN1_OCTET_STRING, data, i)
112 #endif
113 
114 } /* namespace governikus */
QString getRedirectUrl() const
Definition: CertificateDescription.cpp:226
QString getServiceProviderAddress() const
Returns the address of service provider.
Definition: CertificateDescription.cpp:250
void setRedirectUrl(const QString &pRedirectUrl)
Definition: CertificateDescription.cpp:216
QString getSubjectName() const
Definition: CertificateDescription.cpp:160
ASN1_PRINTABLESTRING * mIssuerURL
Definition: CertificateDescription.h:49
ASN1_UTF8STRING * mSubjectName
Definition: CertificateDescription.h:50
QString getPurpose() const
Returns the purpose of the certificate description.
Definition: CertificateDescription.cpp:260
static QSharedPointer< const CertificateDescription > decode(const QByteArray &pBytes)
Definition: CertificateDescription.cpp:101
QByteArray getDescriptionType() const
Definition: CertificateDescription.cpp:120
void setIssuerName(const QString &pIssuerName)
Definition: CertificateDescription.cpp:126
TermsOfUsageType getTermsOfUsageType() const
Definition: CertificateDescription.cpp:182
QString getSubjectUrl() const
Definition: CertificateDescription.cpp:176
QByteArray encode()
Definition: CertificateDescription.cpp:107
Definition: CertificateDescription.h:40
TermsOfUsageType
Definition: CertificateDescription.h:42
ASN1_PRINTABLESTRING * mSubjectURL
Definition: CertificateDescription.h:51
ASN1_OBJECT * mDescriptionType
Definition: CertificateDescription.h:47
STACK_OF(ASN1_OCTET_STRING)*mCommCertificates
QString getDataSecurityOfficer() const
Returns the data security officer of the certificate description.
Definition: CertificateDescription.cpp:273
void setDescriptionType(const QByteArray &pOidAsText)
Definition: CertificateDescription.cpp:113
ASN1_PRINTABLESTRING * mRedirectURL
Definition: CertificateDescription.h:53
QSet< QString > getCommCertificates() const
Definition: CertificateDescription.cpp:232
void setSubjectName(const QString &pSubjectName)
Definition: CertificateDescription.cpp:154
ASN1_UTF8STRING * mIssuerName
Definition: CertificateDescription.h:48
QString getIssuerName() const
Definition: CertificateDescription.cpp:132
void setIssuerUrl(const QString &pIssuerUrl)
Definition: CertificateDescription.cpp:138
QString getTermsOfUsage() const
Definition: CertificateDescription.cpp:196
#define DECLARE_ASN1_OBJECT(name)
Definition: ASN1TemplateUtil.h:152
ASN1_TYPE * mTermsOfUsage
Definition: CertificateDescription.h:52
void setSubjectUrl(const QString &pSubjectUrl)
Definition: CertificateDescription.cpp:166
QString getIssuerUrl() const
Definition: CertificateDescription.cpp:148
static QSharedPointer< const CertificateDescription > fromHex(const QByteArray &pHexValue)
Definition: CertificateDescription.cpp:95