rudik_R |
|
Статус: Новичок Группы: Участники
|
При формировании первичного запроса вылетает ошибка: Полученный для функции буфер слишком мал (0х80090028) |
|
|
nickm |
|
Статус: Активный участник Группы: Участники Сказал(а) «Спасибо»: 312 раз |
А используемая Вами версия СКЗИ какая? На последней промежуточной версии «5.0.12600», так же воспроизводится? А на версии раннего доступа «5.0.12750», так же воспроизводится? |
|
|
rudik_R |
|
Статус: Новичок Группы: Участники
|
Версия -5.0.12600 |
|
|
Александр Лавник |
|
Статус: Сотрудник Группы: Участники Сказал «Спасибо»: 53 раз |
Автор: rudik_R Версия -5.0.12600 https://t.me/csp_beta |
Техническую поддержку оказываем тут |
|
|
|
rudik_R |
|
Статус: Новичок Группы: Участники
|
Спасибо проблема решилась с установкой версии 5.0.12741 |
|
|
Пользователи, просматривающие эту тему |
Guest |
Быстрый переход
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.
- Remove From My Forums
Назначение сертификата, ошибка: полученный для функции буфер слишком мал
-
Question
-
Добрый день,
Для линка приобрели публичный сертификат от РУ-ЦЕНТРА wildcard. Импортировал на lync-egde.
При попытке назначания вылетает ошибка: Полученный для функции буфер слишком мал.
> Назначение сертификата
Set-CSCertificate -Type AccessEdgeExternal,DataEdgeExternal,AudioVideoAuthentication -Thumbprint ED176905A7668144DE0CF03A1562B44C18712EA2 -Confirm:$false -Report «C:UsersadminAppDataLocalTempSet-CSCertificate-[2013_09_09][11_08_24].html»
ПРЕДУПРЕЖДЕНИЕ: Имя субъекта «*.domain.ru» сертификата не совпадает с полным доменным именем компьютера «lyncsip.domain.ru».
ПРЕДУПРЕЖДЕНИЕ: Сбой Set-CSCertificate.
ПРЕДУПРЕЖДЕНИЕ: Сведения о результатах представлены в «C:UsersadminAppDataLocalTempSet-CSCertificate-[2013_09_09][11_08_24].html».
Ошибка при выполнении команды: Полученный для функции буфер слишком мал.При назначение сертификата из локального ЦА, такой ошибки не выдает. Что это значит и что нужно сделать?
спасибо.
Answers
-
Короче все понятно, оказалось сертификат РУ-ЦЕНТРА платинум вилдкард только на один физический сервер ((
-
Marked as answer by
Tuesday, September 24, 2013 1:41 PM
-
Marked as answer by
Рекомендуемые сообщения
-
- Жалоба
- Поделиться
Добрый день. Поиск по форуму не работает, проверить наличие аналогичных тем не смог, по этому создаю новую.
Используем в своем ЭДО подписи выданные УЦ ViPNet, в работе используется как vipnet csp отдельно, так и в составе vipnet client. На некоторых компьютерах, при подписании документа появляется ошибка «Полученный для функции буфер слишком мал». При использовании vipnet csp дело решается обновлением до версии 3.2.10, вопрос — как устранить ошибку если csp идет в составе vipnet client?
Ссылка на комментарий
Поделиться на других сайтах
-
- Жалоба
- Поделиться
Добрый день. Поиск по форуму не работает, проверить наличие аналогичных тем не смог, по этому создаю новую.
Используем в своем ЭДО подписи выданные УЦ ViPNet, в работе используется как vipnet csp отдельно, так и в составе vipnet client. На некоторых компьютерах, при подписании документа появляется ошибка «Полученный для функции буфер слишком мал». При использовании vipnet csp дело решается обновлением до версии 3.2.10, вопрос — как устранить ошибку если csp идет в составе vipnet client?
Вы VipNet CSP ставите вместе с VipNet Client? Какую версию VipNet Client используете?
Ссылка на комментарий
Поделиться на других сайтах
- Автор
-
- Жалоба
- Поделиться
Может я не правильно описал проблему. Была аналогичная ситуация у пользователя (для подписи использует vipnet csp, идущий отдельным продуктом), дело решилось обновлением с версии 3.2.9 до 3.2.10.
Сейчас же у пользователя стоит vipnet client (3.2.9), следовательно используется csp в составе vipnet client’а. Если проблема решается только обновлением csp до версии 3.2.10, то как быть в ситуации когда на рабочем месте уже установлен vipnet client?
Ссылка на комментарий
Поделиться на других сайтах
-
- Жалоба
- Поделиться
Может я не правильно описал проблему. Была аналогичная ситуация у пользователя (для подписи использует vipnet csp, идущий отдельным продуктом), дело решилось обновлением с версии 3.2.9 до 3.2.10.
Сейчас же у пользователя стоит vipnet client (3.2.9), следовательно используется csp в составе vipnet client’а. Если проблема решается только обновлением csp до версии 3.2.10, то как быть в ситуации когда на рабочем месте уже установлен vipnet client?
Кстати говоря, можно попробовать поставить VipNet Client и VipNet CSP на один компьютер одновременно. Дело в том, что был опыт работы одновременно с VipNet CryptoService и VipNet Client на одном компьютере (не помню уже мотивов)… Но словом, мы заставили работать более новую версию криптопровайдера на компьютере с VipNet Client. Можно попробовать сделать здесь то же самое.
Ссылка на комментарий
Поделиться на других сайтах
- Автор
-
- Жалоба
- Поделиться
Кстати говоря, можно попробовать поставить VipNet Client и VipNet CSP на один компьютер одновременно.
Был такой опыт, работает только местами.
Ссылка на комментарий
Поделиться на других сайтах
-
- Жалоба
- Поделиться
Был такой опыт, работает только местами.
Да, согласен, не с первого раза работает. Но докрутить можно… но муторно. больше подсказать ничего не могу.
Ссылка на комментарий
Поделиться на других сайтах
Пожалуйста, авторизуйтесь, чтобы оставить комментарий
Вы сможете оставлять комментарии после авторизации
Войти
«Буфер, предоставленный функции, был слишком маленьким» криптографическое исключение с подписью сертификата
Я пытаюсь подписать файл сертификатом, хранящимся в хранилище сертификатов. Сертификат хранится в хранилище локального компьютера.
Во время вызова
signedCms.ComputeSignature(cmsSigner, false);
Я получаю следующее CryptographicException: «Буфер, предоставленный функции, был слишком мал»
ОБНОВИТЬ
Пример кода:
using System;
using System.Security.Cryptography.X509Certificates;
using System.Security.Cryptography;
using System.Text;
namespace ConsoleApp
{
class Program
{
static void Main(string[] args)
{
const string ENC_STR = "this is my message to encrypt цшер ÄÄÄ";
var oid = new System.Security.Cryptography.Oid("sha256");
X509Store store = new X509Store("MY", StoreLocation.LocalMachine);
store.Open(OpenFlags.ReadOnly);
X509Certificate2Collection collection = (X509Certificate2Collection)store.Certificates;
X509Certificate2Collection cers = store.Certificates.Find(X509FindType.FindBySubjectName, args[0], false);
if (cers.Count > 0)
{
Console.WriteLine(" {0} certificates are found", cers.Count);
var cer = cers[0];
Console.WriteLine("Certificate {0} is found", cer.Subject);
byte[] dataToSign = Encoding.ASCII.GetBytes(ENC_STR);
System.Security.Cryptography.Pkcs.ContentInfo contentInfo = new System.Security.Cryptography.Pkcs.ContentInfo(dataToSign);
System.Security.Cryptography.Pkcs.SignedCms signedCms = new System.Security.Cryptography.Pkcs.SignedCms(contentInfo, true);
System.Security.Cryptography.Pkcs.CmsSigner cmsSigner = new System.Security.Cryptography.Pkcs.CmsSigner(cer);
cmsSigner.IncludeOption = X509IncludeOption.None;
cmsSigner.DigestAlgorithm = oid;
try
{
signedCms.ComputeSignature(cmsSigner, false);
}
catch (Exception e)
{
Console.WriteLine(e.Message);
}
//return the signed message
byte[] signatureValue = signedCms.Encode();
Console.WriteLine("Signature is: {0} ", Encoding.ASCII.GetString(signatureValue));
}
else
{
Console.WriteLine("No certificates found");
}
store.Close();
}
}
}
Возможно эта информация будет полезна:
- Сертификат имеет символы «аао» в общем названии и организации
- Исключение не выдается, если алгоритм хеширования SHA1. Для ша256 (и других) исключение брошено.
- Если я портирую определенную часть кода на ядро .net или стандарт.net, исключение не выдается.
2019-07-26 13:38
I am trying to sign the file with the certificate stored in the certificate storage. The certificate is stored in the Local Computer storage.
While calling of
signedCms.ComputeSignature(cmsSigner, false);
I get the next CryptographicException: «The buffer supplied to a function was too small»
UPDATE
Code example:
using System;
using System.Security.Cryptography.X509Certificates;
using System.Security.Cryptography;
using System.Text;
namespace ConsoleApp
{
class Program
{
static void Main(string[] args)
{
const string ENC_STR = "this is my message to encrypt цшер ÄÄÄ";
var oid = new System.Security.Cryptography.Oid("sha256");
X509Store store = new X509Store("MY", StoreLocation.LocalMachine);
store.Open(OpenFlags.ReadOnly);
X509Certificate2Collection collection = (X509Certificate2Collection)store.Certificates;
X509Certificate2Collection cers = store.Certificates.Find(X509FindType.FindBySubjectName, args[0], false);
if (cers.Count > 0)
{
Console.WriteLine(" {0} certificates are found", cers.Count);
var cer = cers[0];
Console.WriteLine("Certificate {0} is found", cer.Subject);
byte[] dataToSign = Encoding.ASCII.GetBytes(ENC_STR);
System.Security.Cryptography.Pkcs.ContentInfo contentInfo = new System.Security.Cryptography.Pkcs.ContentInfo(dataToSign);
System.Security.Cryptography.Pkcs.SignedCms signedCms = new System.Security.Cryptography.Pkcs.SignedCms(contentInfo, true);
System.Security.Cryptography.Pkcs.CmsSigner cmsSigner = new System.Security.Cryptography.Pkcs.CmsSigner(cer);
cmsSigner.IncludeOption = X509IncludeOption.None;
cmsSigner.DigestAlgorithm = oid;
try
{
signedCms.ComputeSignature(cmsSigner, false);
}
catch (Exception e)
{
Console.WriteLine(e.Message);
}
//return the signed message
byte[] signatureValue = signedCms.Encode();
Console.WriteLine("Signature is: {0} ", Encoding.ASCII.GetString(signatureValue));
}
else
{
Console.WriteLine("No certificates found");
}
store.Close();
}
}
}
Maybe this information will be helpful:
- The certificate has «äåö» characters in the Common Name and
Organisation - The exception is not thrown if the hash algorithm is
SHA1. For sha256 (and other) exception is thrown. - If I port the
specific part of code to the .net core or .net standard the exception
is not thrown.