NSign.BouncyCastle
1.1.0
dotnet add package NSign.BouncyCastle --version 1.1.0
NuGet\Install-Package NSign.BouncyCastle -Version 1.1.0
<PackageReference Include="NSign.BouncyCastle" Version="1.1.0" />
paket add NSign.BouncyCastle --version 1.1.0
#r "nuget: NSign.BouncyCastle, 1.1.0"
// Install NSign.BouncyCastle as a Cake Addin #addin nuget:?package=NSign.BouncyCastle&version=1.1.0 // Install NSign.BouncyCastle as a Cake Tool #tool nuget:?package=NSign.BouncyCastle&version=1.1.0
NSign extensions using BouncyCastle
This library must be used together with other NSign libraries. It provides support for signatures and signature verifications for EdDSA using curve edwards25519 [^1].
Usage
Signature provider for EdDSA using cure edwards 25519
var provider = new EdDsaEdwards25519SignatureProvider(
privateKey,
publicKey,
"the-key-id"));
Here, privateKey
and publicKey
are instances of Ed25519PrivateKeyParameters
and
Ed25519PublicKeyParameters
from the BouncyCastle.Cryptography
package respectively.
If you have the keys in PEM-formatted files, you can use the PemReader
from the same BouncyCastle
package to read those keys. If you have a .pfx or a .cer file, you can use openssl
to extract the
keys. For instance:
# Extract the ed25519 private key from a .pfx file holding an ed25519 private key:
openssl pkcs12 -in my.pfx -nocerts -nodes -out my-priv.pem
# Extract the public key from the above extracted private key
openssl pkey -in my-priv.pem -pubout -out my-pub.pem
## OR, if you just have the public key in a certificate file:
openssl x509 -in my.cer -pubkey -nocert -out my-pub.pem
Make sure to consult the documentation of your openssl
installation for more details.
Further Information
See also:
[^1]: See section EdDSA Using Curve edwards25519 of HTTP Message Signatures (RFC 9421), https://www.rfc-editor.org/rfc/rfc9421.html#name-eddsa-using-curve-edwards25
Product | Versions 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. net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.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 was computed. 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. |
-
.NETStandard 2.0
- BouncyCastle.Cryptography (>= 2.4.0)
- NSign.Abstractions (>= 1.1.0)
-
net6.0
- BouncyCastle.Cryptography (>= 2.4.0)
- NSign.Abstractions (>= 1.1.0)
-
net8.0
- BouncyCastle.Cryptography (>= 2.4.0)
- NSign.Abstractions (>= 1.1.0)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.