Name Date Size #Lines LOC

..--

bio/H--1,224869

certs/H--548390

cipher/H--879512

cms/H--1,104729

digest/H--639402

encode/H--456225

encrypt/H--428335

guide/H--3,2661,770

http3/H--2,5211,772

kdf/H--570346

keyexch/H--544329

mac/H--871550

pkcs12/H--166129

pkey/H--1,131741

quic/H--322193

signature/H--1,5661,183

smime/H--704486

sslecho/H--547385

MakefileH A D07-Aug-2025492 2927

README.txtH A D07-Aug-20253.3 KiB8262

build.infoH A D07-Aug-2025483 2923

README.txt

1OpenSSL Demonstration Applications
2
3This folder contains source code that demonstrates the proper use of the OpenSSL
4library API.
5
6Note: Makefiles are provided in the demo subfolders to demonstrate how to build
7them, but are not frequently used.  Configure openssl with enable-demos to build
8them automatically through the perl based build system
9
10bio:                   Demonstration of a simple TLS client and server
11
12certs:                 Demonstration of creating certs, using OCSP
13
14cipher:
15aesgcm.c               Demonstration of symmetric cipher GCM mode encrypt/decrypt
16aesccm.c               Demonstration of symmetric cipher CCM mode encrypt/decrypt
17ariacbc.c              Demonstration of symmetric cipher CBC mode encrypt/decrypt
18
19cms:                   Demonstrations related to the Cryptographic Message
20                       Syntax (CMS) standard
21
22digest:
23EVP_MD_demo.c          Compute a digest from multiple buffers
24EVP_MD_stdin.c         Compute a digest with data read from stdin
25EVP_MD_xof.c           Compute a digest using the SHAKE256 XOF
26EVP_f_md.c             Compute a digest using BIO and EVP_f_md
27
28encode:
29rsa_encode.c           Encode and decode PEM-encoded RSA keys
30
31encrypt:
32rsa_encrypt.c          Encrypt and decrypt data using an RSA keypair.
33
34guide:                   Sample code from the OpenSSL Guide tutorials. See
35                         the oss-guide-quic-introduction(7) man page.
36quic-client-block.c:     A simple blocking QUIC client
37quic-client-non-block.c: A simple non-blocking QUIC client
38quic-multi-stream.c:     A simple QUIC client using multiple streams
39tls-client-block.c:      A simple blocking SSL/TLS client
40tls-client-non-block.c:  A simple non-blocking SSL/TLS client
41
42http3:                 Demonstration of how to use OpenSSL's QUIC capabilities
43                       for HTTP/3.
44
45kdf:
46hkdf.c                 Demonstration of HMAC based key derivation
47pbkdf2.c               Demonstration of PBKDF2 password based key derivation
48scrypt.c               Demonstration of SCRYPT password based key derivation
49
50keyexch:
51x25519.c               Demonstration of X25519 based key exchange
52ecdh.c                 Demonstration of ECDH key exchange
53
54mac:
55gmac.c                 Demonstration of GMAC message authentication
56poly1305.c             Demonstration of Poly1305-AES message authentication
57siphash.c              Demonstration of SIPHASH message authentication
58
59pkcs12:
60pkread.c               Print out a description of a PKCS12 file.
61pkwrite.c              Add a password to an existing PKCS12 file.
62
63pkey:
64EVP_PKEY_EC_keygen.c           Generate an EC key.
65EVP_PKEY_RSA_keygen.c          Generate an RSA key.
66EVP_PKEY_DSA_keygen.c          Generate a DSA key.
67EVP_PKEY_DSA_paramgen.c        Generate a DSA param key.
68EVP_PKEY_DSA_paramvalidate.c   Validate a DSA param key.
69EVP_PKEY_DSA_paramfromdata.c   Load a DSA param key using raw data.
70
71signature:
72EVP_EC_Signature_demo.c   Compute and verify an EC signature.
73EVP_DSA_Signature_demo.c  Compute and verify a DSA signature.
74EVP_ED_Signature_demo.c   Compute and verify an ED25519 signature.
75rsa_pss_direct.c          Compute and verify an RSA-PSS signature from a hash
76rsa_pss_hash.c            Compute and verify an RSA-PSS signature over a buffer
77
78smime:                 Demonstrations related to S/MIME
79
80sslecho:
81main.c                 Simple SSL/TLS echo client/server.
82