Adapt ssl_set_own_cert() to generic keys
diff --git a/library/ssl_tls.c b/library/ssl_tls.c
index 033c9fa..4e5b3e6 100644
--- a/library/ssl_tls.c
+++ b/library/ssl_tls.c
@@ -3143,22 +3143,35 @@
}
void ssl_set_own_cert( ssl_context *ssl, x509_cert *own_cert,
- rsa_context *rsa_key )
+ pk_context *pk_key )
+{
+ ssl->own_cert = own_cert;
+ ssl->pk_key = pk_key;
+
+ /* Temporary, until everything is moved to PK */
+ if( pk_key->pk_info->type == POLARSSL_PK_RSA )
+ ssl->rsa_key = pk_key->pk_ctx;
+}
+
+#if defined(POLARSSL_RSA_C)
+void ssl_set_own_cert_rsa( ssl_context *ssl, x509_cert *own_cert,
+ rsa_context *rsa_key )
{
ssl->own_cert = own_cert;
ssl->rsa_key = rsa_key;
}
+#endif /* POLARSSL_RSA_C */
-void ssl_set_own_cert_alt( ssl_context *ssl, x509_cert *own_cert,
- void *rsa_key,
- rsa_decrypt_func rsa_decrypt,
- rsa_sign_func rsa_sign,
- rsa_key_len_func rsa_key_len )
+void ssl_set_own_cert_alt_rsa( ssl_context *ssl, x509_cert *own_cert,
+ void *rsa_key,
+ rsa_decrypt_func rsa_decrypt,
+ rsa_sign_func rsa_sign,
+ rsa_key_len_func rsa_key_len )
{
- ssl->own_cert = own_cert;
- ssl->rsa_key = rsa_key;
+ ssl->own_cert = own_cert;
+ ssl->rsa_key = rsa_key;
ssl->rsa_decrypt = rsa_decrypt;
- ssl->rsa_sign = rsa_sign;
+ ssl->rsa_sign = rsa_sign;
ssl->rsa_key_len = rsa_key_len;
}
#endif /* POLARSSL_X509_PARSE_C */