[英]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.