xref: /freebsd/crypto/openssl/doc/man7/crypto.pod (revision 0957b409)
1=pod
2
3=head1 NAME
4
5crypto - OpenSSL cryptographic library
6
7=head1 SYNOPSIS
8
9See the individual manual pages for details.
10
11=head1 DESCRIPTION
12
13The OpenSSL B<crypto> library implements a wide range of cryptographic
14algorithms used in various Internet standards. The services provided
15by this library are used by the OpenSSL implementations of SSL, TLS
16and S/MIME, and they have also been used to implement SSH, OpenPGP, and
17other cryptographic standards.
18
19B<libcrypto> consists of a number of sub-libraries that implement the
20individual algorithms.
21
22The functionality includes symmetric encryption, public key
23cryptography and key agreement, certificate handling, cryptographic
24hash functions, cryptographic pseudo-random number generator, and
25various utilities.
26
27=head1 NOTES
28
29Some of the newer functions follow a naming convention using the numbers
30B<0> and B<1>. For example the functions:
31
32 int X509_CRL_add0_revoked(X509_CRL *crl, X509_REVOKED *rev);
33 int X509_add1_trust_object(X509 *x, const ASN1_OBJECT *obj);
34
35The B<0> version uses the supplied structure pointer directly
36in the parent and it will be freed up when the parent is freed.
37In the above example B<crl> would be freed but B<rev> would not.
38
39The B<1> function uses a copy of the supplied structure pointer
40(or in some cases increases its link count) in the parent and
41so both (B<x> and B<obj> above) should be freed up.
42
43=head1 RETURN VALUES
44
45See the individual manual pages for details.
46
47=head1 SEE ALSO
48
49L<openssl(1)>, L<ssl(7)>
50
51=head1 COPYRIGHT
52
53Copyright 2000-2016 The OpenSSL Project Authors. All Rights Reserved.
54
55Licensed under the OpenSSL license (the "License").  You may not use
56this file except in compliance with the License.  You can obtain a copy
57in the file LICENSE in the source distribution or at
58L<https://www.openssl.org/source/license.html>.
59
60=cut
61