swift — Как мне преобразовать экспортированный base64 открытый ключ во что-то, что я могу использовать в php?

Я могу экспортировать открытый ключ, созданный в iOS, и преобразовать его в base64:

var dataPtr:Unmanaged<AnyObject>?
let query: [String:AnyObject] = [
kSecClass: kSecClassKey,
kSecAttrApplicationTag: "com.example.site.public",
kSecReturnData: kCFBooleanTrue
]
let qResult = SecItemCopyMatching(query, &dataPtr)

// error handling with `qResult` ...

let publicKeyData = dataPtr!.takeRetainedValue() as NSData

// convert to Base64 string
let base64PublicKey = publicKeyData.base64EncodedStringWithOptions(nil)

Я также смог отправить его на мой сервер LAMP. Сейчас я пытаюсь понять, как использовать его в качестве открытого ключа там.

Я старался:

$keydata = base64decode($_GET['base64PublicKey']);
$res = gnupg_init();
$info = gnupg_import($res,$keydata);
print_r($info);

Это правильное направление? Я знаю, что размер данных составляет 270, не совпадает с размером блока ключа. Я немного новичок в PKI, любая помощь будет оценена.

2

Решение

Если ваш ключ публикации соответствует X.509, вы можете выполнить синтаксический анализ PHP следующим образом:

$keydata = base64decode($_GET['base64PublicKey']);
$info = openssl_x509_parse($keydata,true);
print_r($info);

PHP включает в себя библиотеку для OpenSSl и X.509

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]