Create signature with ECDSA algothrim to verify with Java

I using code below to create signature from privatekey generated to verify text "Hello" with Java ( using Keyfactory ) and ECDSA algothrim but I don't verify

func getPrivateKey() -> SecKey {

    let privateKeyData = self.privateKeyHexaString.hexadecimal!
    print("privateKeyData \(privateKeyData)")
    
    let secKeyByPrivateKey = SecKeyCreateWithData(privateKeyData as! CFData, [
        kSecAttrKeyTypeEC: kSecAttrKeyTypeECSECPrimeRandom,
        kSecAttrTokenID: kSecAttrTokenIDSecureEnclave,
        kSecAttrKeyClass: kSecAttrKeyClassPrivate
    ] as CFDictionary, nil)
    guard let secKeyByPrivateKey: SecKey = secKeyByPrivateKey else
    {
        return SecKey.self as! SecKey
    }
    return secKeyByPrivateKey
}

func createSignature() -> String{ let seckey = getPrivateKey() let data = "Hello".data(using: .utf8) let dataHash = getStringHash("Hello").data(using: .utf8)! guard let signedData = SecKeyCreateSignature(seckey, SecKeyAlgorithm.ecdsaSignatureMessageX962SHA256, data as! CFData, nil) as Data? else { return "" }

    print(signedData.base64EncodedString())
    return signedData.base64EncodedString()
} 

With IOS > 14 I can use P256.Signing but with IOS < 14 I can't verify

I’ll reply on your other thread.

Share and Enjoy

Quinn “The Eskimo!” @ Developer Technical Support @ Apple
let myEmail = "eskimo" + "1" + "@" + "apple.com"

Create signature with ECDSA algothrim to verify with Java
 
 
Q