diff options
Diffstat (limited to 'src/lib/libtls/tls.h')
| -rw-r--r-- | src/lib/libtls/tls.h | 18 |
1 files changed, 17 insertions, 1 deletions
diff --git a/src/lib/libtls/tls.h b/src/lib/libtls/tls.h index 20f55dcabd..22f04f4023 100644 --- a/src/lib/libtls/tls.h +++ b/src/lib/libtls/tls.h | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | /* $OpenBSD: tls.h,v 1.58 2020/01/22 06:44:02 beck Exp $ */ | 1 | /* $OpenBSD: tls.h,v 1.59 2022/01/25 21:51:24 eric Exp $ */ |
| 2 | /* | 2 | /* |
| 3 | * Copyright (c) 2014 Joel Sing <jsing@openbsd.org> | 3 | * Copyright (c) 2014 Joel Sing <jsing@openbsd.org> |
| 4 | * | 4 | * |
| @@ -79,6 +79,9 @@ typedef ssize_t (*tls_read_cb)(struct tls *_ctx, void *_buf, size_t _buflen, | |||
| 79 | void *_cb_arg); | 79 | void *_cb_arg); |
| 80 | typedef ssize_t (*tls_write_cb)(struct tls *_ctx, const void *_buf, | 80 | typedef ssize_t (*tls_write_cb)(struct tls *_ctx, const void *_buf, |
| 81 | size_t _buflen, void *_cb_arg); | 81 | size_t _buflen, void *_cb_arg); |
| 82 | typedef int (*tls_sign_cb)(void *_cb_arg, const char *_hash, | ||
| 83 | const uint8_t *_dgst, size_t _dgstlen, uint8_t *_psig, size_t *_psiglen, | ||
| 84 | int _padding); | ||
| 82 | 85 | ||
| 83 | int tls_init(void); | 86 | int tls_init(void); |
| 84 | 87 | ||
| @@ -135,6 +138,8 @@ int tls_config_set_ocsp_staple_file(struct tls_config *_config, | |||
| 135 | int tls_config_set_protocols(struct tls_config *_config, uint32_t _protocols); | 138 | int tls_config_set_protocols(struct tls_config *_config, uint32_t _protocols); |
| 136 | int tls_config_set_session_fd(struct tls_config *_config, int _session_fd); | 139 | int tls_config_set_session_fd(struct tls_config *_config, int _session_fd); |
| 137 | int tls_config_set_verify_depth(struct tls_config *_config, int _verify_depth); | 140 | int tls_config_set_verify_depth(struct tls_config *_config, int _verify_depth); |
| 141 | int tls_config_set_sign_cb(struct tls_config *_config, tls_sign_cb _cb, | ||
| 142 | void *_cb_arg); | ||
| 138 | 143 | ||
| 139 | void tls_config_prefer_ciphers_client(struct tls_config *_config); | 144 | void tls_config_prefer_ciphers_client(struct tls_config *_config); |
| 140 | void tls_config_prefer_ciphers_server(struct tls_config *_config); | 145 | void tls_config_prefer_ciphers_server(struct tls_config *_config); |
| @@ -212,6 +217,17 @@ time_t tls_peer_ocsp_revocation_time(struct tls *_ctx); | |||
| 212 | time_t tls_peer_ocsp_this_update(struct tls *_ctx); | 217 | time_t tls_peer_ocsp_this_update(struct tls *_ctx); |
| 213 | const char *tls_peer_ocsp_url(struct tls *_ctx); | 218 | const char *tls_peer_ocsp_url(struct tls *_ctx); |
| 214 | 219 | ||
| 220 | struct tls_signer* tls_signer_new(void); | ||
| 221 | void tls_signer_free(struct tls_signer * _signer); | ||
| 222 | const char *tls_signer_error(struct tls_signer * _signer); | ||
| 223 | int tls_signer_add_keypair_file(struct tls_signer *_signer, | ||
| 224 | const char *_cert_file, const char *_key_file); | ||
| 225 | int tls_signer_add_keypair_mem(struct tls_signer *_signer, const uint8_t *_cert, | ||
| 226 | size_t _cert_len, const uint8_t *_key, size_t _key_len); | ||
| 227 | int tls_signer_sign(struct tls_signer *_signer, const char *_hash, | ||
| 228 | const uint8_t *_dgst, size_t _dgstlen, uint8_t **_psig, size_t *_psiglen, | ||
| 229 | int _padding); | ||
| 230 | |||
| 215 | #ifdef __cplusplus | 231 | #ifdef __cplusplus |
| 216 | } | 232 | } |
| 217 | #endif | 233 | #endif |
