mirror of
https://github.com/openssl/openssl.git
synced 2024-12-09 05:51:54 +08:00
2c4969708c
Came up on the mailing list, from Ken Goldman. Reviewed-by: Tim Hudson <tjh@openssl.org>
86 lines
2.0 KiB
Plaintext
86 lines
2.0 KiB
Plaintext
=pod
|
|
|
|
=head1 NAME
|
|
|
|
crypto - OpenSSL cryptographic library
|
|
|
|
=head1 SYNOPSIS
|
|
|
|
=head1 DESCRIPTION
|
|
|
|
The OpenSSL B<crypto> library implements a wide range of cryptographic
|
|
algorithms used in various Internet standards. The services provided
|
|
by this library are used by the OpenSSL implementations of SSL, TLS
|
|
and S/MIME, and they have also been used to implement SSH, OpenPGP, and
|
|
other cryptographic standards.
|
|
|
|
=head1 OVERVIEW
|
|
|
|
B<libcrypto> consists of a number of sub-libraries that implement the
|
|
individual algorithms.
|
|
|
|
The functionality includes symmetric encryption, public key
|
|
cryptography and key agreement, certificate handling, cryptographic
|
|
hash functions and a cryptographic pseudo-random number generator.
|
|
|
|
=over 4
|
|
|
|
=item SYMMETRIC CIPHERS
|
|
|
|
L<blowfish(3)>, L<cast(3)>, L<des(3)>,
|
|
L<idea(3)>, L<rc2(3)>, L<rc4(3)>, L<rc5(3)>
|
|
|
|
=item PUBLIC KEY CRYPTOGRAPHY AND KEY AGREEMENT
|
|
|
|
L<dsa(3)>, L<dh(3)>, L<ec(3)>, L<rsa(3)>
|
|
|
|
=item CERTIFICATES
|
|
|
|
L<x509(3)>, L<x509v3(3)>
|
|
|
|
=item AUTHENTICATION CODES, HASH FUNCTIONS
|
|
|
|
L<hmac(3)>, L<md2(3)>, L<md4(3)>,
|
|
L<md5(3)>, L<mdc2(3)>, L<ripemd(3)>,
|
|
L<sha(3)>
|
|
|
|
=item AUXILIARY FUNCTIONS
|
|
|
|
L<err(3)>, L<threads(3)>, L<rand(3)>,
|
|
L<OPENSSL_VERSION_NUMBER(3)>
|
|
|
|
=item INPUT/OUTPUT, DATA ENCODING
|
|
|
|
L<asn1(3)>, L<bio(3)>, L<evp(3)>, L<pem(3)>,
|
|
L<pkcs7(3)>, L<pkcs12(3)>
|
|
|
|
=item UTILITY FUNCTIONS
|
|
|
|
L<bn(3)>, L<buffer(3)>, L<lhash(3)>,
|
|
L<objects(3)>, L<stack(3)>,
|
|
L<txt_db(3)>
|
|
|
|
=back
|
|
|
|
=head1 NOTES
|
|
|
|
Some of the newer functions follow a naming convention using the numbers
|
|
B<0> and B<1>. For example the functions:
|
|
|
|
int X509_CRL_add0_revoked(X509_CRL *crl, X509_REVOKED *rev);
|
|
int X509_add1_trust_object(X509 *x, ASN1_OBJECT *obj);
|
|
|
|
The B<0> version uses the supplied structure pointer directly
|
|
in the parent and it will be freed up when the parent is freed.
|
|
In the above example B<crl> would be freed but B<rev> would not.
|
|
|
|
The B<1> function uses a copy of the supplied structure pointer
|
|
(or in some cases increases its link count) in the parent and
|
|
so both (B<x> and B<obj> above) should be freed up.
|
|
|
|
=head1 SEE ALSO
|
|
|
|
L<openssl(1)>, L<ssl(3)>
|
|
|
|
=cut
|