-/* $OpenBSD: tls.h,v 1.61 2022/02/01 17:18:38 jsing Exp $ */
+/* $OpenBSD: tls.h,v 1.62 2022/03/24 15:56:34 tb Exp $ */
/*
* Copyright (c) 2014 Joel Sing <jsing@openbsd.org>
*
#define TLS_MAX_SESSION_ID_LENGTH 32
#define TLS_TICKET_KEY_SIZE 48
-#define TLS_PADDING_NONE 0
-#define TLS_PADDING_RSA_PKCS1 1
-#define TLS_PADDING_RSA_X9_31 2
-
struct tls;
struct tls_config;
void *_cb_arg);
typedef ssize_t (*tls_write_cb)(struct tls *_ctx, const void *_buf,
size_t _buflen, void *_cb_arg);
-typedef int (*tls_sign_cb)(void *_cb_arg, const char *_pubkey_hash,
- const uint8_t *_input, size_t _input_len, int _padding_type,
- uint8_t **_out_signature, size_t *_out_signature_len);
int tls_init(void);
int tls_config_set_protocols(struct tls_config *_config, uint32_t _protocols);
int tls_config_set_session_fd(struct tls_config *_config, int _session_fd);
int tls_config_set_verify_depth(struct tls_config *_config, int _verify_depth);
-int tls_config_set_sign_cb(struct tls_config *_config, tls_sign_cb _cb,
- void *_cb_arg);
void tls_config_prefer_ciphers_client(struct tls_config *_config);
void tls_config_prefer_ciphers_server(struct tls_config *_config);
time_t tls_peer_ocsp_this_update(struct tls *_ctx);
const char *tls_peer_ocsp_url(struct tls *_ctx);
-struct tls_signer* tls_signer_new(void);
-void tls_signer_free(struct tls_signer * _signer);
-const char *tls_signer_error(struct tls_signer * _signer);
-int tls_signer_add_keypair_file(struct tls_signer *_signer,
- const char *_cert_file, const char *_key_file);
-int tls_signer_add_keypair_mem(struct tls_signer *_signer, const uint8_t *_cert,
- size_t _cert_len, const uint8_t *_key, size_t _key_len);
-int tls_signer_sign(struct tls_signer *_signer, const char *_pubkey_hash,
- const uint8_t *_input, size_t _input_len, int _padding_type,
- uint8_t **_out_signature, size_t *_out_signature_len);
-
#ifdef __cplusplus
}
#endif
-/* $OpenBSD: tls_internal.h,v 1.79 2022/01/25 21:51:24 eric Exp $ */
+/* $OpenBSD: tls_internal.h,v 1.80 2022/03/24 15:56:34 tb Exp $ */
/*
* Copyright (c) 2014 Jeremie Courreges-Anglas <jca@openbsd.org>
* Copyright (c) 2014 Joel Sing <jsing@openbsd.org>
time_t time;
};
+typedef int (*tls_sign_cb)(void *_cb_arg, const char *_pubkey_hash,
+ const uint8_t *_input, size_t _input_len, int _padding_type,
+ uint8_t **_out_signature, size_t *_out_signature_len);
+
struct tls_config {
struct tls_error error;
RSA_METHOD *tls_signer_rsa_method(void);
ECDSA_METHOD *tls_signer_ecdsa_method(void);
+#define TLS_PADDING_NONE 0
+#define TLS_PADDING_RSA_PKCS1 1
+#define TLS_PADDING_RSA_X9_31 2
+
+int tls_config_set_sign_cb(struct tls_config *_config, tls_sign_cb _cb,
+ void *_cb_arg);
+
+struct tls_signer* tls_signer_new(void);
+void tls_signer_free(struct tls_signer * _signer);
+const char *tls_signer_error(struct tls_signer * _signer);
+int tls_signer_add_keypair_file(struct tls_signer *_signer,
+ const char *_cert_file, const char *_key_file);
+int tls_signer_add_keypair_mem(struct tls_signer *_signer, const uint8_t *_cert,
+ size_t _cert_len, const uint8_t *_key, size_t _key_len);
+int tls_signer_sign(struct tls_signer *_signer, const char *_pubkey_hash,
+ const uint8_t *_input, size_t _input_len, int _padding_type,
+ uint8_t **_out_signature, size_t *_out_signature_len);
+
__END_HIDDEN_DECLS
/* XXX this function is not fully hidden so relayd can use it */