diff --git a/swift-secure-enclave-tool-v2.swift b/swift-secure-enclave-tool-v2.swift index 859c647..238faf7 100644 --- a/swift-secure-enclave-tool-v2.swift +++ b/swift-secure-enclave-tool-v2.swift @@ -75,12 +75,7 @@ func parseComputeP256EcSignRequest() -> ComputeP256EcSignRequest? { ) } -struct ExternalSignRequest { - var dataRepresentationBase64: String - var messageBase64: String -} - -func parseExternalSignRequest() -> ExternalSignRequest? { +func parseExternalSignRequest() -> ComputeP256EcSignRequest? { var algOpt: String? var dataRepresentationBase64Opt: String? var messageBase64Opt: String? @@ -119,7 +114,7 @@ func parseExternalSignRequest() -> ExternalSignRequest? { exitError("parameter --message-base64 required.") return nil } - return ExternalSignRequest( + return ComputeP256EcSignRequest( dataRepresentationBase64: dataRepresentationBase64, messageBase64: messageBase64 ) @@ -514,6 +509,12 @@ if (command == "external_public_key") { exitOkWithJson(ExternalPublicKeyResponse(success: true, public_key_base64: response.public_key_base64)) } +if (command == "external_sign") { + let request = parseExternalSignRequest()!; + let response = computeSecureEnclaveP256Ecsign(request: request) + exitOkWithJson(response) +} + if (command == "version") { exitOkWithJson(VersionResponse(success: true, version: "2.0.0-20250428")) }