xref: /openbsd/lib/libcrypto/man/crypto.3 (revision 5af055cd)
1.Dd $Mdocdate: November 12 2015 $
2.Dt CRYPTO 3
3.Os
4.Sh NAME
5.Nm crypto
6.Nd OpenSSL cryptographic library
7.Sh DESCRIPTION
8The OpenSSL crypto library implements a wide range of cryptographic
9algorithms used in various Internet standards.
10The services provided by this library are used by the OpenSSL
11implementations of SSL, TLS and S/MIME, and they have also been used to
12implement SSH, OpenPGP, and other cryptographic standards.
13.Sh OVERVIEW
14.Sy libcrypto
15consists of a number of sub-libraries that implement the individual
16algorithms.
17.Pp
18The functionality includes symmetric encryption, public key cryptography
19and key agreement, certificate handling, cryptographic hash functions
20and a cryptographic pseudo-random number generator.
21.Bl -tag -width Ds
22.It SYMMETRIC CIPHERS
23.Xr blowfish 3 ,
24cast,
25.Xr des 3 ,
26idea,
27rc2,
28.Xr rc4 3 ,
29rc5
30.It PUBLIC KEY CRYPTOGRAPHY AND KEY AGREEMENT
31.Xr dsa 3 ,
32.Xr dh 3 ,
33.Xr rsa 3
34.It CERTIFICATES
35.Xr x509 3 ,
36x509v3
37.It AUTHENTICATION CODES, HASH FUNCTIONS
38.Xr hmac 3 ,
39.Xr MD2 3 ,
40.Xr MD4 3 ,
41.Xr MD5 3 ,
42.Xr ripemd 3 ,
43.Xr sha 3
44.It AUXILIARY FUNCTIONS
45.Xr ERR 3 ,
46.Xr threads 3 ,
47.Xr rand 3 ,
48.Xr OPENSSL_VERSION_NUMBER 3
49.It INPUT/OUTPUT, DATA ENCODING
50asn1,
51.Xr bio 3 ,
52.Xr evp 3 ,
53.Xr pem 3 ,
54pkcs7,
55pkcs12
56.It INTERNAL FUNCTIONS
57.Xr bn 3 ,
58.Xr buffer 3 ,
59.Xr ec 3 ,
60.Xr lh_new 3 ,
61objects,
62stack,
63txt_db
64.El
65.Sh NOTES
66Some of the newer functions follow a naming convention using the numbers
67.Sq 0
68and
69.Sq 1 .
70For example the functions:
71.Pp
72.Ft int
73.Fo X509_CRL_add0_revoked
74.Fa "X509_CRL *crl"
75.Fa "X509_REVOKED *rev"
76.Fc
77.br
78.Ft int
79.Fo X509_add1_trust_object
80.Fa "X509 *x"
81.Fa "ASN1_OBJECT *obj"
82.Fc
83.Pp
84The
85.Sq 0
86version uses the supplied structure pointer directly in the parent and
87it will be freed up when the parent is freed.
88In the above example
89.Fa crl
90would be freed but
91.Fa rev
92would not.
93.Pp
94The
95.Sq 1
96function uses a copy of the supplied structure pointer (or in some cases
97increases its link count) in the parent and so both
98.Pf ( Fa x
99and
100.Fa obj
101above) should be freed up.
102.Sh SEE ALSO
103.Xr openssl 1 ,
104.Xr ssl 3
105