Perl extension to OpenSSL's PKCS10 API.
Crypt::OpenSSL::RSA provides the ability to RSA encrypt
strings which are somewhat shorter than the block size of
a key. It also allows for decryption, signatures and
signature verification.
This implement a large majority of OpenSSL's useful X509 API.
The email() method supports both certificates where the
subject is of the form:
"... CN=Firstname lastname/emailAddress=user@domain", and also
certificates where there is a X509v3 Extension of the form
"X509v3 Subject Alternative Name: email=user@domain".
Crypt::OpenSSL::Bignum provides access to OpenSSL
multiprecision integer arithmetic libraries. Presently,
many though not all of the arithmetic operations that
OpenSSL provides are exposed to perl. In addition,
this module can be used to provide access to bignum
values produced by other OpenSSL modules, such as key
parameters from Crypt::OpenSSL::RSA.
Crypt::OpenSSL::DSA implements the DSA (Digital Signature Algorithm)
signature verification system.
Crypt::Password::Util is a crypt password utilities.
Its crypt($str) works like Perl's crypt(), but automatically choose the
appropriate crypt type and random salt. Will first choose SSHA512 with 64-bit
random salt. If not supported by system, fall back to MD5-CRYPT with 32-bit
random salt. If that is not supported, fall back to CRYPT.
Its crypt_type($str) returns crypt type, or undef if $str does not look like a
crypted password. Currently known types: CRYPT (traditional DES crypt),
MD5-CRYPT (including Apache variant), SSHA256 (salted SHA256), SSHA512 (salted
SHA512), and PLAIN-MD5.
See also Authen::Passphrase which recognizes more encodings (but currently not
SSHA256 and SSHA512).
Parse RSA keys for useful information
Crypt::Random::Seed is a simple mechanism to get strong randomness. The main
purpose of this module is to provide a simple way to generate a seed for a PRNG
such as Math::Random::ISAAC, for use in cryptographic key generation, or as the
seed for an upstream module such as Bytes::Random::Secure. Flags for requiring
non-blocking sources are allowed, as well as a very simple method for plugging
in a source.
Crypt::Passwd::XS - Full XS implementation of common crypt() algorithms
This module provides several common crypt() schemes as full XS
implementations. It allows you to validate crypted passwords that were
hashed using a scheme that the system's native crypt() implementation
does not support.
The following files are adapted from other sources (primarily DragonFly BSD.)
See the copyright notices in these files for full details:
crypt_to64.c - copyright 1991 University of California
crypt_to64.h - copyright 1991 University of California
des.c - copyright 1994 David Burren, Geoffrey M. Rehmet, Mark R V Murray
md5.c - copyright 1999, 2000, 2002 Aladdin Enterprises
md5.h - copyright 1999, 2000, 2002 Aladdin Enterprises
md5crypt.c - copyright Poul-Henning Kamp
md5crypt.h - copyright Poul-Henning Kamp
sha256crypt.c - public domain reference implementation by Ulrich Drepper
sha512crypt.c - public domain reference implementation by Ulrich Drepper
Get weak or strong random data from pluggable sources