AusweisApp
Lade ...
Suche ...
Keine Treffer
CVCertificateBody.h
gehe zur Dokumentation dieser Datei
1
5#pragma once
6
7#include "ASN1TemplateUtil.h"
8#include "Chat.h"
9#include "EcdsaPublicKey.h"
10#include "Oid.h"
11
12#include <QByteArray>
13#include <QCryptographicHash>
14#include <QDate>
15#include <QHash>
16#include <QSharedPointer>
17
18#include <openssl/ec.h>
19
20
21namespace governikus
22{
23
24using CVCertificateBody = struct certificateprofilebody_st
25{
26 ASN1_OCTET_STRING* mCertificateProfileIdentifier;
31 ASN1_OCTET_STRING* mEffectiveDate;
32 ASN1_OCTET_STRING* mExpirationDate;
33 STACK_OF(ASN1_TYPE) * mExtensions;
34
35 static QSharedPointer<certificateprofilebody_st> decode(const QByteArray& pBytes);
36 QByteArray encode();
37
38 [[nodiscard]] QByteArray getCertificateProfileIdentifier() const;
39 [[nodiscard]] QByteArray getCertificationAuthorityReference() const;
40
41 [[nodiscard]] const EcdsaPublicKey& getPublicKey() const;
42 [[nodiscard]] QByteArray getCertificateHolderReference() const;
43
44 [[nodiscard]] const CHAT& getCHAT() const;
45
46 void setCertificateExpirationDate(QDate date);
47 [[nodiscard]] QDate getCertificateExpirationDate() const;
48
49 void setCertificateEffectiveDate(QDate date);
50 [[nodiscard]] QDate getCertificateEffectiveDate() const;
51
52 [[nodiscard]] QCryptographicHash::Algorithm getHashAlgorithm() const;
53 [[nodiscard]] QByteArray getExtension(const Oid& pOid) const;
54};
55
56DECLARE_ASN1_FUNCTIONS(CVCertificateBody)
58
59} // namespace governikus
#define DECLARE_ASN1_OBJECT(name)
Definition ASN1TemplateUtil.h:177
Implementation of GeneralAuthenticate response APDUs.
Definition CommandApdu.h:17
ASN1_STRING * mCertificateHolderReference
Definition CVCertificateBody.h:29
const EcdsaPublicKey & getPublicKey() const
Definition CVCertificateBody.cpp:96
QDate getCertificateEffectiveDate() const
Definition CVCertificateBody.cpp:130
chat_st { ASN1_OBJECT *mType CHAT
According to.
Definition Chat.h:70
const CHAT & getCHAT() const
Definition CVCertificateBody.cpp:103
certificateprofilebody_st { ASN1_OCTET_STRING *mCertificateProfileIdentifier CVCertificateBody
Definition CVCertificateBody.h:26
ASN1_STRING * mCertificationAuthorityReference
Definition CVCertificateBody.h:27
void setCertificateEffectiveDate(QDate date)
Definition CVCertificateBody.cpp:123
ASN1_OCTET_STRING * mExpirationDate
Definition CVCertificateBody.h:32
QByteArray encode() const
QCryptographicHash::Algorithm getHashAlgorithm() const
Definition CVCertificateBody.cpp:142
void setCertificateExpirationDate(QDate date)
Definition CVCertificateBody.cpp:110
QByteArray getCertificateProfileIdentifier() const
Definition CVCertificateBody.cpp:84
QByteArray getCertificationAuthorityReference() const
Definition CVCertificateBody.cpp:90
QByteArray getCertificateHolderReference() const
Definition CVCertificateBody.cpp:136
EcdsaPublicKey * mPublicKey
Definition CVCertificateBody.h:28
QByteArray getExtension(const Oid &pOid) const
Definition CVCertificateBody.cpp:148
QDate getCertificateExpirationDate() const
Definition CVCertificateBody.cpp:117
ASN1_OCTET_STRING * mEffectiveDate
Definition CVCertificateBody.h:31
STACK_OF(ASN1_TYPE) *mExtensions
ecdsapublickey_st { ASN1_OBJECT *mObjectIdentifier EcdsaPublicKey
According to TR-03110-3 chapter D elliptic curve public keys are defined as follows:
Definition EcdsaPublicKey.h:44
CHAT * mChat
Definition CVCertificateBody.h:30