mirror of
https://gitlab.gnome.org/GNOME/glib.git
synced 2025-08-02 07:23:41 +02:00
Merge branch 'mcatanzaro/readable-private-key' into 'main'
gtlscertificate: make private key properties readable See merge request GNOME/glib!2087
This commit is contained in:
@@ -407,12 +407,6 @@ g_test_tls_connection_initable_iface_init (GInitableIface *iface)
|
||||
iface->init = g_test_tls_connection_initable_init;
|
||||
}
|
||||
|
||||
const gchar *
|
||||
g_test_tls_connection_get_private_key_pem (GTlsCertificate *cert)
|
||||
{
|
||||
return ((GTestTlsCertificate *)cert)->key_pem;
|
||||
}
|
||||
|
||||
/* Test database type */
|
||||
|
||||
typedef struct _GTestTlsDatabase GTestTlsDatabase;
|
||||
|
@@ -39,9 +39,6 @@ struct _GTestTlsBackendClass {
|
||||
|
||||
GType _g_test_tls_backend_get_type (void);
|
||||
|
||||
const gchar *g_test_tls_connection_get_private_key_pem (GTlsCertificate *cert);
|
||||
|
||||
|
||||
G_END_DECLS
|
||||
|
||||
#endif /* __G_TEST_TLS_BACKEND_H__ */
|
||||
|
@@ -40,7 +40,7 @@ pem_parser (const Reference *ref)
|
||||
gchar *pem;
|
||||
gsize pem_len = 0;
|
||||
gchar *parsed_cert_pem = NULL;
|
||||
const gchar *parsed_key_pem = NULL;
|
||||
gchar *parsed_key_pem = NULL;
|
||||
GError *error = NULL;
|
||||
|
||||
/* Check PEM parsing in certificate, private key order. */
|
||||
@@ -55,13 +55,12 @@ pem_parser (const Reference *ref)
|
||||
|
||||
g_object_get (cert,
|
||||
"certificate-pem", &parsed_cert_pem,
|
||||
"private-key-pem", &parsed_key_pem,
|
||||
NULL);
|
||||
parsed_key_pem = g_test_tls_connection_get_private_key_pem (cert);
|
||||
g_assert_cmpstr (parsed_cert_pem, ==, ref->cert_pems[0]);
|
||||
g_free (parsed_cert_pem);
|
||||
parsed_cert_pem = NULL;
|
||||
g_clear_pointer (&parsed_cert_pem, g_free);
|
||||
g_assert_cmpstr (parsed_key_pem, ==, ref->key_pem);
|
||||
parsed_key_pem = NULL;
|
||||
g_clear_pointer (&parsed_key_pem, g_free);
|
||||
|
||||
g_object_unref (cert);
|
||||
|
||||
@@ -89,13 +88,12 @@ pem_parser (const Reference *ref)
|
||||
|
||||
g_object_get (cert,
|
||||
"certificate-pem", &parsed_cert_pem,
|
||||
"private-key-pem", &parsed_key_pem,
|
||||
NULL);
|
||||
parsed_key_pem = g_test_tls_connection_get_private_key_pem (cert);
|
||||
g_assert_cmpstr (parsed_cert_pem, ==, ref->cert_pems[0]);
|
||||
g_free (parsed_cert_pem);
|
||||
parsed_cert_pem = NULL;
|
||||
g_clear_pointer (&parsed_cert_pem, g_free);
|
||||
g_assert_cmpstr (parsed_key_pem, ==, ref->key_pem);
|
||||
parsed_key_pem = NULL;
|
||||
g_clear_pointer (&parsed_key_pem, g_free);
|
||||
|
||||
g_free (pem);
|
||||
g_object_unref (cert);
|
||||
@@ -111,11 +109,10 @@ pem_parser (const Reference *ref)
|
||||
|
||||
g_object_get (cert,
|
||||
"certificate-pem", &parsed_cert_pem,
|
||||
"private-key-pem", &parsed_key_pem,
|
||||
NULL);
|
||||
parsed_key_pem = g_test_tls_connection_get_private_key_pem (cert);
|
||||
g_assert_cmpstr (parsed_cert_pem, ==, ref->cert_pems[0]);
|
||||
g_free (parsed_cert_pem);
|
||||
parsed_cert_pem = NULL;
|
||||
g_clear_pointer (&parsed_cert_pem, g_free);
|
||||
g_assert_null (parsed_key_pem);
|
||||
|
||||
g_free (pem);
|
||||
@@ -141,7 +138,7 @@ pem_parser_handles_chain (const Reference *ref)
|
||||
GTlsCertificate *original_cert;
|
||||
gchar *pem;
|
||||
gchar *parsed_cert_pem = NULL;
|
||||
const gchar *parsed_key_pem = NULL;
|
||||
gchar *parsed_key_pem = NULL;
|
||||
GError *error = NULL;
|
||||
|
||||
/* Check that a chain with exactly three certificates is returned */
|
||||
@@ -156,14 +153,14 @@ pem_parser_handles_chain (const Reference *ref)
|
||||
|
||||
g_object_get (cert,
|
||||
"certificate-pem", &parsed_cert_pem,
|
||||
"private-key-pem", &parsed_key_pem,
|
||||
NULL);
|
||||
g_assert_cmpstr (parsed_cert_pem, ==, ref->cert_pems[0]);
|
||||
g_clear_pointer (&parsed_cert_pem, g_free);
|
||||
|
||||
/* Make sure the private key was parsed */
|
||||
parsed_key_pem = g_test_tls_connection_get_private_key_pem (cert);
|
||||
g_assert_cmpstr (parsed_key_pem, ==, ref->key_pem);
|
||||
parsed_key_pem = NULL;
|
||||
g_clear_pointer (&parsed_key_pem, g_free);
|
||||
|
||||
/* Now test the second cert */
|
||||
issuer = g_tls_certificate_get_issuer (cert);
|
||||
@@ -175,12 +172,12 @@ pem_parser_handles_chain (const Reference *ref)
|
||||
|
||||
g_object_get (cert,
|
||||
"certificate-pem", &parsed_cert_pem,
|
||||
"private-key-pem", &parsed_key_pem,
|
||||
NULL);
|
||||
g_assert_cmpstr (parsed_cert_pem, ==, ref->cert_pems[1]);
|
||||
g_clear_pointer (&parsed_cert_pem, g_free);
|
||||
|
||||
/* Only the first cert should have a private key */
|
||||
parsed_key_pem = g_test_tls_connection_get_private_key_pem (cert);
|
||||
g_assert_null (parsed_key_pem);
|
||||
|
||||
/* Now test the final cert */
|
||||
@@ -190,11 +187,11 @@ pem_parser_handles_chain (const Reference *ref)
|
||||
|
||||
g_object_get (cert,
|
||||
"certificate-pem", &parsed_cert_pem,
|
||||
"private-key-pem", &parsed_key_pem,
|
||||
NULL);
|
||||
g_assert_cmpstr (parsed_cert_pem, ==, ref->cert_pems[2]);
|
||||
g_clear_pointer (&parsed_cert_pem, g_free);
|
||||
|
||||
parsed_key_pem = g_test_tls_connection_get_private_key_pem (cert);
|
||||
g_assert_null (parsed_key_pem);
|
||||
|
||||
g_object_unref (original_cert);
|
||||
@@ -237,7 +234,7 @@ from_file (const Reference *ref)
|
||||
{
|
||||
GTlsCertificate *cert;
|
||||
gchar *parsed_cert_pem = NULL;
|
||||
const gchar *parsed_key_pem = NULL;
|
||||
gchar *parsed_key_pem = NULL;
|
||||
GError *error = NULL;
|
||||
|
||||
cert = g_tls_certificate_new_from_file (g_test_get_filename (G_TEST_DIST, "cert-tests", "key-cert.pem", NULL),
|
||||
@@ -247,13 +244,12 @@ from_file (const Reference *ref)
|
||||
|
||||
g_object_get (cert,
|
||||
"certificate-pem", &parsed_cert_pem,
|
||||
"private-key-pem", &parsed_key_pem,
|
||||
NULL);
|
||||
parsed_key_pem = g_test_tls_connection_get_private_key_pem (cert);
|
||||
g_assert_cmpstr (parsed_cert_pem, ==, ref->cert_pems[0]);
|
||||
g_free (parsed_cert_pem);
|
||||
parsed_cert_pem = NULL;
|
||||
g_clear_pointer (&parsed_cert_pem, g_free);
|
||||
g_assert_cmpstr (parsed_key_pem, ==, ref->key_pem);
|
||||
parsed_key_pem = NULL;
|
||||
g_clear_pointer (&parsed_key_pem, g_free);
|
||||
|
||||
g_object_unref (cert);
|
||||
}
|
||||
@@ -263,7 +259,7 @@ from_files (const Reference *ref)
|
||||
{
|
||||
GTlsCertificate *cert;
|
||||
gchar *parsed_cert_pem = NULL;
|
||||
const gchar *parsed_key_pem = NULL;
|
||||
gchar *parsed_key_pem = NULL;
|
||||
GError *error = NULL;
|
||||
|
||||
cert = g_tls_certificate_new_from_files (g_test_get_filename (G_TEST_DIST, "cert-tests", "cert1.pem", NULL),
|
||||
@@ -274,13 +270,12 @@ from_files (const Reference *ref)
|
||||
|
||||
g_object_get (cert,
|
||||
"certificate-pem", &parsed_cert_pem,
|
||||
"private-key-pem", &parsed_key_pem,
|
||||
NULL);
|
||||
parsed_key_pem = g_test_tls_connection_get_private_key_pem (cert);
|
||||
g_assert_cmpstr (parsed_cert_pem, ==, ref->cert_pems[0]);
|
||||
g_free (parsed_cert_pem);
|
||||
parsed_cert_pem = NULL;
|
||||
g_clear_pointer (&parsed_cert_pem, g_free);
|
||||
g_assert_cmpstr (parsed_key_pem, ==, ref->key_pem);
|
||||
parsed_key_pem = NULL;
|
||||
g_clear_pointer (&parsed_key_pem, g_free);
|
||||
|
||||
g_object_unref (cert);
|
||||
|
||||
@@ -332,7 +327,7 @@ from_files_crlf (const Reference *ref)
|
||||
{
|
||||
GTlsCertificate *cert;
|
||||
gchar *parsed_cert_pem = NULL;
|
||||
const gchar *parsed_key_pem = NULL;
|
||||
gchar *parsed_key_pem = NULL;
|
||||
GError *error = NULL;
|
||||
|
||||
cert = g_tls_certificate_new_from_files (g_test_get_filename (G_TEST_DIST, "cert-tests", "cert-crlf.pem", NULL),
|
||||
@@ -343,13 +338,12 @@ from_files_crlf (const Reference *ref)
|
||||
|
||||
g_object_get (cert,
|
||||
"certificate-pem", &parsed_cert_pem,
|
||||
"private-key-pem", &parsed_key_pem,
|
||||
NULL);
|
||||
parsed_key_pem = g_test_tls_connection_get_private_key_pem (cert);
|
||||
g_assert_cmpstr (parsed_cert_pem, ==, ref->cert_crlf_pem);
|
||||
g_free (parsed_cert_pem);
|
||||
parsed_cert_pem = NULL;
|
||||
g_clear_pointer (&parsed_cert_pem, g_free);
|
||||
g_assert_cmpstr (parsed_key_pem, ==, ref->key_crlf_pem);
|
||||
parsed_key_pem = NULL;
|
||||
g_clear_pointer (&parsed_key_pem, g_free);
|
||||
|
||||
g_object_unref (cert);
|
||||
}
|
||||
@@ -359,7 +353,7 @@ from_files_pkcs8 (const Reference *ref)
|
||||
{
|
||||
GTlsCertificate *cert;
|
||||
gchar *parsed_cert_pem = NULL;
|
||||
const gchar *parsed_key_pem = NULL;
|
||||
gchar *parsed_key_pem = NULL;
|
||||
GError *error = NULL;
|
||||
|
||||
cert = g_tls_certificate_new_from_files (g_test_get_filename (G_TEST_DIST, "cert-tests", "cert1.pem", NULL),
|
||||
@@ -370,13 +364,12 @@ from_files_pkcs8 (const Reference *ref)
|
||||
|
||||
g_object_get (cert,
|
||||
"certificate-pem", &parsed_cert_pem,
|
||||
"private-key-pem", &parsed_key_pem,
|
||||
NULL);
|
||||
parsed_key_pem = g_test_tls_connection_get_private_key_pem (cert);
|
||||
g_assert_cmpstr (parsed_cert_pem, ==, ref->cert_pems[0]);
|
||||
g_free (parsed_cert_pem);
|
||||
parsed_cert_pem = NULL;
|
||||
g_clear_pointer (&parsed_cert_pem, g_free);
|
||||
g_assert_cmpstr (parsed_key_pem, ==, ref->key8_pem);
|
||||
parsed_key_pem = NULL;
|
||||
g_clear_pointer (&parsed_key_pem, g_free);
|
||||
|
||||
g_object_unref (cert);
|
||||
}
|
||||
|
Reference in New Issue
Block a user