Skip to content

Latest commit

 

History

History
88 lines (58 loc) · 2.39 KB

README.md

File metadata and controls

88 lines (58 loc) · 2.39 KB

Makefile

NAME

Makefile - provides implicit rules to generate openssl RSA keys

SYNOPSIS

make [KEYNAME=<USERNAME>_rsa] [PRIVKEY=<KEYNAME>.pem] [PUBKEY=.pub] [TARGET=all]...

TARGET

make all

Encrypt/decrypt and sign/verify a text message. Generate RSA keys if they are missing.

make keys

Generate RSA keys only.

make clean

Clean crypted/decrypted and signed text messages.

make mrproper

Clean crypted/decrypted and signed text messages, and removes RSA keys.

ENVIRONMENT

KEYNAME The RSA key name [default: <USERNAME>_rsa]

PRIVKEY The private key name [default: <KEYNAME).pem]

PUBKEY The public key name [default: <KEYNAME>.pub]

DESCRIPTION

This Makefile provides implicit rules to generate RSA keys using openssl(1).

Those implicit rules are freely available for use, reuse, adaptation, and sharing in any Makefile. You may also credit myself.

EXAMPLES

By default, make(1) will generate RSA keys to encrypt and decrypt a text message. It also signs and verify it.

$ make KEYNAME=example
openssl genrsa -aes256                              -out example.pem
Generating RSA private key, 2048 bit long modulus
................................................................................................+++
..+++
e is 65537 (0x10001)
Enter pass phrase for example.pem:
Verifying - Enter pass phrase for example.pem:
openssl    rsa                           -in example.pem     -out example.pub -outform PEM -pubout
Enter pass phrase for example.pem:
writing RSA key
openssl rsautl -encrypt -inkey example.pub -pubin -in message.txt     -out message.txt.enc
openssl rsautl -decrypt -inkey example.pem        -in message.txt.enc
Enter pass phrase for example.pem:
This is my private message!
openssl dgst   -sha1 -sign   example.pem              message.txt         >message.txt.sig
Enter pass phrase for example.pem:
openssl dgst   -sha1 -verify example.pub -signature   message.txt.sig      message.txt
Verified OK
rm message.txt.sig message.txt.enc

Do some cleanup to remove everything.

$ make mrproper
rm -f message.*
rm -f *.pub* *.der *.pem*

AUTHOR

Written by Gaël PORTAY gael.portay@gmail.com

COPYRIGHT

Copyright (c) 2016-2017 Gaël PORTAY

This program is free software: you can redistribute it and/or modify it under the terms of the MIT License.