Статус: Новичок
Группы: Участники
Зарегистрирован: 02.12.2016(UTC) Сообщений: 9 Откуда: Москва Сказал «Спасибо»: 2 раз
|
Автор: Андрей * name.der.txt (1kb) загружен 4 раз(а). Snimok ehkrana ot 2024-07-22 13-36-56.png (43kb) загружен 17 раз(а). -authattr "1.2.643.2.45.1.1.2,/home/andrey/name.der" Не получилось. Блин, что не так? bin-файл вручную создал пока K1077711000080_170724_153736_Z_0032.xml.enc.bin_.txt (1kb) загружен 2 раз(а).set OID1=1.2.840.113549.1.9.5 set OID2=1.2.643.2.45.1.1.2
cryptcp.x64.exe -sign -detached -authattr "%OID1%,%TempFld%\%~n1.xml.enc.bin" -authattr "%OID2%,%TempFld%\%~n1.xml.enc.bin" -thumbprint "%thumbprint%" -uMy -der "%TempFld%\%~n1.xml.enc" "%TempFld%\%~n1.xml.enc.sig" >> %logFile%
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 26.07.2011(UTC) Сообщений: 13,340 Сказал «Спасибо»: 550 раз Поблагодарили: 2212 раз в 1727 постах
|
Автор: TANDY Автор: Андрей * name.der.txt (1kb) загружен 4 раз(а). Snimok ehkrana ot 2024-07-22 13-36-56.png (43kb) загружен 17 раз(а). -authattr "1.2.643.2.45.1.1.2,/home/andrey/name.der" Не получилось. Блин, что не так? bin-файл вручную создал пока K1077711000080_170724_153736_Z_0032.xml.enc.bin_.txt (1kb) загружен 2 раз(а).set OID1=1.2.840.113549.1.9.5 set OID2=1.2.643.2.45.1.1.2
cryptcp.x64.exe -sign -detached -authattr "%OID1%,%TempFld%\%~n1.xml.enc.bin" -authattr "%OID2%,%TempFld%\%~n1.xml.enc.bin" -thumbprint "%thumbprint%" -uMy -der "%TempFld%\%~n1.xml.enc" "%TempFld%\%~n1.xml.enc.sig" >> %logFile% 04 зачем? 1E же ждут или как? Snimok ehkrana ot 2024-07-22 21-41-05.png (8kb) загружен 5 раз(а). Snimok ehkrana ot 2024-07-22 21-42-51.png (20kb) загружен 7 раз(а). |
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 26.07.2011(UTC) Сообщений: 13,340 Сказал «Спасибо»: 550 раз Поблагодарили: 2212 раз в 1727 постах
|
И время подписания зачем кодировать самостоятельно?
Утилита же добавляет его по умолчанию. |
|
|
|
|
Статус: Новичок
Группы: Участники
Зарегистрирован: 02.12.2016(UTC) Сообщений: 9 Откуда: Москва Сказал «Спасибо»: 2 раз
|
Автор: Андрей * И время подписания зачем кодировать самостоятельно?
Утилита же добавляет его по умолчанию. Да, Андрей, Вы правы - "1Е" должно быть. И убрал атрибут с временем.Итоговая строка получилась: set OID=1.2.643.2.45.1.1.2 cryptcp.x64.exe -sign -detached -authattr "%OID%,%TempFld%\%~n1.xml.enc.bin" -thumbprint "%thumbprint%" -uMy -der "%TempFld%\%~n1.xml.enc" "%TempFld%\%~n1.xml.enc.sig" >> %logFile%Только вот опять повторюсь - как мне автоматом получить bin-файл? Я его пока вручную собирал через HEX-редактор.
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 26.07.2011(UTC) Сообщений: 13,340 Сказал «Спасибо»: 550 раз Поблагодарили: 2212 раз в 1727 постах
|
Автор: TANDY Автор: Андрей * И время подписания зачем кодировать самостоятельно?
Утилита же добавляет его по умолчанию. Да, Андрей, Вы правы - "1Е" должно быть. И убрал атрибут с временем.Итоговая строка получилась: set OID=1.2.643.2.45.1.1.2 cryptcp.x64.exe -sign -detached -authattr "%OID%,%TempFld%\%~n1.xml.enc.bin" -thumbprint "%thumbprint%" -uMy -der "%TempFld%\%~n1.xml.enc" "%TempFld%\%~n1.xml.enc.sig" >> %logFile%Только вот опять повторюсь - как мне автоматом получить bin-файл? Я его пока вручную собирал через HEX-редактор. использовать другие утилиты, которые включают этот oid либо в cmd реализовать формирование (длина строки, запись длины по правилам asn1) |
|
1 пользователь поблагодарил Андрей * за этот пост.
|
TANDY оставлено 23.07.2024(UTC)
|
|
Статус: Активный участник
Группы: Участники
Зарегистрирован: 31.05.2016(UTC) Сообщений: 2,348
Сказал(а) «Спасибо»: 569 раз Поблагодарили: 397 раз в 376 постах
|
Автор: TANDY Только вот опять повторюсь - как мне автоматом получить bin-файл? Я его пока вручную собирал через HEX-редактор. Что-нибудь на powershell попробовать изобразить. В файле не забыть удалить управляющие символы, и поправить первые два байта. Хотелось бы такое решение увидеть, хотя надобности в этом не имею.
|
|
|
|
Статус: Новичок
Группы: Участники
Зарегистрирован: 02.12.2016(UTC) Сообщений: 9 Откуда: Москва Сказал «Спасибо»: 2 раз
|
Автор: nickm Автор: TANDY Только вот опять повторюсь - как мне автоматом получить bin-файл? Я его пока вручную собирал через HEX-редактор. Что-нибудь на powershell попробовать изобразить. В файле не забыть удалить управляющие символы, и поправить первые два байта. Хотелось бы такое решение увидеть, хотя надобности в этом не имею. call powershell -c "[char]00" и <nul set /p a=%B%>file.xml.enc.lstПытаюсь воедино всё собрать на cmd. Хотя проще на vbs, а еще - на шарпах. Но мы же как - стоя, в гамаке жеж ))
|
|
|
|
Статус: Активный участник
Группы: Участники
Зарегистрирован: 31.05.2016(UTC) Сообщений: 2,348
Сказал(а) «Спасибо»: 569 раз Поблагодарили: 397 раз в 376 постах
|
Автор: TANDY Пытаюсь воедино всё собрать на cmd. Хотя проще на vbs, а еще - на шарпах. Но мы же как - стоя, в гамаке жеж )) Хех, что-то подобное налабал (не судите строго) - в передаваемом файле содержится строка, которую нужно "нормализовать", использовал hex-строку для поиска байтов, но нужно покрывать тестами. Код:#https://forums.powershell.org/t/find-and-replace-2-byte-binary-file/15308/5
if ($args[0] -ne $null) {
#Файл вывода
$out = "UTF16BE.der"
#Перекодируем исходный файл в UTF16BE в файл вывода
Get-Content $args[0] | Out-File $out -Encoding BigEndianUnicode
#Можно передавать из cmd в powershell наименование файла и кодировать строку, например:
#$args[0] | Out-File $out -Encoding BigEndianUnicode
#Считаем файл в массив байтов
$bytes = Get-Content $out -Encoding Byte -ReadCount 0
#Сконвертируем байты в hex-строку
$hexString = [System.BitConverter]::ToString($bytes)
#Получим размер сконвертированного файла
$Size = (Get-Item $out).Length
#Сформируем заголовок
$hexHeader = "1E-" + [System.BitConverter]::ToString($Size - 6)
#Сформируем hex-строку, где укажем заголовок и вырежем управляющие символы
$newHexString = $hexHeader + $hexString.Substring(5) -replace '-00-0D-00-0A', ''
#Сконвертируем hex-строку в байты
$newBytes = $newHexString.Split('-') | foreach {[byte]::Parse($_, 'hex')}
#Запишем результат в файл
$newBytes | Set-Content $out -Encoding Byte
}
Запускать из cmd можно так: Код:powershell.exe -noprofile -executionpolicy bypass -file "23401.ps1" %1
Отредактировано пользователем 23 июля 2024 г. 16:24:09(UTC)
| Причина: Не указана
|
1 пользователь поблагодарил nickm за этот пост.
|
TANDY оставлено 23.07.2024(UTC)
|
|
Статус: Новичок
Группы: Участники
Зарегистрирован: 02.12.2016(UTC) Сообщений: 9 Откуда: Москва Сказал «Спасибо»: 2 раз
|
Автор: nickm , на Шарпах (все работает. Урря!):
Код:sing System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;
using System.Threading.Tasks;
namespace MakeBinaryFile
{
class Program
{
static void Main(string[] args)
{
string sErr = "";
if (args.Length > 0)
{
FileInfo fileEnc = new FileInfo(args[0]);
if (fileEnc.Exists)
{
FileInfo fileBin = new FileInfo(Path.Combine(fileEnc.FullName + ".bin"));
byte[] data = new byte[fileEnc.Name.Length * 2 + 12];
byte[] data1, data2;
data1 = Encoding.UTF8.GetBytes("\x1E" + (char)(fileEnc.Name.Length * 2 + 10));
Array.Copy(data1, 0, data, 0, 2);
data2 = Encoding.GetEncoding(1200).GetBytes(" file:" + fileEnc.Name);
Array.Copy(data2, 1, data, 2, data2.Length-2);
File.WriteAllBytes(fileBin.FullName, data);
}
else
{
sErr = "Файл не найден";
}
}
else
{
sErr = "Отсутствует обязательный параметр - полное имя файла с путём";
}
if (sErr.Length > 0)
{
Console.WriteLine(sErr + "\nНажмите любую клавишу для выхода...");
Console.ReadKey();
}
else
{
Console.WriteLine("OK");
}
}
}
}
всем спасибо за помощь!Отредактировано пользователем 24 июля 2024 г. 15:13:10(UTC)
| Причина: +спасибо
|
|
|
|
Быстрый переход
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.
Important Information:
The Форум КриптоПро uses cookies. By continuing to browse this site, you are agreeing to our use of cookies.
More Details
Close