Botan  2.7.0
Crypto and TLS for C++11
Public Member Functions | List of all members
Botan::ISO_9796_DS2 Class Referencefinal

#include <iso9796.h>

Inheritance diagram for Botan::ISO_9796_DS2:
Botan::EMSA

Public Member Functions

EMSAclone () override
 
virtual AlgorithmIdentifier config_for_x509 (const Private_Key &key, const std::string &cert_hash_name) const
 
 ISO_9796_DS2 (HashFunction *hash, bool implicit=false)
 
 ISO_9796_DS2 (HashFunction *hash, bool implicit, size_t salt_size)
 
std::string name () const override
 

Detailed Description

ISO-9796-2 - Digital signature scheme 2 (probabilistic)

Definition at line 19 of file iso9796.h.

Constructor & Destructor Documentation

◆ ISO_9796_DS2() [1/2]

Botan::ISO_9796_DS2::ISO_9796_DS2 ( HashFunction hash,
bool  implicit = false 
)
inlineexplicit
Parameters
hashfunction to use
implicitwhether or not the trailer is implicit

Definition at line 26 of file iso9796.h.

Referenced by clone().

26  : m_hash(hash), m_implicit(implicit),
27  m_SALT_SIZE(hash->output_length()) {}
MechanismType hash

◆ ISO_9796_DS2() [2/2]

Botan::ISO_9796_DS2::ISO_9796_DS2 ( HashFunction hash,
bool  implicit,
size_t  salt_size 
)
inline
Parameters
hashfunction to use
implicitwhether or not the trailer is implicit
salt_sizesize of the salt to use in bytes

Definition at line 34 of file iso9796.h.

34  : m_hash(hash), m_implicit(implicit),
35  m_SALT_SIZE(salt_size) {}
size_t salt_size
MechanismType hash

Member Function Documentation

◆ clone()

EMSA * Botan::ISO_9796_DS2::clone ( )
overridevirtual
Returns
a new object representing the same encoding method as *this

Implements Botan::EMSA.

Definition at line 215 of file iso9796.cpp.

References ISO_9796_DS2().

216  {
217  return new ISO_9796_DS2(m_hash->clone(), m_implicit, m_SALT_SIZE);
218  }
ISO_9796_DS2(HashFunction *hash, bool implicit=false)
Definition: iso9796.h:26

◆ config_for_x509()

AlgorithmIdentifier Botan::EMSA::config_for_x509 ( const Private_Key key,
const std::string &  cert_hash_name 
) const
virtualinherited

Prepare sig_algo for use in choose_sig_format for x509 certs

Parameters
keyused for checking compatibility with the encoding scheme
cert_hash_nameis checked to equal the hash for the encoding
Returns
algorithm identifier to signatures created using this key, padding method and hash.

Reimplemented in Botan::EMSA_PKCS1v15, Botan::PSSR, and Botan::EMSA1.

Definition at line 38 of file emsa.cpp.

References Botan::EMSA::name().

40  {
41  throw Not_Implemented("Encoding " + name() + " not supported for signing X509 objects");
42  }
virtual std::string name() const =0

◆ name()

std::string Botan::ISO_9796_DS2::name ( ) const
overridevirtual
Returns
the SCAN name of the encoding/padding scheme

Implements Botan::EMSA.

Definition at line 261 of file iso9796.cpp.

References Botan::ASN1::to_string().

262  {
263  return "ISO_9796_DS2(" + m_hash->name() + ","
264  + (m_implicit ? "imp" : "exp") + "," + std::to_string(m_SALT_SIZE) + ")";
265  }
std::string to_string(const BER_Object &obj)
Definition: asn1_obj.cpp:210

The documentation for this class was generated from the following files: