Extra Systems

CYPHERNET

консольная система надежной коммерческой шифросвязи через сеть интернет

процедура преобразования ключей RSA из текстового формата в двоичный rsa_key_bin


Процедура 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 Extra Web Top