BouncyCastle.Cryptography 2.2.1

.NET 6.0 .NET Standard 2.0 .NET Framework 4.6.1
dotnet add package BouncyCastle.Cryptography --version 2.2.1
NuGet\Install-Package BouncyCastle.Cryptography -Version 2.2.1
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="BouncyCastle.Cryptography" Version="2.2.1" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add BouncyCastle.Cryptography --version 2.2.1
#r "nuget: BouncyCastle.Cryptography, 2.2.1"
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install BouncyCastle.Cryptography as a Cake Addin
#addin nuget:?package=BouncyCastle.Cryptography&version=2.2.1

// Install BouncyCastle.Cryptography as a Cake Tool
#tool nuget:?package=BouncyCastle.Cryptography&version=2.2.1

The Bouncy Castle Cryptography Library For .NET

NuGet NuGet

The Bouncy Castle Cryptography library is a .NET implementation of cryptographic algorithms and protocols. It was developed by the Legion of the Bouncy Castle, a registered Australian Charity, with a little help! The Legion, and the latest goings on with this package, can be found at

In addition to providing basic cryptography algorithms, the package also provides support for CMS, OpenPGP, (D)TLS, TSP, X.509 certificate generation and more. The package also includes implementations of the following NIST Post-Quantum Cryptography Standardization algorithms: CRYSTALS-Dilithium, CRYSTALS-Kyber, Falcon, SPHINCS+, Classic McEliece, FrodoKEM, NTRU, NTRU Prime, Picnic, Saber, BIKE, and SIKE. These should all be considered EXPERIMENTAL and subject to change or removal. SIKE in particular is already slated for removal and should be used for research purposes only.

The Legion also gratefully acknowledges the contributions made to this package by others (see here for the current list). If you would like to contribute to our efforts please feel free to get in touch with us or visit our donations page, sponsor some specific work, or purchase a support contract.

Except where otherwise stated, this software is distributed under a license based on the MIT X Consortium license. To view the license, see here. This software includes a modified Bzip2 library, which is licensed under the Apache Software License, Version 2.0.

Note: This source tree is not the FIPS version of the APIs - if you are interested in our FIPS version please visit us here or contact us directly at

Installing BouncyCastle

You should install BouncyCastle with NuGet:

Install-Package BouncyCastle.Cryptography

Or via the .NET Core command line interface:

dotnet add package BouncyCastle.Cryptography

Either commands, from Package Manager Console or .NET Core CLI, will download and install BouncyCastle.Cryptography.

Mailing Lists

For those who are interested, there are 2 mailing lists for participation in this project. To subscribe use the links below and include the word subscribe in the message body. (To unsubscribe, replace subscribe with unsubscribe in the message body)

NOTE: You need to be subscribed to send mail to the above mailing list.


If you want to provide feedback directly to the members of The Legion then please use If you want to help this project survive please consider donating.

For bug reporting/requests you can report issues on github, or via if required. We will accept pull requests based on this repository as well, but only on the basis that any code included may be distributed under the Bouncy Castle License.



Product Compatible and additional computed target framework versions.
.NET net5.0 was computed.  net5.0-windows was computed.  net6.0 is compatible.  net6.0-android was computed.  net6.0-ios was computed.  net6.0-maccatalyst was computed.  net6.0-macos was computed.  net6.0-tvos was computed.  net6.0-windows was computed.  net7.0 was computed.  net7.0-android was computed.  net7.0-ios was computed.  net7.0-maccatalyst was computed.  net7.0-macos was computed.  net7.0-tvos was computed.  net7.0-windows was computed. 
.NET Core netcoreapp2.0 was computed.  netcoreapp2.1 was computed.  netcoreapp2.2 was computed.  netcoreapp3.0 was computed.  netcoreapp3.1 was computed. 
.NET Standard netstandard2.0 is compatible.  netstandard2.1 was computed. 
.NET Framework net461 is compatible.  net462 was computed.  net463 was computed.  net47 was computed.  net471 was computed.  net472 was computed.  net48 was computed.  net481 was computed. 
MonoAndroid monoandroid was computed. 
MonoMac monomac was computed. 
MonoTouch monotouch was computed. 
Tizen tizen40 was computed.  tizen60 was computed. 
Xamarin.iOS xamarinios was computed. 
Xamarin.Mac xamarinmac was computed. 
Xamarin.TVOS xamarintvos was computed. 
Xamarin.WatchOS xamarinwatchos was computed. 
Compatible target framework(s)
Additional computed target framework(s)
Learn more about Target Frameworks and .NET Standard.
  • .NETFramework 4.6.1

    • No dependencies.
  • .NETStandard 2.0

    • No dependencies.
  • net6.0

    • No dependencies.

NuGet packages (53)

Showing the top 5 NuGet packages that depend on BouncyCastle.Cryptography:

Package Downloads

MimeKit is an Open Source library for creating and parsing MIME, S/MIME and PGP messages on desktop and mobile platforms. It also supports parsing of Unix mbox files. Unlike any other .NET MIME parser, MimeKit's parser does not need to parse string input nor does it use a TextReader. Instead, it parses raw byte streams, thus allowing it to better support undeclared 8bit text in headers as well as message bodies. It also means that MimeKit's parser is significantly faster than other .NET MIME parsers. MimeKit's parser also uses a real tokenizer when parsing the headers rather than regex or string.Split() like most other .NET MIME parsers. This means that MimeKit is much more RFC-compliant than any other .NET MIME parser out there, including the commercial implementations. In addition to having a far superior parser implementation, MimeKit's object tree is not a derivative of System.Net.Mail objects and thus does not suffer from System.Net.Mail's limitations. API documentation can be found on the web at For those that need SMTP, POP3 or IMAP support, check out


iTextSharp.LGPLv2.Core is an unofficial port of the last LGPL version of the iTextSharp (V4.1.6) to .NET Core.

OpenIddict.Core The ID prefix of this package has been reserved for one of the owners of this package by

OpenIddict's core components, used to manage the applications, authorizations, scopes and tokens stored in the database.


The DocuSign NuGet package makes integrating DocuSign into your apps and websites a super fast and painless process. The library is open sourced on GitHub, look for the docusign-esign-csharp-client repository. Join the eSign revolution!


.NET Standard class library for using PGP

GitHub repositories (13)

Showing the top 5 popular GitHub repositories that depend on BouncyCastle.Cryptography:

Repository Stars
Flexible and versatile OAuth 2.0/OpenID Connect stack for .NET
A cross-platform asynchronous HTTP(S) proxy server in C#.
Mission Planner Ground Control Station for ArduPilot (c# .net)
可能是全网最完整的 C# 版微信 SDK,封装全部已知的微信 API,包含微信公众平台(订阅号+服务号+小程序+小游戏+小商店+视频号)、微信开放平台、微信商户平台(微信支付+微企付)、企业微信、微信广告平台、微信智能对话开放平台等模块,可跨平台。持续随官方更新,欢迎 Star / Fork。QQ 交流群 875580418。
iTextSharp.LGPLv2.Core is an unofficial port of the last LGPL version of the iTextSharp (V4.1.6) to .NET Core
Version Downloads Last updated
2.2.1 53,284 4/21/2023
2.2.0 11,252 4/17/2023
2.1.1 513,464 2/18/2023
2.1.0 580 2/18/2023
2.0.0 533,308 11/15/2022