It has 5 main components:
- RootCA
- CA
- Entity
- Certificate
- Verification_Authority
The software allows a hierarchical structure of certification authorities (CAs) not limited to the depth or number of authorities. A certification authority can also give permission to an ordinary entity, thus authorizing it to be registered as a certification itself.
A demo is shown in PKI.py for the cases in the following diagram:
Output of PKI.py: