wolfssl-examples/signature
Carie Pointer 30dc37a2ea Add SHA224 as an option for <hash> type in usage print statement and update hash type values to match the correct enum values found in types.h 2019-08-26 15:32:09 -07:00
..
rsa_buffer Add simple RSA sign and verify examples 2018-11-15 08:20:13 +10:00
rsa_vfy_only Small RSA verification example 2019-03-18 11:43:15 +10:00
sigtest resolve compiler warnings and remove executable from tracking 2019-05-24 15:07:25 -04:00
Makefile wolfSSL signature example. This example takes a file and creates a signature for it using the "wc_Signature*" wrapper functions. This example generates a new ECC key and dumps the key values, then creates a signature from a hash of the file and signs it. Then it performs a verification using the signature and public key. 2015-11-12 09:54:15 -08:00
README.md Add SHA224 as an option for <hash> type in usage print statement and update hash type values to match the correct enum values found in types.h 2019-08-26 15:32:09 -07:00
signature.c Add SHA224 as an option for <hash> type in usage print statement and update hash type values to match the correct enum values found in types.h 2019-08-26 15:32:09 -07:00

README.md

wolfSSL Signature Example

This directory contains:

A simple example of using wolfSSL to sign and verify binary data. It supports RSA and ECC for signing and MD2, MD4, MD5, SHA, SHA224, SHA256, SHA384 and SHA512.

This example creates a signature from a hash of the file and signs it using a generated key. Then it performs a verification using the signature and public key.

Compiling and Running the Example

$ make
$ ./firmware [filename] [sig] [hash]

Usage

Usage: signature : 1=ECC (def), 2=RSA, 3=RSA (w/DER Encoding) : 1=MD2, 2=MD4, 3=MD5, 4=SHA, 5=SHA256 (def), 6=SHA384, 7=SHA512, 8=MD5+SHA

------------------ UPDATE ----------------- April 11 2017:

Added ED25519 directory

ED25519 directory contains:

  1. App "gen_key_files.c" to generate public/private keys and output keys to .der formatted files.

  2. genkeybuffers.pl - a perl script to write the header file "test_keys.h" using the .der formatted files output from applicaton "gen_key_files.c"

  3. App "sign_and_verify.c" to use the "test_keys.h" header file buffers for importing the public and private keys. App will then sign a msg with the private key and verify that signature using the public key

------------------ UPDATE ----------------- November 13 2018:

Added rsa_buffer directory

rsa_buffer directory contains:

  1. App "sign.c" to generate a signature using a DER encoded private key into a buffer. Prints out a hex encoding of signature.

  2. App "verify.c" to verify a signature using a DER encoded public key in and binary signature in buffers.

  3. Script sign_vfy.sh builds sign, creates a signature with "sign", builds verify with message and signature generated and verifies the signature with "verify".