AusweisApp
Lade ...
Suche ...
Keine Treffer
CVCertificate.h
gehe zur Dokumentation dieser Datei
1
9#pragma once
10
11#include "CVCertificateBody.h"
12
13#include <QByteArrayList>
14#include <QDebug>
15
16#include <openssl/ecdsa.h>
17
18
19namespace governikus
20{
21
38 : public ASN1_OCTET_STRING
39{
40 // we use inheritance, because the structure ValidityDate is already a typedef of ASN1_OCTET_STRING
41 // and we cannot have two template specializations for the same type.
42};
43
44
46{
47 CVCertificateBody* mBody;
48 SIGNATURE* mSignature;
50
51 static QList<QSharedPointer<const cvcertificate_st>> fromRaw(const QByteArrayList& pByteList);
53 [[nodiscard]] QByteArray encode() const;
54
55 [[nodiscard]] const CVCertificateBody& getBody() const;
57 [[nodiscard]] const ECDSA_SIG* getEcdsaSignature() const;
60
61 [[nodiscard]] bool isValidOn(const QDateTime& pValidationDate) const;
62 [[nodiscard]] bool isIssuedBy(const cvcertificate_st& pIssuer) const;
63
64 static int decodeCallback(int pOperation, ASN1_VALUE** pVal, const ASN1_ITEM* pIt, void* pExarg);
65};
66
67
70
71
73{
74 return pLeft.getRawBody() == pRight.getRawBody() && pLeft.getRawSignature() == pRight.getRawSignature();
75}
76
77
79{
80 return !(pLeft == pRight);
81}
82
83
84} // namespace governikus
85
86QDebug operator<<(QDebug pDbg, const governikus::CVCertificate& pCvc);
87QDebug operator<<(QDebug pDbg, const QSharedPointer<const governikus::CVCertificate>& pCvc);
88QDebug operator<<(QDebug pDbg, const QSharedPointer<governikus::CVCertificate>& pCvc);
89QDebug operator<<(QDebug pDbg, const QList<QSharedPointer<governikus::CVCertificate>>& pCvcs);
#define DECLARE_ASN1_OBJECT(name)
Definition ASN1TemplateUtil.h:177
QDebug operator<<(QDebug pDbg, const governikus::CVCertificate &pCvc)
Definition CVCertificate.cpp:157
Implementation of GeneralAuthenticate response APDUs.
Definition CommandApdu.h:17
struct cvcertificate_st { CVCertificateBody *mBody; SIGNATURE *mSignature; ECDSA_SIG *mEcdsaSignature; static QList< QSharedPointer< const cvcertificate_st > > fromRaw(const QByteArrayList &pByteList); static QSharedPointer< const cvcertificate_st > fromRaw(const QByteArray &pBytes);[[nodiscard]] QByteArray encode() const ;[[nodiscard]] const CVCertificateBody &getBody() const ;[[nodiscard]] QByteArray getRawBody() const ;[[nodiscard]] const ECDSA_SIG *getEcdsaSignature() const ;[[nodiscard]] QByteArray getRawSignature() const ;[[nodiscard]] QByteArray getDerSignature() const ;[[nodiscard]] bool isValidOn(const QDateTime &pValidationDate) const ;[[nodiscard]] bool isIssuedBy(const cvcertificate_st &pIssuer) const ; static int decodeCallback(int pOperation, ASN1_VALUE **pVal, const ASN1_ITEM *pIt, void *pExarg);} CVCertificate
Definition CVCertificate.h:45
struct certificateprofilebody_st { ASN1_OCTET_STRING *mCertificateProfileIdentifier; ASN1_STRING *mCertificationAuthorityReference; EcdsaPublicKey *mPublicKey; ASN1_STRING *mCertificateHolderReference; CHAT *mChat; ASN1_OCTET_STRING *mEffectiveDate; ASN1_OCTET_STRING *mExpirationDate; STACK_OF(ASN1_TYPE) *mExtensions; static QSharedPointer< certificateprofilebody_st > decode(const QByteArray &pBytes); QByteArray encode();[[nodiscard]] QByteArray getCertificateProfileIdentifier() const ;[[nodiscard]] QByteArray getCertificationAuthorityReference() const ;[[nodiscard]] const EcdsaPublicKey &getPublicKey() const ;[[nodiscard]] QByteArray getCertificateHolderReference() const ;[[nodiscard]] const CHAT &getCHAT() const ; void setCertificateExpirationDate(QDate date);[[nodiscard]] QDate getCertificateExpirationDate() const ; void setCertificateEffectiveDate(QDate date);[[nodiscard]] QDate getCertificateEffectiveDate() const ;[[nodiscard]] QCryptographicHash::Algorithm getHashAlgorithm() const ;[[nodiscard]] QByteArray getExtension(const Oid &pOid) const ;} CVCertificateBody
Definition CVCertificateBody.h:24
bool operator!=(const CVCertificate &pLeft, const CVCertificate &pRight)
Definition CVCertificate.h:78
QSharedPointer< T > decodeObject(const QByteArray &pData, bool pLogging=true)
Template function for decoding an OpenSSL type from DER encoded QByteArray.
Definition ASN1TemplateUtil.h:114
According to.
Definition CVCertificate.h:39