Как получить поле сертификата X509 в Swift - PullRequest
0 голосов
/ 14 января 2019

Я пытаюсь подписать XML-документ в iOS. Я уже создал digestValue и SignatureValue, используя файл pfx, но не могу сгенерировать поле X509Certificate внутри поля KeyInfo. Я знаю, мне нужен только файл pfx для генерации этого, но как я могу сделать это в iOS?

Спасибо.

1 Ответ

0 голосов
/ 18 января 2019

Я понял.

Мне пришлось импортировать OpenSSL lib в мой проект в виде пакета:

pod 'OpenSSL-Universal', '~> 1.0'

Затем я создал файл Objective-C, чтобы использовать функции C OpenSSL и использовать следующие функции для получения значения PEM:

  • d2i_PKCS12: прочитать сертификат
  • PKCS12_parse: проанализировать сертификат для объекта X509.
  • PEM_write_bio_X509: проанализировать данные X509 для объекта BIO.
  • BIO_get_mem_ptr: анализировать данные BIO с данными MEM

Затем я выделил строку NSString, используя mem-> data, и есть значение PEM сертификата.

Для получения более подробной информации о функциях, я следовал этой документации: https://www.openssl.org/docs/man1.0.2/crypto/

...