Процедура rsa_key_bin читает с диска ключи RSA в текстовом виде (сформированные процедурой keygen) и записывает их в двоичной форме. Вызов этой процедуры производится из скриптов формирования пакета поставки программного обеспечения для шифросвязи Extra Systems Cypher Net. Имя файла для обработки передается этой программе в качестве параметра командной строки. Как видно из приводимого ниже текста, для формирования выходного файла утилита просто добавляет к этому имени расширение ".bin".
#include "cyphernet.h"
int main (int argc, char *argv[])
{
int file_handle;
char str_buf[4096];
RSAKEYITEM key_item;
RSAKEYPACKEDITEM packed_key_item;
if((file_handle = open(argv[1], O_RDONLY)) == -1) return 1;
read(file_handle, str_buf, 4096);
close(file_handle);
str_to_value(strtok(str_buf, " "), key_item.modulus);
str_to_value(strtok(NULL, " "), key_item.exponent);
pack_value(key_item.exponent, packed_key_item.exponent);
pack_value(key_item.modulus, packed_key_item.modulus);
strcpy(str_buf, argv[1]);
strcat(str_buf, ".bin");
file_handle = creat(str_buf, S_IRUSR | S_IWUSR | S_IRGRP | S_IROTH);
write(file_handle, &packed_key_item, sizeof(packed_key_item));
close(file_handle);
return 0;
}
Контент этой страницы доступен также на английском, французском, немецком, португальском, испанском, итальянском и украинском языке.
| © Extra Systems, 2024 |
|