ssh-pkcs11.h 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. /* $OpenBSD: ssh-pkcs11.h,v 1.6 2020/01/25 00:03:36 djm Exp $ */
  2. /*
  3. * Copyright (c) 2010 Markus Friedl. All rights reserved.
  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. /* Errors for pkcs11_add_provider() */
  18. #define SSH_PKCS11_ERR_GENERIC 1
  19. #define SSH_PKCS11_ERR_LOGIN_FAIL 2
  20. #define SSH_PKCS11_ERR_NO_SLOTS 3
  21. #define SSH_PKCS11_ERR_PIN_REQUIRED 4
  22. #define SSH_PKCS11_ERR_PIN_LOCKED 5
  23. #include "ssh-pkcs11-uri.h"
  24. int pkcs11_init(int);
  25. void pkcs11_terminate(void);
  26. int pkcs11_add_provider(char *, char *, struct sshkey ***, char ***);
  27. int pkcs11_add_provider_by_uri(struct pkcs11_uri *, char *, struct sshkey ***, char ***);
  28. int pkcs11_del_provider(char *);
  29. int pkcs11_uri_write(const struct sshkey *, FILE *);
  30. #ifdef WITH_PKCS11_KEYGEN
  31. struct sshkey *
  32. pkcs11_gakp(char *, char *, unsigned int, char *, unsigned int,
  33. unsigned int, unsigned char, u_int32_t *);
  34. struct sshkey *
  35. pkcs11_destroy_keypair(char *, char *, unsigned long, unsigned char,
  36. u_int32_t *);
  37. #endif
  38. #if !defined(WITH_OPENSSL) && defined(ENABLE_PKCS11)
  39. #undef ENABLE_PKCS11
  40. #endif