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

Класс Key

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

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

enum SigFormat{PKCS#5,PKCS#8,PKCS#8_Encrypted,PKCS#12}

enum KeySize{1024,2048,4096}

Свойства

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

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

Реализация JavaScript

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

Методы

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

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

Реализация JavaScript

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

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

int keypairGenerate(std::string filename, SigFormat sigformat, DataFormat format, KeyAlgorithm algorithm, int KeySize, std::string password) keypairGenerate(filename : string, sigformat : SigFormat, 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, SigFormat sigformat, DataFormat format, KeyAlgorithm algorithm, int KeySize, std::string password) keypairGenerateMemory(data : string, sigformat : SigFormat, 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, SigFormat sigformat, DataFormat format, KeyAlgorithm algorithm, int KeySize, std::string password) keypairGenerateBIO(bio : BIO, sigformat : SigFormat, 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, SigFormat sigformat, DataFormat format) privkeyLoad(filename : string, sigformat : SigFormat, format : DataFormat) : number Функция осуществляет чтение приватного ключа из файла.

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

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

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

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

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

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

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

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

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

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

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

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

int privkeySave(std::string filename, SigFormat sigformat, DataFormat format) privkeySave(filename : string, sigformat : SigFormat, format : DataFormat) : number

int privkeySaveMemory(std::string data, SigFormat sigformat, DataFormat format) privkeySaveMemory(data : string, sigformat : SigFormat, format : DataFormat) : number

int privkeySaveBIO(BIO* bio, SigFormat sigformat, DataFormat format) privkeySaveBIO(bio : BIO, sigformat : SigFormat, format : DataFormat) : number

int pubkeySave(std::string filename, SigFormat sigformat, DataFormat format) pubkeySave(filename : string, sigformat : SigFormat, format : DataFormat) : number

int pubkeySaveMemory(std::string data, SigFormat sigformat, DataFormat format) pubkeySaveMemory(data : string, sigformat : SigFormat, format : DataFormat) : number

int pubkeySaveBIO(BIO* bio, SigFormat sigformat, DataFormat format) pubkeySaveBIO(bio : BIO, sigformat : SigFormat, format : DataFormat) : number

Конвертация ключей

std::string privkeyDecodeDerToPem() privkeyDecodeDerToPem() : string

std::string privkeyDecodePemToDer() privkeyDecodePemToDer() : string

std::string pubkeyDecodeDerToPem() pubkeyDecodeDerToPem() : string

std::string pubkeyDecodePemToDer() pubkeyDecodePemToDer() : string

Clone this wiki locally