1. Home
  2. /
  3. Documentation
  4. /
  5. Documentation Bouncy Castle C# .NET

Bouncy Castle for C# .NET Documentation

Use the C#.NET or C#.NET FIPS version of Bouncy Castle cryptographic APIs when developing .NET applications and requiring a versatile and robust set of cryptographic functions.

Bouncy Castle C#
hero-sub-1

Documentation

Find documentation, specifications, code examples and more to get started with Bouncy Castle for C# .NET or C# .NET FIPS. 

API Documentation

Go directly to our API documentation for a complete specification of all classes, methods, and parameters.

Release notes

Find out detailed information about the latest release and search in older release notes.  

Specification &  Interoperability 

View the complete list of Certifications, supported Algorithms, Key Types, Message Digests and Expandable Output Functions, Post Quantum Algorithms CRLs, OCSP, Certificate Distribution, Certificate Enrollment Protocols and more. 

Test packages

Find our test packages, they will help you quickly validate if you are on the right track 

FIPS Roadmap

Details about our current plans and versions in progress for the Bouncy Castle C# .NET FIPS APIs can be found on the C# .NET FIPS Roadmap. 

Release notes

Find out detailed information about the latest Bouncy Castle C# and C# FIPS releases here: 

Release Notes for Bouncy Castle C#

Release Notes for Bouncy Castle C# .NET FIPS

Documentation

Introduction

The Bouncy Castle Crypto package is a C# .NET implementation of cryptographic algorithms and cryptographic protocols that make use of the algorithms.

The package is organized as a set of interfaces with low level implementations for each of the supported algorithms. In most case new algorithms, or providers of those algorithms, can be introduced by providing an implementation of the interface required.

Each distribution is built around a core DLL containing the algorithms set and then associated DLLs for supporting X.509, certification requests, PKIX, TSP, CMS, OpenPGP, and TLS. 

Patents and Licensing

Except where otherwise stated, this software is distributed under LICENSE. The OpenPGP library makes use of additional open-source code to provide support for BZIP, (see Third Party Licenses).

Disclaimer: Currently, we have no knowledge of any patents that impact the Bouncy Castle APIs which require disclosure. Patent applicability does vary from country to country and users of the library are responsible for understanding the legal landscape in their own jurisdiction.

That said, patent holders who wish to alert us to possible issues that may affect our user community are welcome to contact us via feedback-crypto@bouncycastle.org if they would like a disclosure notice included here.

Specifications and Interoperability 

The complete Specification and lists of Certifications, Supported Algorithms, Key Types, Message Digests and Expandable Output Functions, Post Quantum Algorithms CRLs, OCSP, Certificate Distribution, Certificate Enrollment Protocols and more,  can be found here 

Specification & Interoperability 

Bouncy Castle C# Documentation 

Note: the Bouncy Castle Specifications can be found on the Specification and Interoperability page

Bouncy Castle C# API Documentation:

Examples and Test Packages

While there are some example packages for the Bouncy Castle C# distribution, the best place to find examples of use for the different features available in the Bouncy Castle APIs is in the different test packages written to exercise those features.

To view some examples, look at the test programs in the packages:

There are also some specific example programs for dealing with PKCS12,  and OpenPGP. They can be found in:

Bouncy Castle C# FIPS Documentation

Here you can find Bouncy Castle Java FIPS-specific documentation. If you can't find what you're looking for here, please see the general Bouncy Castle Java documentation above. 

Bouncy Castle C# FIPS API Documentation:

Bouncy Castle C# FIPS API Mini-book:

Related Resources

Training: PKI at the edge with Bouncy Castle

Learn how to use Bouncy Castle for generating certificates and certification requests, including for EJBCA. To make these tasks easier for system administrators, we will also look at Kotlin DSL as a scripting language.

Bouncy Castle Tutorials and Workshops on Youtube
Contents