diff --git a/swift-secure-enclave-tool.swift b/swift-secure-enclave-tool.swift index 697083e..216a2fa 100644 --- a/swift-secure-enclave-tool.swift +++ b/swift-secure-enclave-tool.swift @@ -31,18 +31,18 @@ func generateSecureEnclaveP256KeyPair(sign: Bool, requireBio: Bool) -> String { let privateKeyReference = try SecureEnclave.P256.Signing.PrivateKey.init( accessControl: accessCtrl ) - let publicKeyBase64 = privateKeyReference.publicKey.x963Representation.base64EncodedString() - let publicKeyPem = privateKeyReference.publicKey.derRepresentation.base64EncodedString() + let publicKeyPointBase64 = privateKeyReference.publicKey.x963Representation.base64EncodedString() + let publicKeyDerBase64 = privateKeyReference.publicKey.derRepresentation.base64EncodedString() let dataRepresentationBase64 = privateKeyReference.dataRepresentation.base64EncodedString() - return "ok:\(publicKeyBase64),\(publicKeyPem),\(dataRepresentationBase64)" + return "ok:\(publicKeyPointBase64),\(publicKeyDerBase64),\(dataRepresentationBase64)" } else { let privateKeyReference = try SecureEnclave.P256.KeyAgreement.PrivateKey.init( accessControl: accessCtrl ) - let publicKeyBase64 = privateKeyReference.publicKey.x963Representation.base64EncodedString() - let publicKeyPem = privateKeyReference.publicKey.derRepresentation.base64EncodedString() + let publicKeyPointBase64 = privateKeyReference.publicKey.x963Representation.base64EncodedString() + let publicKeyDerBase64 = privateKeyReference.publicKey.derRepresentation.base64EncodedString() let dataRepresentationBase64 = privateKeyReference.dataRepresentation.base64EncodedString() - return "ok:\(publicKeyBase64),\(publicKeyPem),\(dataRepresentationBase64)" + return "ok:\(publicKeyPointBase64),\(publicKeyDerBase64),\(dataRepresentationBase64)" } } catch { return "err:\(error)" @@ -226,4 +226,27 @@ if (command == "version") { exitWith("ok:1.0.0-20250118") } +if (command == "help") { + print("swift-secure-enclave-tool ") + print("help - print help") + print("version - print version") + print("is_support_secure_enclave - print is support Secure Enclave") + print("generate_secure_enclave_p256_ecsign_keypair [requireBio] - generate Secure Enclave P256 EC sign key pair") + print("generate_secure_enclave_p256_ecdh_keypair [requireBio] - generate Secure Enclave P256 EC DH key pair") + print("recover_secure_enclave_p256_ecsign_public_key - recover Secure Enclave P256 EC sign key pair") + print("recover_secure_enclave_p256_ecdh_public_key - recover Secure Enclave P256 EC DH key pair") + print("compute_secure_enclave_p256_ecsign - compure Secure Enclave P256 EC sign") + print("compute_secure_enclave_p256_ecdh - compure Secure Enclave P256 EC DH") + print() + print("options:") + print("> requireBio - true or false (default true)") + print("> privateKey - private key representation (dataRepresentationBase64)") + print("> content - content in base64") + print("> ephemeraPublicKey - public key der in base64") + print() + print("generate secure enclave key pair format:") + print("> ok:publicKeyPointBase64,publicKeyDerBase64,dataRepresentationBase64") + exit(0) +} + exitWith("err:invalid command")