1 /*
2  * FreeRTOS V202212.00
3  * Copyright (C) 2020 Amazon.com, Inc. or its affiliates. All Rights Reserved.
4  *
5  * Permission is hereby granted, free of charge, to any person obtaining a copy of
6  * this software and associated documentation files (the "Software"), to deal in
7  * the Software without restriction, including without limitation the rights to
8  * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
9  * the Software, and to permit persons to whom the Software is furnished to do so,
10  * subject to the following conditions:
11  *
12  * The above copyright notice and this permission notice shall be included in all
13  * copies or substantial portions of the Software.
14  *
15  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16  * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
17  * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
18  * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
19  * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
20  * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
21  *
22  * https://www.FreeRTOS.org
23  * https://github.com/FreeRTOS
24  *
25  */
26 
27 #ifndef _PKCS11_DEMOS_h_
28 #define _PKCS11_DEMOS_h_
29 
30 /* Prototype for the PKCS #11 "Management" demo. This demo covers the various
31  * functions used to manage the internal state of the PKCS #11 stack, and then
32  * demonstrates how to generate random numbers using PKCS #11.
33  */
34 void vPKCS11ManagementAndRNGDemo( void );
35 
36 /* Prototype for the PKCS #11 "Digests" demo. This demo covers how to query
37  * slots for supported capabilities, and creating a message digest if the
38  * slot supports it.
39  */
40 void vPKCS11MechanismsAndDigestDemo( void );
41 
42 /* Prototype for the PKCS #11 "Object" demo. This demo covers objects and how
43  * they are defined and used within PKCS #11.
44  */
45 void vPKCS11ObjectDemo( void );
46 
47 /* Prototype for the PKCS #11 "Sign and Verify" demo. This demo covers how
48  * PKCS #11 can be used to sign a message, and verify the integrity of a message
49  * using private and public keys.
50  *
51  * This demo will also cover the "core_pkcs11.h" functions, and how they can be
52  * used to make the PKCS #11 flow easier to use.
53  *
54  * Warning: This demo depends on the objects created in the objects demo.
55  */
56 void vPKCS11SignVerifyDemo( void );
57 
58 #endif /* _PKCS11_DEMOS_h_ */
59