Статус: Активный участник
Группы: Участники
Зарегистрирован: 13.04.2012(UTC) Сообщений: 109
|
Добрый день! Я программно создаю УЭЦП с помощью КриптоПро .NET и iTextSharp. Код у меня давно проверенный и раньше все работало. Потом значительное время эту программу не использовали. А сейчас при ее запуске и попытке подписать PDF возникает следующая ошибка: Цитата: InnerException: System.ApplicationException Message=Произошла ошибка получения штампа времени для усовершенствованной электронной цифровой подписи. Возможна ошибка соединения с TSP (http://www.cryptopro.ru/tsp/tsp.srf) или OCSP (http://www.cryptopro.ru/ocspnc/ocsp.srf) сервисами. Source=SignServices.Logic StackTrace: at SignServices.Logic.PdfSigners.CryptoProDigitalSigner.SignWithAdvancedEDS(Byte[] content, X509Certificate2 certificate) in C:\web-dev\Applications\PrintingAPI\trunk\SignServices.Logic\PdfSigners\CryptoProDigitalSigner.cs:line 51 at SignServices.Logic.PdfSigners.TextSharpPdfLibrary.<>c__DisplayClass2.b__0() in C:\web-dev\Applications\PrintingAPI\trunk\SignServices.Logic\PdfSigners\TextSharpPdfLibrary.cs:line 114 at SignServices.Logic.PdfSigners.TextSharpPdfLibrary.TimeTrace(Action action, String traceName, ErrorList& operationTraceList) in C:\web-dev\Applications\PrintingAPI\trunk\SignServices.Logic\PdfSigners\TextSharpPdfLibrary.cs:line 414 at SignServices.Logic.PdfSigners.TextSharpPdfLibrary.SignPdf(Byte[] sourcePdf, String pdfFilterName, String pdfSignatureReason, X509Certificate2 certificate, PdfElementRectangleList signatureElementList, EPdfSignatureType signatureType, ErrorList& operationTraceList) in C:\web-dev\Applications\PrintingAPI\trunk\SignServices.Logic\PdfSigners\TextSharpPdfLibrary.cs:line 110
InnerException: System.Runtime.InteropServices.COMException Message=HTTP error occurred while sending request Source=CAdESCOM.CadesSignedData.1 ErrorCode=-1039138560 StackTrace: at CAdESCOM.CadesSignedDataClass.EnhanceCades(CADESCOM_CADES_TYPE CadesType, String TSAAddress, CAPICOM_ENCODING_TYPE EncodingType) at SignServices.Logic.PdfSigners.CryptoProDigitalSigner.SignWithAdvancedEDS(Byte[] content, X509Certificate2 certificate) in C:\web-dev\Applications\PrintingAPI\trunk\SignServices.Logic\PdfSigners\CryptoProDigitalSigner.cs:line 45
Подскажите пожалуйста, с чем это может быть связано? С уважением, Александр
|
|
|
|
Статус: Сотрудник
Группы: Администраторы, Участники Зарегистрирован: 10.12.2008(UTC) Сообщений: 924 Откуда: Крипто-Про Поблагодарили: 99 раз в 95 постах
|
Message=HTTP error occurred while sending request
Посмотрите трассу WinHTTP. С сетью ничего не делали?
|
|
|
|
Статус: Активный участник
Группы: Участники
Зарегистрирован: 13.04.2012(UTC) Сообщений: 109
|
Нет, с сетью вроде ничего не делали. Хотя с последнего успешного запуска сервиса много времени прошло. Может быть админы что-то и меняли. А не подскажите, как мне использовать WinHTTP в .NET WCF сервисе, который занимается подписью?
|
|
|
|
Статус: Сотрудник
Группы: Администраторы, Участники Зарегистрирован: 10.12.2008(UTC) Сообщений: 924 Откуда: Крипто-Про Поблагодарили: 99 раз в 95 постах
|
|
|
|
|
Статус: Активный участник
Группы: Участники
Зарегистрирован: 13.04.2012(UTC) Сообщений: 109
|
Спасибо за подсказку. Лог в атачменте. Дополнительная информация: Windows 7 Professional SP1 64-bit Microsoft .NET Framework 4.0 КриптоПро CSP 3.6 R2 КриптоПро .NET (Версия 1.0.4602.0) CADESCOM (Версия 1.05.0970) Отредактировано пользователем 1 августа 2014 г. 20:01:06(UTC)
| Причина: Не указана Вложение(я): CryptoPro_TSP_Error_WinTTTP.log (9kb) загружен 9 раз(а).У Вас нет прав для просмотра или загрузки вложений. Попробуйте зарегистрироваться.
|
|
|
|
Статус: Активный участник
Группы: Участники
Зарегистрирован: 13.04.2012(UTC) Сообщений: 109
|
Вот код, который выполняет создание подписи: Код:
public override byte[] SignWithAdvancedEDS(byte[] content, X509Certificate2 certificate)
{
byte[] signature = null;
CPSigner cps = new CPSigner();
cps.Certificate = CertificateManagerBase.GetCAPICOMCertificate(certificate.Thumbprint);
cps.Options = CAPICOM_CERTIFICATE_INCLUDE_OPTION.CAPICOM_CERTIFICATE_INCLUDE_WHOLE_CHAIN;
cps.TSAAddress = "http://www.cryptopro.ru/tsp/tsp.srf";
CadesSignedData csd = new CadesSignedData();
csd.Content = content;
// Создание подписи CAdES BES
signature = csd.SignCades(cps, CADESCOM_CADES_TYPE.CADESCOM_CADES_BES, true, CAPICOM_ENCODING_TYPE.CAPICOM_ENCODE_BINARY);
try
{
// Дополнение подписи CAdES BES до подписи CAdES X Long Type 1
signature = csd.EnhanceCades(CADESCOM_CADES_TYPE.CADESCOM_CADES_X_LONG_TYPE_1, tspServerAddress, CAPICOM_ENCODING_TYPE.CAPICOM_ENCODE_BINARY);
}
catch (Exception ex)
{
string ocspServerAddress = CertificateManagerBase.GetOcspUrl(certificate);
string message = string.Format(ErrorMessage.TimeStampingException, tspServerAddress, ocspServerAddress);
throw new ApplicationException(message, ex);
}
return signature;
}
Ошибка появляется при вызове строчки signature = csd.EnhanceCades(CADESCOM_CADES_TYPE.CADESCOM_CADES_X_LONG_TYPE_1, tspServerAddress, CAPICOM_ENCODING_TYPE.CAPICOM_ENCODE_BINARY); Отредактировано пользователем 4 августа 2014 г. 13:09:48(UTC)
| Причина: Не указана
|
|
|
|
Статус: Активный участник
Группы: Участники
Зарегистрирован: 13.04.2012(UTC) Сообщений: 109
|
Я просмотрел свои старые записи на форуме. Оказывается два года назад возникала такая же ошибка. https://www.cryptopro.ru...ts&m=30092#post30092Тогда оказалось, что виновата была некорректная настройка нашего TSP сервера в компании. Но теперь таже самая ошибка и с вашим TSP сервером. В чем тут может быть дело?
|
|
|
|
Статус: Сотрудник
Группы: Администраторы, Участники Зарегистрирован: 10.12.2008(UTC) Сообщений: 924 Откуда: Крипто-Про Поблагодарили: 99 раз в 95 постах
|
00000061 0.02088645 [5608] 18:42:53.819 ::usr-req 00105640 recved final status code 407
407 = Proxy Authentication Required
В вашей сети для доступа в интернет используется прокси-сервер, который требует аутентификации? Если да, то каким образом вы указываете необходимые параметры?
|
|
|
|
Статус: Активный участник
Группы: Участники
Зарегистрирован: 13.04.2012(UTC) Сообщений: 109
|
Да, в сети есть прокси-сервер. Параметры указаны в настройках в Control Panel в Internet Options. Отредактировано пользователем 4 августа 2014 г. 18:51:04(UTC)
| Причина: Не указана
|
|
|
|
Статус: Сотрудник
Группы: Администраторы, Участники Зарегистрирован: 10.12.2008(UTC) Сообщений: 924 Откуда: Крипто-Про Поблагодарили: 99 раз в 95 постах
|
Прокси-сервер требует аутентификации? Если требует, то где вы указываете параметры аутентификации?
|
|
|
|
Быстрый переход
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.
Important Information:
The Форум КриптоПро uses cookies. By continuing to browse this site, you are agreeing to our use of cookies.
More Details
Close