Skip to content
SerjiEvg edited this page Jan 15, 2016 · 6 revisions

Класс Key

Внутренние структуры

В составе класса объявлена структура KEYPAIR{KeyAlgorithm algorithm;EVP_PKEY pkey;}

enum KeySize{1024,2048,4096}

Свойства

Реализация С++

  • int getType() - возвращает тип ключевой пары

Реализация JavaScript

  • getType() : number - возвращает тип ключевой пары

Методы

Реализация С++

  • int keypairGenerate(std::string filename, DataFormat format, KeyAlgorithm algorithm, int KeySize, std::string password) - генерация ключей в файл
  • int keypairGenerateMemory(std::string data, DataFormat format, KeyAlgorithm algorithm, int KeySize, std::string password) - генерация ключей в память
  • int keypairGenerateBIO(BIO* bio, DataFormat format, KeyAlgorithm algorithm, int KeySize, std::string password) - генерация ключей в BIO (OpenSSL)
  • int privkeyLoad(std::string filename, DataFormat format, std::string password) - чтение приватного ключа из файла
  • int privkeyLoadMemory(std::string data, DataFormat format, std::string password) - чтение приватного ключа из памяти
  • int privkeyLoadBIO(BIO* bio, DataFormat format, std::string password) - чтение приватного ключа из BIO (OpenSSL)
  • int pubkeyLoad(std::string filename, DataFormat format, std::string password) - чтение публичного ключа из файла
  • int pubkeyLoadMemory(std::string data, DataFormat format, std::string password) - чтение приватного ключа из памяти
  • int pubkeyLoadBIO(BIO* bio, DataFormat format, std::string password) - чтение приватного ключа из BIO (OpenSSL)
  • int privkeySave(std::string filename, DataFormat format, std::string password) - сохранение приватного ключа в файл
  • int privkeySaveMemory(std::string data, DataFormat format, std::string password) - сохранение приватного ключа в файл
  • int privkeySaveBIO(BIO* bio, DataFormat format, std::string password) - сохранение приватного ключа в файл
  • int pubkeySave(std::string filename, DataFormat format, std::string password) - сохранение публичного ключа в файл
  • int pubkeySaveMemory(std::string data, DataFormat format, std::string password) - сохранение публичного ключа в память
  • int pubkeySaveBIO(BIO* bio, DataFormat format, std::string password) - сохранение публичного ключа в BIO (OpenSSL)

Реализация JavaScript

  • keypairGenerate(filename : string, format : DataFormat, algorithm : KeyAlgorithm, KeySize : number, password : string) : number - генерация ключей в файл
  • keypairGenerateMemory(data : string, format : DataFormat, algorithm : KeyAlgorithm, KeySize : number, password : string) : number - генерация ключей в память
  • keypairGenerateBIO(bio : BIO, format : DataFormat, algorithm : KeyAlgorithm, KeySize : number, password : string) : number - генерация ключей в BIO (OpenSSL)
  • privkeyLoad(filename : string, format : DataFormat) : number - чтение приватного ключа из файла
  • privkeyLoadMemory(data : string, format : DataFormat) : number - чтение приватного ключа из памяти
  • privkeyLoadBIO(bio : BIO, format : DataFormat) : number - чтение приватного ключа из BIO (OpenSSL)
  • pubkeyLoad(filename : string, format : DataFormat) : number - чтение публичного ключа из файла
  • pubkeyLoadMemory(data : string, format : DataFormat) : number - чтение приватного ключа из памяти
  • pubkeyLoadBIO(bio : BIO, format : DataFormat) : number - чтение приватного ключа из BIO (OpenSSL)
  • privkeySave(filename : string, format : DataFormat) : number - сохранение приватного ключа в файл
  • privkeySaveMemory(data : string, format : DataFormat) : number - сохранение приватного ключа в файл
  • privkeySaveBIO(bio : BIO, format : DataFormat) : number - сохранение приватного ключа в файл
  • pubkeySave(filename : string, format : DataFormat) : number - сохранение публичного ключа в файл
  • pubkeySaveMemory(data : string, format : DataFormat) : number - сохранение публичного ключа в память
  • pubkeySaveBIO(bio : BIO, format : DataFormat) : number - сохранение публичного ключа в BIO (OpenSSL)

Генерация ключевой пары

int keypairGenerate(std::string filename, DataFormat format, KeyAlgorithm algorithm, int KeySize, std::string password) keypairGenerate(filename : string, format : DataFormat, algorithm : KeyAlgorithm, KeySize : number, password : string) : number Функция осуществляет генерацию ключевой пары и сохраняет ее в файл filename.

filename - полный путь к файлу с ключами, sigformat - стандарт хранения ключей (PKCS#5, PKCS#8 и т.д.), format - формат хранения ключей: PEM - формат BASE64, DER - текстовое представление, algorithm - алгоритм, используемый для генерации ключей, KeySize - длинна ключа (по умолчанию 1024bit), password - пароля для варианта шифрованного хранения ключей. Результат: 0 в случае успешного чтения, в противном случае - отрицательное значение.

int keypairGenerateMemory(std::string data, DataFormat format, KeyAlgorithm algorithm, int KeySize, std::string password) keypairGenerateMemory(data : string, format : DataFormat, algorithm : KeyAlgorithm, KeySize : number, password : string) : number Функция осуществляет генерацию ключевой пары и сохраняет ее в память.

data - бинарный буфер для хранения ключей, sigformat - стандарт хранения ключей (PKCS#5, PKCS#8 и т.д.), format - формат хранения ключей: PEM - формат BASE64, DER - текстовое представление, algorithm - алгоритм, используемый для генерации ключей, KeySize - длинна ключа (по умолчанию 1024bit), password - пароля для варианта шифрованного хранения ключей. Результат: 0 в случае успешного чтения, в противном случае - отрицательное значение.

int keypairGenerateBIO(BIO* bio, DataFormat format, KeyAlgorithm algorithm, int KeySize, std::string password) keypairGenerateBIO(bio : BIO, format : DataFormat, algorithm : KeyAlgorithm, KeySize : number, password : string) : number Функция осуществляет генерацию ключевой пары и сохраняет ее в BIO(OpenSSL).

bio - указатель структуру BIO OpenSSL, sigformat - стандарт хранения ключей (PKCS#5, PKCS#8 и т.д.), format - формат хранения ключей: PEM - формат BASE64, DER - текстовое представление, algorithm - алгоритм, используемый для генерации ключей, KeySize - длинна ключа (по умолчанию 1024bit), password - пароля для варианта шифрованного хранения ключей. Результат: 0 в случае успешного чтения, в противном случае - отрицательное значение.

Чтение ключей

int privkeyLoad(std::string filename, DataFormat format) privkeyLoad(filename : string, format : DataFormat) : number Функция осуществляет чтение приватного ключа из файла.

filename - полный путь к файлу в котором находится приватный ключ, sigformat - стандарт хранения ключей (PKCS#5, PKCS#8 и т.д.), format - формат хранения ключей: PEM - формат BASE64, DER - текстовое представление. Результат: 0 в случае успешного чтения, в противном случае - отрицательное значение.

int privkeyLoadMemory(std::string data, DataFormat format) privkeyLoadMemory(data : string, format : DataFormat) : number Функция осуществляет чтение приватного ключа из памяти.

data - бинарный буфер в котором хранится приватный ключ, sigformat - стандарт хранения ключей (PKCS#5, PKCS#8 и т.д.), format - формат хранения ключей: PEM - формат BASE64, DER - текстовое представление. Результат: 0 в случае успешного чтения, в противном случае - отрицательное значение.

int privkeyLoadBIO(BIO* bio, DataFormat format) privkeyLoadBIO(bio : BIO, format : DataFormat) : number Функция осуществляет чтение приватного ключа из BIO (OpenSSL).

bio - указатель на буфер BIO OpenSSL, sigformat - стандарт хранения ключей (PKCS#5, PKCS#8 и т.д.), format - формат хранения ключей: PEM - формат BASE64, DER - текстовое представление. Результат: 0 в случае успешного чтения, в противном случае - отрицательное значение.

int pubkeyLoad(std::string filename, DataFormat format) pubkeyLoad(filename : string, format : DataFormat) : number Функция осуществляет чтение публичного ключа из файла.

filename - полный путь к файлу в котором находится публичный ключ, sigformat - стандарт хранения ключей (PKCS#5, PKCS#8 и т.д.), format - формат хранения ключей: PEM - формат BASE64, DER - текстовое представление. Результат: 0 в случае успешного чтения, в противном случае - отрицательное значение.

int pubkeyLoadMemory(std::string data, DataFormat format) pubkeyLoadMemory(data : string, format : DataFormat) : number Функция осуществляет чтение публичного ключа из памяти.

data - бинарный буфер в котором хранится публичный ключ, sigformat - стандарт хранения ключей (PKCS#5, PKCS#8 и т.д.), format - формат хранения ключей: PEM - формат BASE64, DER - текстовое представление. Результат: 0 в случае успешного чтения, в противном случае - отрицательное значение.

int pubkeyLoadBIO(BIO* bio, DataFormat format) pubkeyLoadBIO(bio : BIO, format : DataFormat) : number Функция осуществляет чтение публичного ключа из BIO (OpenSSL).

bio - указатель на буфер BIO OpenSSL, sigformat - стандарт хранения ключей (PKCS#5, PKCS#8 и т.д.), format - формат хранения ключей: PEM - формат BASE64, DER - текстовое представление. Результат: 0 в случае успешного чтения, в противном случае - отрицательное значение.

Сохранение ключей

int privkeySave(std::string filename, DataFormat format) privkeySave(filename : string, format : DataFormat) : number Функция осуществляет сохранения приватного ключа в файл.

filename - полный путь к файлу, sigformat - стандарт хранения ключей (PKCS#5, PKCS#8 и т.д.), format - формат хранения ключей: PEM - формат BASE64, DER - текстовое представление. Результат: 0 в случае успешного чтения, в противном случае - отрицательное значение.

int privkeySaveMemory(std::string data, DataFormat format) privkeySaveMemory(data : string, format : DataFormat) : number Функция осуществляет сохранения приватного ключа в память.

data - двоичный буфер, sigformat - стандарт хранения ключей (PKCS#5, PKCS#8 и т.д.), format - формат хранения ключей: PEM - формат BASE64, DER - текстовое представление. Результат: 0 в случае успешного чтения, в противном случае - отрицательное значение.

int privkeySaveBIO(BIO* bio, DataFormat format) privkeySaveBIO(bio : BIO, format : DataFormat) : number Функция осуществляет сохранения приватного ключа в BIO OpenSSL.

bio - указатель на BIO OpenSSL, sigformat - стандарт хранения ключей (PKCS#5, PKCS#8 и т.д.), format - формат хранения ключей: PEM - формат BASE64, DER - текстовое представление. Результат: 0 в случае успешного чтения, в противном случае - отрицательное значение.

int pubkeySave(std::string filename, DataFormat format) pubkeySave(filename : string, format : DataFormat) : number Функция осуществляет сохранения публичного ключа в файл.

filename - полный путь к файлу, sigformat - стандарт хранения ключей (PKCS#5, PKCS#8 и т.д.), format - формат хранения ключей: PEM - формат BASE64, DER - текстовое представление. Результат: 0 в случае успешного чтения, в противном случае - отрицательное значение.

int pubkeySaveMemory(std::string data, DataFormat format) pubkeySaveMemory(data : string, format : DataFormat) : number Функция осуществляет сохранения публичного ключа в память.

data - двоичный буфер, sigformat - стандарт хранения ключей (PKCS#5, PKCS#8 и т.д.), format - формат хранения ключей: PEM - формат BASE64, DER - текстовое представление. Результат: 0 в случае успешного чтения, в противном случае - отрицательное значение.

int pubkeySaveBIO(BIO* bio, DataFormat format) pubkeySaveBIO(bio : BIO, format : DataFormat) : number Функция осуществляет сохранения публичного ключа в BIO OpenSSL.

bio - указатель на BIO OpenSSL, sigformat - стандарт хранения ключей (PKCS#5, PKCS#8 и т.д.), format - формат хранения ключей: PEM - формат BASE64, DER - текстовое представление. Результат: 0 в случае успешного чтения, в противном случае - отрицательное значение.