Skip to content

X.509 certificates

SerjiEvg edited this page Jan 13, 2016 · 25 revisions

Класс Certificate

Свойства

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

  • int getKeyUsages() - возвращает набор флагов, задающих назначение ключа сертификата
  • std::string getSerialNumber() - возвращает серийный номер сертификата
  • int getType() - возвращает тип сертификата
  • long getVersion() - возвращает версию сертификата
  • std::string getIssuerFriendlyName() - возвращает пользовательское имя издателя сертификата
  • std::string getIssuerName() - возвращает полное имя владельца сертификата
  • std::string subjectFriendlyName() - возвращает пользовательское имя владельца сертификата
  • int notBefore() - возвращает время с которого сертификат считается действительным
  • std::string notAfter() - возвращает время до которого сертификат считается действительным
  • std::string thumbprint() - возвращает отпечаток сертификата SHA-1

Реализация JavaScript

  • get keyUsages() : number - возвращает набор флагов, задающих назначение ключа сертификата
  • get serialNumber() : Buffer - возвращает серийный номер сертификата
  • get type() : number - возвращает тип сертификата
  • get version() : number - возвращает версию сертификата
  • get issuerFriendlyName() : string - возвращает пользовательское имя издателя сертификата
  • get issuerName() : string - возвращает полное имя издателя сертификата
  • get subjectFriendlyName() : string - возвращает пользовательское имя владельца сертификата
  • get notBefore() : Date - возвращает время с которого сертификат считается действительным
  • get notAfter() : Date - возвращает время до которого сертификат считается действительным
  • get thumbprint() : string - возвращает отпечаток сертификата SHA-1

Методы

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

  • int certificateLoad(const std:string filename, DataFormat format) - чтение сертификата из файла
  • int certificateLoadMemory(const std:string data, DataFormat format) - чтение сертификата из памяти
  • int certificateLoadBIO(BIO *bio, DataFormat format) - чтение сертификата из BIO OpenSSL
  • int certificateSave(std:string filename, DataFormat format) - сохранение сертификата в файл
  • int certificateSaveMemory(std:string data, DataFormat format) - сохранение сертификата в память
  • int certificateSaveBIO(BIO *bio, DataFormat format) - сохранение сертификата в BIO OpenSSL
  • std::string certificateHash(HashAlgorithm algorithm) - вычисление значения хэша сертификата
  • bool Equals(Certificate* certificateOther) - сравнение сертификатов по значению их хэша (SHA-1)

Реализация JavaScript

  • certificateLoad(filename : string, format : DataFormat) : number - чтение сертификата из файла
  • certificateLoadMemory(data : string, format : DataFormat) : number - чтение сертификата из памяти
  • certificateLoadBIO(bio : BIO, format : DataFormat) : number - чтение сертификата из BIO OpenSSL
  • certificateSave(filename : string, format : DataFormat) : number - сохранение сертификата в файл
  • certificateSaveMemory(data : string, format : DataFormat) : number - сохранение сертификата в память
  • certificateSaveBIO(bio : BIO, format : DataFormat) : number - сохранение сертификата в BIO OpenSSL
  • certificateHash(algorithm : HashAlgorithm) : string - вычисление значения хэша сертификата
  • Equals(certificateOther : Certificate) : boolean - сравнение сертификатов по значению их хэша (SHA-1)

Чтение сертификата

int certificateLoad(const std:string filename, DataFormat format) certificateLoad(filename : string, format : DataFormat) : number

Функция осуществляет чтение сертификата из файла по полному пути filename и сохраняет его в качестве внутреннего объекта класса Certificate (структура X509 OpenSSL).

`filename` - полный путь к файлу сертификата. `format` - формат представления сертификата. Формат предполагает наличие двух значений: PEM - формат BASE64, DER - текстовое представление. `Результат`: 0 в случае успешного чтения, в противном случае - отрицательное значение.

int certificateLoadMemory(const std:string data, DataFormat format) certificateLoadMemory(data : string, format : DataFormat) : number

Функция осуществляет чтение сертификата из бинарного буфера data и сохраняет его в качестве внутреннего объекта класса Certificate. data - двоичный буфер, содержащий сертификат публичного ключа. format - формат представления сертификата (PEM или DER). Результат: 0 в случае успешного чтения, в противном случае - отрицательное значение.

int certificateLoadBIO(BIO *bio, DataFormat format) certificateLoadBIO(bio : BIO, format : DataFormat) : number

Функция осуществляет чтение сертификата из BIO OpenSSL и сохраняет его в качестве внутреннего объекта класса Certificate. bio - указатель структуру BIO OpenSSL. format - формат представления сертификата (PEM или DER). Результат: 0 в случае успешного чтения, в противном случае - отрицательное значение.

Сохранение сертификата

int certificateSave(std:string filename, DataFormat format) certificateSave(filename : string, format : DataFormat) : number

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

int certificateSaveMemory(std:string data, DataFormat format) certificateSaveMemory(data : string, DataFormat format) : number

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

int certificateSaveBIO(BIO *bio, DataFormat format) certificateSaveBIO(bio : BIO, format : DataFormat) : number

Функция осуществляет сохранение сертификата в BIO OpenSSL. bio - указатель структуру BIO OpenSSL. format - формат представления сертификата (PEM или DER). Результат: 0 в случае успешного сохранения, в противном случае - отрицательное значение.

Сравнение сертификатов

std::string certificateHash(HashAlgorithm algorithm) certificateHash(algorithm : HashAlgorithm) : string

Функция возвращает строку, содержащую значение хэша сертификата в HEX представлении. algorithm - имя алгоритма для вычисления значения хэша (SHA-1, SHA-256 и т.д.). Результат: строку, содержащую HEX представление хэша сертификата, пустую строку - в противном случае.

bool Equals(Certificate* certificateOther) Equals(certificateOther : Certificate) : boolean

Функция сравнения двух сертификатов, внутреннего объекта класса Certificate и объекта из класса переданного через указатель. certificateOther - указатель на класс сертификата. Результат: true в случае совпадения хэшей сертификатов, false - в противном случае.