Статус: Активный участник
Группы: Участники
Зарегистрирован: 05.07.2018(UTC) Сообщений: 467
Сказал(а) «Спасибо»: 43 раз Поблагодарили: 69 раз в 61 постах
|
Добрый день! Использую Ubuntu 18.04. На стенде https://stenddss.cryptopro.ru/frontend пробую подписать значение хеш-функции. Для формирования хеша использую cpverify -mk "filename" -alg GR3411_2012_256. Как отправить полученное значение хеш-функции на сервер ? В тестовый документ загонять хеш смысла нет: вылетает ошибка "Передан хеш длиной 65. Ожидаемая длина: 32". Эта ошибка понятна. Как сделать правильно ? |
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 12.03.2019(UTC) Сообщений: 332 Откуда: Москва Сказал «Спасибо»: 5 раз Поблагодарили: 70 раз в 66 постах
|
Ответ предоставлен в рамках обращения №26340 |
|
|
|
|
Статус: Активный участник
Группы: Участники
Зарегистрирован: 05.07.2018(UTC) Сообщений: 467
Сказал(а) «Спасибо»: 43 раз Поблагодарили: 69 раз в 61 постах
|
Если кому-то поможет, написал powershell скрипт, который из формата, который непонятен dss, переводит в понятный ему. Следует запускать при отсутствии cryptcp на машине. Если cryptcp стоит, то просто считаете хеш через него (cryptcp -hash). Для запуска нужен CSP 4.0 и выше. Работает скрипт следующим образом: 1. Выбираете файл, для которого нужно получить значение хеш-функции 2. Выбираете алгоритм хеширования 3. Результат сохраняется в той же директории, в которой лежит файл, для которого считали хеш, с расширением *.hsh Скрипт: Код:Add-Type -AssemblyName System.Windows.Forms
$str = ""
$openfiledialog = [System.Windows.Forms.OpenFileDialog]::new()
$openfiledialog.Filter = "All Files|*.*"
if ($openfiledialog.ShowDialog() -eq [System.Windows.Forms.DialogResult]::OK)
{
[string]$InFile = $openfiledialog.FileName
[string]$Alg = Read-Host -Prompt "Expecting hash algorithm... Algorithms may be GR3411, GR3411_2012_256 and GR3411_2012_512"
$hash_hex = & 'C:\Program Files (x86)\Crypto Pro\CSP\cpverify.exe' -mk "$InFile" -alg $Alg
for ($i = 0; $i -le $hash_hex.Length -1; $i +=2 ) {
$hex = $hash_hex.Substring($i,2)
$num = [int]::Parse($hex, [System.Globalization.NumberStyles]::HexNumber)
$ch = [System.Text.Encoding]::ASCII.GetString($num)
$str+=$ch
}
Set-Content -Value ([byte[]][char[]]$str) -Path ($InFile + ".hsh") -Encoding Byte
Write-Host "Done!" -ForegroundColor Green
} else
{
Write-Host "Aborting!" -ForegroundColor DarkRed
}
Буду рад, если кому-то поможет :) Отредактировано пользователем 12 ноября 2019 г. 14:21:07(UTC)
| Причина: Не указана |
|
1 пользователь поблагодарил TolikTipaTut1 за этот пост.
|
|
|
Статус: Активный участник
Группы: Участники
Зарегистрирован: 05.07.2018(UTC) Сообщений: 467
Сказал(а) «Спасибо»: 43 раз Поблагодарили: 69 раз в 61 постах
|
Писал под Windows, т.к cryptcp не идёт вместе с CSP, как на Linux. Отредактировано пользователем 27 октября 2019 г. 14:35:28(UTC)
| Причина: Не указана |
|
|
|
|
Быстрый переход
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.
Important Information:
The Форум КриптоПро uses cookies. By continuing to browse this site, you are agreeing to our use of cookies.
More Details
Close