FORTEZZA Application Implementors Guide
for the PCMCIA based FORTEZZA Cryptologic Card
VERSION: 1.00 30 January 1995
Table of Contents
1.0 Introduction
1.1 FORTEZZA Overview
1.2 Purpose
1.3 Organization of Document
1.4 Terms and Abbreviations
1.5 References
2.0 Background
2.1 Encryption and Decryption
2.2 The Key Exchange Algorithm
2.3 The Hashing Algorithm
2.4 Digital Signatures
2.5 Digital Timestamps
2.6 Certificates
2.6.1 The Certificate Hierarchy
2.6.2 The FORTEZZA Certificate Structure
2.6.3 The X.509 Certificate Structure
2.6.4 Card Certificate Complement
3.0 Fortezza Key Management
3.1 Certificate Revocation List
3.2 Key Revocation List
3.3 Backup and Archive Issues
3.4 Replication and Transfer of Private Keys
4.0 PRODUCTS
4.1 The Card
4.1.1 Operational Overview
4.1.2 Card States
4.1.3 Card Memory Spaces
4.1.4 Card Commands
4.2 The Card Reader
4.3 Card and Socket Services
4.4 Device Driver
4.5 The CI_Library
4.5.1 CI_Library Functions
4.6 System Applications
5.0 The CI_LIBRARY Application Programming Interface
5.1 CI_Library Functions
5.2 Data Structures
5.3 Determining the Card's Configuration
5.4 Determining Card Status
5.5 Initializing the CI_Library
5.6 PCMCIA Card Hot Swapping Support
5.7 Using Certificate Registers
5.8 Using Key Registers
5.9 Performance Considerations
5.10 Cryptologic Card Function Groups
6.0 Administrative Functions
6.1 Card Initialization
6.2 Generating and Installing Certificates
6.3 Certificate Distribution
6.4 Certificate and Key Revocation
6.5 Extract, Relay and Install X functions
7.0 Operational Functions
7.1 Logging On and Off
7.2 Selecting and Switching Between User Personalities
7.3 Encrypting and Decrypting Messages
7.4 Generating and Verifying Digital Signatures
7.5 Key Exchange
7.6 Generating and Verifying Timestamps
7.7 Archiving Encrypted Data
8.0 Other Application Issues
8.1 Data Management
8.2 Context Switching
8.3 MSP Message Processing Overview
APPENDIX A - SPYRUS CI_Library and Platform Specific Details
A.1 SPYRUS Card and Socket Services Software
A.2 Device Driver
A.3 The SPYRUS CI_Library
A.4 Verifying Software Installations