Я пытаюсь подписать документ для beA с помощью Bouncy Castle на основе RSA-PSS с солью длиной 32 байта, но получаю ошибку от сервера.
Это ошибка, я получаю ответ «400 Неверный запрос: ошибка: мыло: Сервер 0950 — аутентификация CRAM не удалась».
У меня нет опыта подписи документов и криптографии, и я думаю, именно поэтому я ошибаюсь .
Я читал и искал, но это все, что мне известно, что в любом случае не очень хорошо.
Это метод, который я использую .
Я получаю закрытый ключ в виде XML, а подписывающий документ — в виде строки. Результат — base64.
public void SignData(string PrivateKeyXml, string DataToSign, out string SignedData)
{
byte[] dataBytes = Encoding.UTF8.GetBytes(DataToSign);
AsymmetricKeyParameter privateKey = ImportPrivateKeyFromXml(PrivateKeyXml);
ISigner signer = SignerUtilities.GetSigner("SHA256withRSAandMGF1");
signer.Init(true, privateKey);
signer.BlockUpdate(dataBytes, 0, dataBytes.Length);
byte[] signature = signer.GenerateSignature();
SignedData = Convert.ToBase64String(signature);
}
private static AsymmetricKeyParameter ImportPrivateKeyFromXml(string xml)
{
var rsa = RSA.Create();
rsa.FromXmlString(xml);
var parameters = rsa.ExportParameters(true);
RsaPrivateCrtKeyParameters privateKey = new RsaPrivateCrtKeyParameters(
new Org.BouncyCastle.Math.BigInteger(1, parameters.Modulus),
new Org.BouncyCastle.Math.BigInteger(1, parameters.Exponent),
new Org.BouncyCastle.Math.BigInteger(1, parameters.D),
new Org.BouncyCastle.Math.BigInteger(1, parameters.P),
new Org.BouncyCastle.Math.BigInteger(1, parameters.Q),
new Org.BouncyCastle.Math.BigInteger(1, parameters.DP),
new Org.BouncyCastle.Math.BigInteger(1, parameters.DQ),
new Org.BouncyCastle.Math.BigInteger(1, parameters.InverseQ));
return privateKey;
}
Подробнее здесь: https://stackoverflow.com/questions/790 ... lt-of-32-b
Проблема с подписью документа с помощью Bouncy Castle на основе RSA-PSS с солью длиной 32 байта в C# ⇐ C#
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Проблемы с подписью XML с помощью RSASSA-PSS (SHA256-RSA-MGF1) с использованием PHP
Anonymous » » в форуме Php - 0 Ответы
- 14 Просмотры
-
Последнее сообщение Anonymous
-
-
-
Преобразовать AsymmetricCipherKeyPair (RSA) Bouncy Castle в java.security.KeyPair
Anonymous » » в форуме JAVA - 0 Ответы
- 15 Просмотры
-
Последнее сообщение Anonymous
-
-
-
Как реализовать MTL между клиентом и сервером в C# с помощью Bouncy Castle?
Anonymous » » в форуме C# - 0 Ответы
- 17 Просмотры
-
Последнее сообщение Anonymous
-