Seckey à partir de la clé publique de chaîne à partir du serveur en Swift

Je veux crypter les données à l'aide de RSA , j'ai essayé de générer la clé dans mon code et ça fonctionne , Mais ce dont j'ai réellement besoin est d'obtenir la clé publique comme une chaîne de caractères à partir du serveur et de l'utiliser ensuite comme Seckey donc je peux l'utiliser pour chiffrer les données à l'aide de RSA,
J'ai essayé ce code:

//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()

Je ne pouvais pas exécuter ce code, car SecTrustCreateWithCertificates Méthode attend certificat de anyObject! Je ne Sais pas comment résoudre ce problème,Et si la résolution de ce me permettra de tirer le SecKey.

J'ai obtenu le code ci-dessus à partir de cette réponse objective-c

Donc si quelqu'un peut m'aider à obtenir le bon code pour résoudre ce problème , je serai très reconnaissant 🙂

OriginalL'auteur jamil | 2015-03-02