Seckey da cadeia de chave pública do servidor no Swift
Eu quero criptografar dados usando o RSA, tentei gerar a chave no meu código e está funcionando, mas o que eu realmente preciso é obter a chave pública como uma string do servidor e usá-la como Seckey para que eu possa criptografar dados usando RSA, tentei este código:
//KeyString is the string of the key from server
let KeyData = (keyString as NSString).dataUsingEncoding(NSUTF8StringEncoding) as NSData!
var cert : Unmanaged<SecCertificateRef>!;
var policy : Unmanaged<SecPolicy>!;
cert = SecCertificateCreateWithData(kCFAllocatorDefault, KeyData);
policy = SecPolicyCreateBasicX509();
var status : OSStatus = noErr
var trust: SecTrust?
var certArray : [Unmanaged<SecCertificateRef>!] = [cert];
var certArrayPointer = UnsafeMutablePointer<UnsafePointer<Void>>(certArray)
status = SecTrustCreateWithCertificates(cert, policy, trust);
let publicKey: SecKeyRef = SecTrustCopyPublicKey(trust!).takeUnretainedValue()
Não pude executar esse código porque o método SecTrustCreateWithCertificates está esperando o certificado como anyObject! , Não sei como consertar isso, e se resolver isso me permitirá obter o SecKey.
Eu recebi o código acima deesta resposta no objetivo-c
Portanto, se alguém puder me ajudar a obter o código certo para resolver isso, ficarei muito agradecido :)