New Research: Supply Chain Attack on Axios Pulls Malicious Dependency from npm.Details →
Socket
Book a DemoSign in
Socket

avcryptmail

Package Overview
Dependencies
Maintainers
2
Versions
5
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

avcryptmail

AvCryptMail.dll

latest
npmnpm
Version
1.0.6
Version published
Maintainers
2
Created
Source

NODEjs addon AvCryptMail

Компилируется под каждую требуемую версию nodeJS или Electron

Разрядность NODEjs зависит от разрядности используемой библиотеки AvcryptMail.dll (только x86)

Installation

$ npm install avcryptmail
$ yarn add avcryptmail

Usage

const avcrypt = require('avcryptmail');

Functions

AvCmInit
AvCmLogin
AvCmLogout
AvCmSign
AvCmImport

Используемые флаги

	AvCmInit: {
		AVCMF_STARTUP: 'Флаг для первоначальной инициализации библиотеки',
		AVCMF_SHUTDOWN:
			'Флаг для освобождения ресурсов библиотеки перед ее выгрузкой из адресного пространства процесса'
	},
	AvCmLogin: {
		AVCMF_NO_AUTH: 'Флаг для подключение без атентификации пользователя',
		AVCMF_FORCE_TOKEN_CONTROL: 'Флаг для контроля наличия вставленного носителя с личным ключом при авторизации',
		AVCMF_DENY_TOKEN_CONTROL:
			'Флаг для запрета контроля наличия вставленного носителя с личным ключом при авторизации',
		AVCMF_IGNORE_CRL_ABSENCE: 'Флаг для игнорирования отсутствия требуемого СОС',
		AVCMF_IGNORE_CRL_EXPIRE: 'Флаг для игнорирования истекшего срока действия требуемого СОС'
	},
	AvCmSign: {
		AVCMF_REPEAT_AUTHENTICATION: 'Флаг для повторного ввода пароля к контейнеру личных ключей перед выработкой ЭЦП',
		AVCMF_ADD_ALL_CERT: 'Флаг для включения всех необходимых сертификатов и СОС',
		AVCMF_ADD_SIGN_CERT: 'Флаг для включения только сертификата подписанта',
		AVCMF_ADD_ONLY_CERT: 'Флаг для включения только сертификатов',
		AVCMF_DETACHED: 'Флаг для для использования открепленной подписи'
	},
	AvCmImport: {
		AVCM_CERTIFICATE: 'DER-представление сертификата',
		AVCM_CRL: 'DER-представление списка отозванных сертификатов',
		AVCM_PKCS10_REQUEST: 'DER-представление запроса на сертификат в формате PKCS#10',
		AVCM_PKCS7_REQUEST: 'DER-представление подписанной заявки на сертификат в формате PKCS#7 SignedData',
		AVCM_ANY_FILE: 'Флаг для импорта сертификатов и/или СОС из файла'
	}

Пример использования для подписи

	console.log('Проверка AvCmInit');
	console.log(avcrypt.AvCmInit(avcrypt.Flags.AvCmInit.AVCMF_STARTUP));

	console.log('Проверка AvCmLogin');
	console.log(aveavcryptst.AvCmLogin(avcrypt.Flags.AvCmLogin.AVCMF_IGNORE_CRL_ABSENCE));

	let b64string =
		'PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+DQo8UnF4UG9zdEluIHNjcmlwdE5hbWU9ImNvbS5DaGFuY2VEQi5FeHBvcnQgVXNlcnNEYXRhIi8+';
	let buf = Buffer.from(b64string, 'base64');
	console.log(buf);

	console.log('Проверка подписи');
	let result = avcrypt.AvCmSign(buf, avcrypt.Flags.AvCmSign.AVCMF_DETACHED | avcrypt.Flags.AvCmSign.AVCMF_ADD_SIGN_CERT);
	console.log(result.status);
	console.log(JSON.stringify(result));

	console.log('Проверка AvCmLogout');
	console.log(avcrypt.AvCmLogout());

	console.log('Очистили AvCmInit');
	console.log(avcrypt.AvCmInit(avcrypt.Flags.AvCmInit.AVCMF_SHUTDOWN));

Пример использования для загрузки СОС

	console.log('Проверка AvCmInit');
	console.log(avcrypt.AvCmInit(avcrypt.Flags.AvCmInit.AVCMF_STARTUP));

	console.log('Проверка AvCmLogin');
	console.log(avcrypt.AvCmLogin(avcrypt.Flags.AvCmLogin.AVCMF_NO_AUTH));

	console.log('Проверка загрузки СОС');
	const crl = fs.readFileSync("$name");
	console.log(avcrypt.AvCmImport(avcrypt.Flags.AvCmImport.AVCM_CRL, crl));

	console.log('Проверка AvCmLogout');
	console.log(avcrypt.AvCmLogout());

	console.log('Очистили AvCmInit');
	console.log(avcrypt.AvCmInit(avcrypt.Flags.AvCmInit.AVCMF_SHUTDOWN));

FAQs

Package last updated on 26 Apr 2023

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts