要在C#中使用Bouncy Castle庫,首先需要將其添加到項目中
現在您已經成功地將Bouncy Castle庫添加到項目中,可以開始使用它了。以下是如何在C#中調用Bouncy Castle接口的示例:
首先,導入必要的命名空間:
using System;
using System.Security.Cryptography;
using BouncyCastle.Crypto;
using BouncyCastle.Crypto.Parameters;
using BouncyCastle.Math;
using BouncyCastle.Security;
接下來,創建一個方法來生成RSA密鑰對:
public static void GenerateRSAKeyPair()
{
ISigner signer = SignerUtilities.GetSigner("SHA256withRSA");
signer.Init(true);
Rfc3526Parameters keyParameters = new Rfc3526Parameters("CN=Example", "example.com", "example.org");
keyParameters.KeySize = 2048;
using (ISecretKey secretKey = new Rfc3526PrivateKeyParameters(keyParameters))
{
using (ISigner privateSigner = SignerUtilities.GetSigner("SHA256withRSA"))
{
privateSigner.Init(false, secretKey);
byte[] publicKeyBytes = privateSigner.GeneratePublicKey();
using (ISigner publicSigner = SignerUtilities.GetSigner("SHA256withRSA"))
{
publicSigner.Init(true, publicKeyBytes);
byte[] data = Encoding.UTF8.GetBytes("Hello, Bouncy Castle!");
byte[] signature = publicSigner.Sign(data);
Console.WriteLine("Public Key: " + Convert.ToBase64String(publicKeyBytes));
Console.WriteLine("Signature: " + Convert.ToBase64String(signature));
}
}
}
}
最后,在Main方法中調用此方法以生成RSA密鑰對并簽名數據:
public static void Main(string[] args)
{
GenerateRSAKeyPair();
}
這個示例展示了如何使用Bouncy Castle庫生成RSA密鑰對并對數據進行簽名。您可以根據需要調整代碼以滿足您的需求。