簡體   English   中英

如何將base64導出的公鑰轉換為可以在php中使用的東西?

[英]How do I convert a base64 exported public key into something I can use in 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, 與key的塊大小不同 我是PKI的新手,我們將不勝感激。

如果您的發布密鑰符合X.509,則可以使用PHP進行解析,如下所示:

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

PHP包括適用於OpenSSl和X.509的庫

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM