feat: update swift-secure-enclave-tool.swift
This commit is contained in:
@@ -31,18 +31,18 @@ func generateSecureEnclaveP256KeyPair(sign: Bool, requireBio: Bool) -> String {
|
|||||||
let privateKeyReference = try SecureEnclave.P256.Signing.PrivateKey.init(
|
let privateKeyReference = try SecureEnclave.P256.Signing.PrivateKey.init(
|
||||||
accessControl: accessCtrl
|
accessControl: accessCtrl
|
||||||
)
|
)
|
||||||
let publicKeyBase64 = privateKeyReference.publicKey.x963Representation.base64EncodedString()
|
let publicKeyPointBase64 = privateKeyReference.publicKey.x963Representation.base64EncodedString()
|
||||||
let publicKeyPem = privateKeyReference.publicKey.derRepresentation.base64EncodedString()
|
let publicKeyDerBase64 = privateKeyReference.publicKey.derRepresentation.base64EncodedString()
|
||||||
let dataRepresentationBase64 = privateKeyReference.dataRepresentation.base64EncodedString()
|
let dataRepresentationBase64 = privateKeyReference.dataRepresentation.base64EncodedString()
|
||||||
return "ok:\(publicKeyBase64),\(publicKeyPem),\(dataRepresentationBase64)"
|
return "ok:\(publicKeyPointBase64),\(publicKeyDerBase64),\(dataRepresentationBase64)"
|
||||||
} else {
|
} else {
|
||||||
let privateKeyReference = try SecureEnclave.P256.KeyAgreement.PrivateKey.init(
|
let privateKeyReference = try SecureEnclave.P256.KeyAgreement.PrivateKey.init(
|
||||||
accessControl: accessCtrl
|
accessControl: accessCtrl
|
||||||
)
|
)
|
||||||
let publicKeyBase64 = privateKeyReference.publicKey.x963Representation.base64EncodedString()
|
let publicKeyPointBase64 = privateKeyReference.publicKey.x963Representation.base64EncodedString()
|
||||||
let publicKeyPem = privateKeyReference.publicKey.derRepresentation.base64EncodedString()
|
let publicKeyDerBase64 = privateKeyReference.publicKey.derRepresentation.base64EncodedString()
|
||||||
let dataRepresentationBase64 = privateKeyReference.dataRepresentation.base64EncodedString()
|
let dataRepresentationBase64 = privateKeyReference.dataRepresentation.base64EncodedString()
|
||||||
return "ok:\(publicKeyBase64),\(publicKeyPem),\(dataRepresentationBase64)"
|
return "ok:\(publicKeyPointBase64),\(publicKeyDerBase64),\(dataRepresentationBase64)"
|
||||||
}
|
}
|
||||||
} catch {
|
} catch {
|
||||||
return "err:\(error)"
|
return "err:\(error)"
|
||||||
@@ -226,4 +226,27 @@ if (command == "version") {
|
|||||||
exitWith("ok:1.0.0-20250118")
|
exitWith("ok:1.0.0-20250118")
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (command == "help") {
|
||||||
|
print("swift-secure-enclave-tool <command>")
|
||||||
|
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 <privateKey> - recover Secure Enclave P256 EC sign key pair")
|
||||||
|
print("recover_secure_enclave_p256_ecdh_public_key <privateKey> - recover Secure Enclave P256 EC DH key pair")
|
||||||
|
print("compute_secure_enclave_p256_ecsign <privateKey> <content> - compure Secure Enclave P256 EC sign")
|
||||||
|
print("compute_secure_enclave_p256_ecdh <privateKey> <ephemeraPublicKey> - 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")
|
exitWith("err:invalid command")
|
||||||
|
|||||||
Reference in New Issue
Block a user