Public Key Infrastucture functions such as verifying certificates, RSA encription and signing which can be used to build PKI infrastructure and perform cryptographic tasks.
NEWS for PKI package
0.1-5 (under development) o use configure/autoconf
o macOS: fetch OpenSSL headers from Apple if not available in the SDK
0.1-4 o add support for explicit setting of initialization vectors (iv) in PKI.encrypt() and PKI.decrypt() for ciphers that support it. (see #16)
o add PKI.random() for generating cryptographically strong random bytes which can be used for keys, IVs, seeds etc. o adapt to API changes in OpenSSL 1.1 (see also PR#18)
0.1-3 2015-07-28 o fixed crash when loading private keys introduced by PR#1 in (unreleased) 0.1-2 and bring back the ability to directly read "DER"-encoded private RSA keys.
o fix detection of PKCS#8 encrypted private keys in PEM format
0.1-2 (not released) o add "DER" format option to PKI.load.cert()
o allow key in PKI.verify to be a certificate (which will be passed to PKI.pubkey() internally) o add experimental signing/verification of tar files using PKI.sign.tar() and PKI.verify.tar() o add support for symmetric ciphers like AES in PKI.encrypt()/PKI.decrypt() o add support for retrieving the subject of a certificate via PKI.get.subject() [PR#2, thanks to Matt Jones] o add support for PKCS#8 private key format (RFC 5208) and sign/verify/digest using SHA256. [PR#1, thanks to Siddhartha Bagaria] o bugfix: key length was incorrectly checked when using symmetric ciphers so too short keys were accepted. o bugfix: if the last block was filled during encryption, the necessary additional padding block was not generated. (#8) o bugfix: some functions did not call PKI initialization. One manifestation was that error messages were cryptic until any X.509 function was called. (#9)
0.1-1 2013-02-19 o added PKI.load.key() and PKI.save.key() functions to load/save keys from/to PEM and DER formats
IMPORTANT API NOTE: PKI.load.key() replaces the (unexported) function PKI.load.privkey() in the previous PKI version. o added support for OpenSSH public key format (as used in .ssh/authorized_keys files) as well as pure PKCS#1 and SSH2 PEMs o make PEM parsing more robust to support headers o added ASN.1 tools to parse and synthesize ASN.1 formatted objects - mostly for use in key format conversions o added as.BIGNUMint() for ASN.1 BIGNUM integer format conversion o added PKI.mkRSApubkey() to create RSA public keys from modulus and exponent alone o added raw2hex() function to convert raw hashes into string format
0.1-0 2012-11-05 o first public release