Annotation of src/usr.bin/ssh/ssh-sk.h, Revision 1.1
1.1 ! djm 1: /* $OpenBSD$ */
! 2: /*
! 3: * Copyright (c) 2019 Google LLC
! 4: *
! 5: * Permission to use, copy, modify, and distribute this software for any
! 6: * purpose with or without fee is hereby granted, provided that the above
! 7: * copyright notice and this permission notice appear in all copies.
! 8: *
! 9: * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
! 10: * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
! 11: * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
! 12: * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
! 13: * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
! 14: * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
! 15: * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
! 16: */
! 17:
! 18: #ifndef _SSH_SK_H
! 19: #define _SSH_SK_H 1
! 20:
! 21: struct sshbuf;
! 22: struct sshkey;
! 23:
! 24: /*
! 25: * Enroll (generate) a new security-key hosted private key via the specified
! 26: * provider middleware.
! 27: * If challenge_buf is NULL then a random 256 bit challenge will be used.
! 28: *
! 29: * Returns 0 on success or a ssherr.h error code on failure.
! 30: *
! 31: * If successful and the attest_data buffer is not NULL then attestation
! 32: * information is placed there.
! 33: */
! 34: int sshsk_enroll(const char *provider_path, const char *application,
! 35: uint8_t flags, struct sshbuf *challenge_buf, struct sshkey **keyp,
! 36: struct sshbuf *attest);
! 37:
! 38: /*
! 39: * Calculate an ECDSA_SK signature using the specified key and provider
! 40: * middleware.
! 41: *
! 42: * Returns 0 on success or a ssherr.h error code on failure.
! 43: */
! 44: int sshsk_ecdsa_sign(const char *provider_path, const struct sshkey *key,
! 45: u_char **sigp, size_t *lenp, const u_char *data, size_t datalen,
! 46: u_int compat);
! 47:
! 48: #endif /* _SSH_SK_H */
! 49: