Crypto++  8.6
Free C++ class library of cryptographic schemes
Enumerations | Functions
dsa.h File Reference

Classes for the DSA signature algorithm. More...

Go to the source code of this file.


enum  DSASignatureFormat { DSA_P1363, DSA_DER, DSA_OPENPGP }
 DSA Signature Format. More...


size_t DSAConvertSignatureFormat (byte *buffer, size_t bufferSize, DSASignatureFormat toFormat, const byte *signature, size_t signatureLen, DSASignatureFormat fromFormat)
 Converts between signature encoding formats. More...

Detailed Description

Classes for the DSA signature algorithm.

Definition in file dsa.h.

Enumeration Type Documentation

◆ DSASignatureFormat

DSA Signature Format.

The DSA signature format used by Crypto++ is as defined by IEEE P1363. OpenSSL, Java and .Net use the DER format, and OpenPGP uses the OpenPGP format.

See also
DSAConvertSignatureFormat on the Crypto++ wiki.
Crypto++ 1.0

Crypto++ native signature encoding format.


signature encoding format used by OpenSSL, Java and .Net


OpenPGP signature encoding format.

Definition at line 20 of file dsa.h.

Function Documentation

◆ DSAConvertSignatureFormat()

size_t DSAConvertSignatureFormat ( byte buffer,
size_t  bufferSize,
DSASignatureFormat  toFormat,
const byte signature,
size_t  signatureLen,
DSASignatureFormat  fromFormat 

Converts between signature encoding formats.

bufferbyte buffer for the converted signature encoding
bufferSizethe length of the converted signature encoding buffer
toFormatthe source signature format
signaturebyte buffer for the existing signature encoding
signatureLenthe length of the existing signature encoding buffer
fromFormatthe source signature format
the number of bytes written during encoding

This function converts between these formats, and returns length of signature in the target format. If toFormat == DSA_P1363, then bufferSize must equal publicKey.SignatureLength() or verifier.SignatureLength().

If the destination buffer is too small then the output of the encoded r and s will be truncated. Be sure to provide an adequately sized buffer and check the return value for the number of bytes written.

See also
DSAConvertSignatureFormat on the Crypto++ wiki.
Crypto++ 1.0