AusweisApp2
CVCertificateChainBuilder.h
gehe zur Dokumentation dieser Datei
1 
7 #pragma once
8 
9 #include "ChainBuilder.h"
10 #include "CVCertificate.h"
11 #include "CVCertificateChain.h"
13 
14 
15 namespace governikus
16 {
17 
19  : private ChainBuilder<QSharedPointer<const CVCertificate>>
20 {
21  private:
22  bool mProductive;
23 
24  static bool isChild(const QSharedPointer<const CVCertificate>& pChild, const QSharedPointer<const CVCertificate>& pParent);
25 
26  void removeInvalidChains();
27 
28  [[nodiscard]] CVCertificateChain getChainForCertificationAuthority(const QByteArray& pCar) const;
29 
30  public:
31  explicit CVCertificateChainBuilder(bool pProductive = true);
32 
36  explicit CVCertificateChainBuilder(const QVector<QSharedPointer<const CVCertificate>>& pCvcPool, bool pProductive);
37 
38 
48  [[nodiscard]] CVCertificateChain getChainStartingWith(const QSharedPointer<const CVCertificate>& pChainRoot) const;
49 
50 
62  [[nodiscard]] CVCertificateChain getChainForCertificationAuthority(const EstablishPaceChannelOutput& pPaceOutput) const;
63 };
64 
65 } // namespace governikus
governikus::CVCertificateChainBuilder
Definition: CVCertificateChainBuilder.h:20
governikus::CVCertificateChainBuilder::CVCertificateChainBuilder
CVCertificateChainBuilder(bool pProductive=true)
Definition: CVCertificateChainBuilder.cpp:22
ChainBuilder.h
EstablishPaceChannelOutput.h
governikus::ChainBuilder< QSharedPointer< const CVCertificate > >::mChains
QVector< QVector< QSharedPointer< const CVCertificate > > > mChains
Definition: ChainBuilder.h:26
governikus::EstablishPaceChannelOutput::getCarPrev
const QByteArray & getCarPrev() const
Definition: EstablishPaceChannelOutput.cpp:449
governikus::CVCertificate
struct cvcertificate_st { CVCertificateBody *mBody CVCertificate
Definition: CVCertificate.h:47
governikus::EstablishPaceChannelOutput
Definition: EstablishPaceChannelOutput.h:48
governikus::CVCertificateChainBuilder::getChainStartingWith
CVCertificateChain getChainStartingWith(const QSharedPointer< const CVCertificate > &pChainRoot) const
Get a chain with root CVC passed in as parameter.
Definition: CVCertificateChainBuilder.cpp:106
CVCertificateChainBuilder.h
governikus
Implementation of ActivationContext for Intent based activation on Android systems.
Definition: ActivationContext.h:15
governikus::ChainBuilder
Definition: ChainBuilder.h:24
governikus::CVCertificateChainBuilder::CVCertificateChainBuilder
CVCertificateChainBuilder(const QVector< QSharedPointer< const CVCertificate >> &pCvcPool, bool pProductive)
Creates a new instance.
governikus::ChainBuilder< QSharedPointer< const CVCertificate > >::getChains
const QVector< QVector< QSharedPointer< const CVCertificate > > > & getChains() const
Definition: ChainBuilder.h:93
CVCertificate.h
governikus::CVCertificateChain
Definition: CVCertificateChain.h:22
CVCertificateChain.h
governikus::EstablishPaceChannelOutput::getCarCurr
const QByteArray & getCarCurr() const
Definition: EstablishPaceChannelOutput.cpp:437
governikus::CVCertificateChain::isValid
bool isValid() const
Is this a valid CVC chain, i.e.
Definition: CVCertificateChain.cpp:42