Cryptography support. More...
Namespaces | |
namespace | algorithm |
Miscellaneous cryptographic routines. | |
namespace | base64 |
Cryptographic hashing. | |
namespace | hash |
Cryptographic hashing. | |
Classes | |
class | Certificate |
class | CmsSigner |
class | CmsVerifier |
class | CryptoException |
Base exception. More... | |
class | DsaSigner |
Generic signer for asymmetric cryptography. More... | |
class | DsaVerifier |
Generic verifier for asymmetric cryptography. More... | |
class | HmacShaSigner |
HMAC-SHA signer. More... | |
class | HmacShaVerifier |
HMAC-SHA verifier. More... | |
class | KeyParseError |
Signing key parse error. More... | |
class | NamedAlgo |
Base class for a crypto algorithm implementation. More... | |
class | PrivateKey |
class | PublicKey |
class | Signer |
Base signer class. More... | |
class | SignerNone |
"none" algorithm signer More... | |
class | SignError |
Signature generation error. More... | |
class | VerificationError |
Signature verification error. More... | |
class | Verifier |
Base verifier class. More... | |
class | VerifierNone |
"none" algorithm verifier More... | |
Typedefs | |
Outputs HMAC SHA MAC. | |
using | SignerHs1 = HmacShaSigner< DigestSize::k160 > |
using | SignerHs256 = HmacShaSigner< DigestSize::k256 > |
using | SignerHs384 = HmacShaSigner< DigestSize::k384 > |
using | SignerHs512 = HmacShaSigner< DigestSize::k512 > |
Outputs RSASSA signature using SHA-2 and PKCS1 padding. | |
using | SignerRs256 = DsaSigner< DsaType::kRsa, DigestSize::k256 > |
using | SignerRs384 = DsaSigner< DsaType::kRsa, DigestSize::k384 > |
using | SignerRs512 = DsaSigner< DsaType::kRsa, DigestSize::k512 > |
Outputs ECDSA as per RFC7518. | |
OpenSSL generates ECDSA signatures in ASN.1/DER format, RFC7518 specifies signature as a concatenation of zero-padded big-endian | |
using | SignerEs256 = DsaSigner< DsaType::kEc, DigestSize::k256 > |
using | SignerEs384 = DsaSigner< DsaType::kEc, DigestSize::k384 > |
using | SignerEs512 = DsaSigner< DsaType::kEc, DigestSize::k512 > |
Outputs RSASSA signature using SHA-2 and PSS padding as per RFC7518. | |
JWA specifications require using MGF1 function with the same hash function as for the digest and salt length to be the same size as the hash output. | |
using | SignerPs256 = DsaSigner< DsaType::kRsaPss, DigestSize::k256 > |
using | SignerPs384 = DsaSigner< DsaType::kRsaPss, DigestSize::k384 > |
using | SignerPs512 = DsaSigner< DsaType::kRsaPss, DigestSize::k512 > |
Verifies HMAC SHA MAC. | |
using | VerifierHs1 = HmacShaVerifier< DigestSize::k160 > |
using | VerifierHs256 = HmacShaVerifier< DigestSize::k256 > |
using | VerifierHs384 = HmacShaVerifier< DigestSize::k384 > |
using | VerifierHs512 = HmacShaVerifier< DigestSize::k512 > |
Verifies RSASSA signature using SHA-2 and PKCS1 padding. | |
using | VerifierRs256 = DsaVerifier< DsaType::kRsa, DigestSize::k256 > |
using | VerifierRs384 = DsaVerifier< DsaType::kRsa, DigestSize::k384 > |
using | VerifierRs512 = DsaVerifier< DsaType::kRsa, DigestSize::k512 > |
Verifies ECDSA as per RFC7518. | |
OpenSSL generates ECDSA signatures in ASN.1/DER format, RFC7518 specifies signature as a concatenation of zero-padded big-endian | |
using | VerifierEs256 = DsaVerifier< DsaType::kEc, DigestSize::k256 > |
using | VerifierEs384 = DsaVerifier< DsaType::kEc, DigestSize::k384 > |
using | VerifierEs512 = DsaVerifier< DsaType::kEc, DigestSize::k512 > |
Verifies RSASSA signature using SHA-2 and PSS padding as per RFC7518. | |
JWA specifications require using MGF1 function with the same hash function as for the digest and salt length to be the same size as the hash output. | |
using | VerifierPs256 = DsaVerifier< DsaType::kRsaPss, DigestSize::k256 > |
using | VerifierPs384 = DsaVerifier< DsaType::kRsaPss, DigestSize::k384 > |
using | VerifierPs512 = DsaVerifier< DsaType::kRsaPss, DigestSize::k512 > |
Enumerations | |
enum class | DigestSize { k160 , k256 , k384 , k512 } |
SHA digest size in bits. More... | |
enum class | DsaType { kRsa , kEc , kRsaPss } |
Digital signature type. More... | |
Cryptography support.
using crypto::SignerEs256 = typedef DsaSigner<DsaType::kEc, DigestSize::k256> |
Definition at line 98 of file signers.hpp.
using crypto::SignerEs384 = typedef DsaSigner<DsaType::kEc, DigestSize::k384> |
Definition at line 99 of file signers.hpp.
using crypto::SignerEs512 = typedef DsaSigner<DsaType::kEc, DigestSize::k512> |
Definition at line 100 of file signers.hpp.
using crypto::SignerHs1 = typedef HmacShaSigner<DigestSize::k160> |
Definition at line 60 of file signers.hpp.
using crypto::SignerHs256 = typedef HmacShaSigner<DigestSize::k256> |
Definition at line 61 of file signers.hpp.
using crypto::SignerHs384 = typedef HmacShaSigner<DigestSize::k384> |
Definition at line 62 of file signers.hpp.
using crypto::SignerHs512 = typedef HmacShaSigner<DigestSize::k512> |
Definition at line 63 of file signers.hpp.
using crypto::SignerPs256 = typedef DsaSigner<DsaType::kRsaPss, DigestSize::k256> |
Definition at line 108 of file signers.hpp.
using crypto::SignerPs384 = typedef DsaSigner<DsaType::kRsaPss, DigestSize::k384> |
Definition at line 109 of file signers.hpp.
using crypto::SignerPs512 = typedef DsaSigner<DsaType::kRsaPss, DigestSize::k512> |
Definition at line 110 of file signers.hpp.
using crypto::SignerRs256 = typedef DsaSigner<DsaType::kRsa, DigestSize::k256> |
Definition at line 88 of file signers.hpp.
using crypto::SignerRs384 = typedef DsaSigner<DsaType::kRsa, DigestSize::k384> |
Definition at line 89 of file signers.hpp.
using crypto::SignerRs512 = typedef DsaSigner<DsaType::kRsa, DigestSize::k512> |
Definition at line 90 of file signers.hpp.
using crypto::VerifierEs256 = typedef DsaVerifier<DsaType::kEc, DigestSize::k256> |
Definition at line 104 of file verifiers.hpp.
using crypto::VerifierEs384 = typedef DsaVerifier<DsaType::kEc, DigestSize::k384> |
Definition at line 105 of file verifiers.hpp.
using crypto::VerifierEs512 = typedef DsaVerifier<DsaType::kEc, DigestSize::k512> |
Definition at line 106 of file verifiers.hpp.
using crypto::VerifierHs1 = typedef HmacShaVerifier<DigestSize::k160> |
Definition at line 61 of file verifiers.hpp.
using crypto::VerifierHs256 = typedef HmacShaVerifier<DigestSize::k256> |
Definition at line 62 of file verifiers.hpp.
using crypto::VerifierHs384 = typedef HmacShaVerifier<DigestSize::k384> |
Definition at line 63 of file verifiers.hpp.
using crypto::VerifierHs512 = typedef HmacShaVerifier<DigestSize::k512> |
Definition at line 64 of file verifiers.hpp.
using crypto::VerifierPs256 = typedef DsaVerifier<DsaType::kRsaPss, DigestSize::k256> |
Definition at line 114 of file verifiers.hpp.
using crypto::VerifierPs384 = typedef DsaVerifier<DsaType::kRsaPss, DigestSize::k384> |
Definition at line 115 of file verifiers.hpp.
using crypto::VerifierPs512 = typedef DsaVerifier<DsaType::kRsaPss, DigestSize::k512> |
Definition at line 116 of file verifiers.hpp.
using crypto::VerifierRs256 = typedef DsaVerifier<DsaType::kRsa, DigestSize::k256> |
Definition at line 94 of file verifiers.hpp.
using crypto::VerifierRs384 = typedef DsaVerifier<DsaType::kRsa, DigestSize::k384> |
Definition at line 95 of file verifiers.hpp.
using crypto::VerifierRs512 = typedef DsaVerifier<DsaType::kRsa, DigestSize::k512> |
Definition at line 96 of file verifiers.hpp.
|
strong |
SHA digest size in bits.
Definition at line 25 of file basic_types.hpp.
|
strong |
Digital signature type.
Definition at line 28 of file basic_types.hpp.