in Sources/NIOSSH/Keys And Signatures/NIOSSHPrivateKey.swift [122:142]
func sign(_ payload: UserAuthSignablePayload) throws -> NIOSSHSignature {
switch self.backingKey {
case .ed25519(let key):
let signature = try key.signature(for: payload.bytes.readableBytesView)
return NIOSSHSignature(backingSignature: .ed25519(.data(signature)))
case .ecdsaP256(let key):
let signature = try key.signature(for: payload.bytes.readableBytesView)
return NIOSSHSignature(backingSignature: .ecdsaP256(signature))
case .ecdsaP384(let key):
let signature = try key.signature(for: payload.bytes.readableBytesView)
return NIOSSHSignature(backingSignature: .ecdsaP384(signature))
case .ecdsaP521(let key):
let signature = try key.signature(for: payload.bytes.readableBytesView)
return NIOSSHSignature(backingSignature: .ecdsaP521(signature))
#if os(macOS) || os(iOS) || os(watchOS) || os(tvOS)
case .secureEnclaveP256(let key):
let signature = try key.signature(for: payload.bytes.readableBytesView)
return NIOSSHSignature(backingSignature: .ecdsaP256(signature))
#endif
}
}