比较ios Swift中的两个secKey(公钥)

luk*_*007 6 security ios swift

我想在swift中使用ssl公钥固定,我读了很多例子怎么做,最后想想我找不到的是如何比较SecKey对象格式的两个公钥.例:

let serverPublicKey = SecTrustCopyPublicKey(secTrust) /*return SecKey object from actual SecTrust*/
let clientPublicKey = getLocalPublicKeyFromDer() /*return SecKey from .der local*/
Run Code Online (Sandbox Code Playgroud)

如何比较它们?现在我这样做,它的工作原理:

if(serverPublicKey! as AnyObject).isEqual(clientPublicKey){
  /*Key is the same, pinning OK!*/
}
Run Code Online (Sandbox Code Playgroud)

在gitHub上找到它的方式:https://github.com/teamcarma/IOS-AlamofireDomain/blob/master/Source/ServerTrustPolicy.swift

但是转向AnyObject是一个好主意吗?如何工作isEqual在铸造的SecKey?可以解释一下吗?

PS.另一个想法是从SecKey获取base64 - 我尝试它也可以工作,但它需要一个KeyChain临时操作,看起来没有专业.

ksa*_*der -5

我在该领域没有经验,但如果它们是两个字符串(无论其内容如何),您基本上会做一个简单的检查:

if(string1 == string2)
{
 //condition logic
}
Run Code Online (Sandbox Code Playgroud)


归档时间:

查看次数:

1464 次

最近记录:

6 年,11 月 前