RSA BSAFE® Cert-C Basic Developer's Guide
Total Page:16
File Type:pdf, Size:1020Kb
RSA BSAFE® Cert-C Basic Developer’s Guide Version 2.7 Certificate management components for C Contact Information See our Web sites for regional Customer Support telephone and fax numbers. RSA Security Inc. RSA Security Ireland Limited www.rsasecurity.com www.rsasecurity.ie Trademarks ACE/Agent, ACE/Server, Because Knowledge is Security, BSAFE, ClearTrust, JSAFE, Keon, RC2, RC4, RC5, RSA, the RSA logo, RSA Security, SecurCare, SecurID, Smart Rules, The Most Trusted Name in e-Security, Virtual Business Units, and WebID are registered trademarks, and RSA Secured, the RSA Secured logo, SecurWorld, and Transaction Authority are trademarks of RSA Security Inc. in the U.S. and/or other countries. All other trademarks mentioned herein are the property of their respective owners. License Agreement This software and the associated documentation are proprietary and confidential to RSA Security, are furnished under license and may be used and copied only in accordance with the terms of such license and with the inclusion of the copyright below. This software and any copies thereof may not be provided or otherwise made available to any other person. Neither this software nor any copies thereof may be provided to or otherwise made available to any third party. No title to or ownership of the software or any intellectual property rights thereto is hereby transferred. Any unauthorized use or reproduction of this software may be subject to civil and/or criminal liability. This software is subject to change without notice and should not be construed as a commitment by RSA Security. Third Party Licenses This product may include software developed by parties other than RSA Security. The text of the license agreements applicable to third party software in this product may be viewed in the thirdpartylicense.pdf file. Note on Encryption Technologies This product may contain encryption technology. Many countries prohibit or restrict the use, import or export of encryption technologies and current use, import and export regulations should be followed when exporting this product. Distribution Limit distribution of this document to trusted personnel. RSA Security Notice The RC5® Block Encryption Algorithm With Data-Dependent Rotations is protected by U.S. Patent #5,724,428 and #5,835,600. Compaq MultiPrime™ technology is protected by U.S. Patent #5,848,159 and is the subject of patent applications in other countries. This product includes patented technology licensed from Entrust Technologies Inc. (US Patent# 5,699,431). © 2003 RSA Security Inc. All rights reserved. 001-046014-270-001-000 (SAP P/N: 3904) First printing: March, 2003 Contents Preface 11 How This Book Is Organized . 12 Cert-C Documentation Redesign . 14 Cert-C Documentation Map. 15 Core Documentation . .15 Additional Documentation. .16 How to Contact RSA Security . 17 RSA Security Web Site . .17 Getting Support and Service . .17 SecurCare® Online . .17 Technical Support Information . .17 Chapter 1 Introduction 19 What Is RSA BSAFE Cert-C? . 19 The Cert-C Components. .20 Cert-C Features . 21 New Features in Cert-C 2.7 . 23 Cert-C Architecture . 24 Your Application. .25 Cert-C API. .25 Cert-C Context. .26 Cert-C Initialization. .26 Cert-C Service Providers . .26 Service-Provider Initialization. .27 Service-Provider Registering . .28 Service-Provider Unregistering. .29 Service-Provider Binding. .29 Service Provider Unbinding. .29 Surrender Context. .30 Cert-C SPI. .30 3 Chapter 2 RSA Security Concepts 31 Secret-Key Cryptography . 31 Public-Key Cryptography. 31 Key Management . 32 Digital Signatures. 33 Digital Certificates . 34 Extension Fields . 35 CRL Distribution Points . 36 Attribute Fields . 36 Digital Envelopes . 36 Certificate Authority . 37 Certificate Chaining . 38 Push Model Versus Pull Model . 39 Trusted Root . 39 Certificate Revocation List . 39 Protocol Considerations . 41 What Are the X.509 Standards?. 41 PKIX Profiles . 42 PKCS Messaging. 42 PKCS #7 and PKCS #10 Message Formats. 43 PKCS #8 Private-Key Syntax. 43 PKCS #11 Cryptographic Token Interface . 44 PKCS #12 Public/Private-Key Importing and Exporting . 44 OCSP Certificate Status . 44 SCEP Certificate Request . 44 CRS Certificate Request . 45 CMP Certificate Management . 45 ASN.1 BER and DER Encoding . 46 Character Sets . 47 Chapter 3 Cert-C Setup 49 Cert-C CD-ROM Contents. 50 Installing Cert-C . 51 Compatibility with BCERT 1.0x . 51 Customizing the UNIX Install Location . 51 UNIX Platform-Specific Build Strings. 53 Using the Crypto-C Libraries . 54 Third-Party Source Code . 54 4.