mirror of
https://gitlab.gnome.org/GNOME/glib.git
synced 2025-04-22 07:09:16 +02:00
gtlscertificate: Add certificate-bytes and private-key-bytes props
* These properties contain the same data as certificate and private-key, but as GBytes https://bugzilla.gnome.org/show_bug.cgi?id=681319
This commit is contained in:
parent
69dd29296e
commit
541c985869
@ -105,8 +105,10 @@ enum
|
|||||||
PROP_CERTIFICATE_0,
|
PROP_CERTIFICATE_0,
|
||||||
|
|
||||||
PROP_CERT_CERTIFICATE,
|
PROP_CERT_CERTIFICATE,
|
||||||
|
PROP_CERT_CERTIFICATE_BYTES,
|
||||||
PROP_CERT_CERTIFICATE_PEM,
|
PROP_CERT_CERTIFICATE_PEM,
|
||||||
PROP_CERT_PRIVATE_KEY,
|
PROP_CERT_PRIVATE_KEY,
|
||||||
|
PROP_CERT_PRIVATE_KEY_BYTES,
|
||||||
PROP_CERT_PRIVATE_KEY_PEM,
|
PROP_CERT_PRIVATE_KEY_PEM,
|
||||||
PROP_CERT_ISSUER
|
PROP_CERT_ISSUER
|
||||||
};
|
};
|
||||||
@ -148,8 +150,10 @@ g_dummy_tls_certificate_class_init (GDummyTlsCertificateClass *certificate_class
|
|||||||
gobject_class->set_property = g_dummy_tls_certificate_set_property;
|
gobject_class->set_property = g_dummy_tls_certificate_set_property;
|
||||||
|
|
||||||
g_object_class_override_property (gobject_class, PROP_CERT_CERTIFICATE, "certificate");
|
g_object_class_override_property (gobject_class, PROP_CERT_CERTIFICATE, "certificate");
|
||||||
|
g_object_class_override_property (gobject_class, PROP_CERT_CERTIFICATE_BYTES, "certificate-bytes");
|
||||||
g_object_class_override_property (gobject_class, PROP_CERT_CERTIFICATE_PEM, "certificate-pem");
|
g_object_class_override_property (gobject_class, PROP_CERT_CERTIFICATE_PEM, "certificate-pem");
|
||||||
g_object_class_override_property (gobject_class, PROP_CERT_PRIVATE_KEY, "private-key");
|
g_object_class_override_property (gobject_class, PROP_CERT_PRIVATE_KEY, "private-key");
|
||||||
|
g_object_class_override_property (gobject_class, PROP_CERT_PRIVATE_KEY_BYTES, "private-key-bytes");
|
||||||
g_object_class_override_property (gobject_class, PROP_CERT_PRIVATE_KEY_PEM, "private-key-pem");
|
g_object_class_override_property (gobject_class, PROP_CERT_PRIVATE_KEY_PEM, "private-key-pem");
|
||||||
g_object_class_override_property (gobject_class, PROP_CERT_ISSUER, "issuer");
|
g_object_class_override_property (gobject_class, PROP_CERT_ISSUER, "issuer");
|
||||||
}
|
}
|
||||||
|
@ -58,8 +58,10 @@ enum
|
|||||||
PROP_0,
|
PROP_0,
|
||||||
|
|
||||||
PROP_CERTIFICATE,
|
PROP_CERTIFICATE,
|
||||||
|
PROP_CERTIFICATE_BYTES,
|
||||||
PROP_CERTIFICATE_PEM,
|
PROP_CERTIFICATE_PEM,
|
||||||
PROP_PRIVATE_KEY,
|
PROP_PRIVATE_KEY,
|
||||||
|
PROP_PRIVATE_KEY_BYTES,
|
||||||
PROP_PRIVATE_KEY_PEM,
|
PROP_PRIVATE_KEY_PEM,
|
||||||
PROP_ISSUER
|
PROP_ISSUER
|
||||||
};
|
};
|
||||||
@ -99,8 +101,9 @@ g_tls_certificate_class_init (GTlsCertificateClass *class)
|
|||||||
* GTlsCertificate:certificate:
|
* GTlsCertificate:certificate:
|
||||||
*
|
*
|
||||||
* The DER (binary) encoded representation of the certificate.
|
* The DER (binary) encoded representation of the certificate.
|
||||||
* This property and the #GTlsCertificate:certificate-pem property
|
* This property and the #GTlsCertificate:certificate-bytes contain
|
||||||
* represent the same data, just in different forms.
|
* the same data. The #GTlsCertificate:certificate-pem property
|
||||||
|
* represents the same data, just in different forms.
|
||||||
*
|
*
|
||||||
* Since: 2.28
|
* Since: 2.28
|
||||||
*/
|
*/
|
||||||
@ -112,12 +115,30 @@ g_tls_certificate_class_init (GTlsCertificateClass *class)
|
|||||||
G_PARAM_READWRITE |
|
G_PARAM_READWRITE |
|
||||||
G_PARAM_CONSTRUCT_ONLY |
|
G_PARAM_CONSTRUCT_ONLY |
|
||||||
G_PARAM_STATIC_STRINGS));
|
G_PARAM_STATIC_STRINGS));
|
||||||
|
/**
|
||||||
|
* GTlsCertificate:certificate-bytes:
|
||||||
|
*
|
||||||
|
* The DER (binary) encoded representation of the certificate as
|
||||||
|
* a #GBytes. The #GTlsCertificate:certificate property contains
|
||||||
|
* the same data. The #GTlsCertificate:certificate-pem property
|
||||||
|
* contains the same data as this property in a different form.
|
||||||
|
*
|
||||||
|
* Since: 2.34
|
||||||
|
*/
|
||||||
|
g_object_class_install_property (gobject_class, PROP_CERTIFICATE_BYTES,
|
||||||
|
g_param_spec_boxed ("certificate-bytes",
|
||||||
|
P_("Certificate Bytes"),
|
||||||
|
P_("The DER representation of the certificate"),
|
||||||
|
G_TYPE_BYTES,
|
||||||
|
G_PARAM_READWRITE |
|
||||||
|
G_PARAM_CONSTRUCT_ONLY |
|
||||||
|
G_PARAM_STATIC_STRINGS));
|
||||||
/**
|
/**
|
||||||
* GTlsCertificate:certificate-pem:
|
* GTlsCertificate:certificate-pem:
|
||||||
*
|
*
|
||||||
* The PEM (ASCII) encoded representation of the certificate.
|
* The PEM (ASCII) encoded representation of the certificate.
|
||||||
* This property and the #GTlsCertificate:certificate
|
* The #GTlsCertificate:certificate and #GTlsCertificate:certificate-bytes
|
||||||
* property represent the same data, just in different forms.
|
* properties represent the same data, just in a different form.
|
||||||
*
|
*
|
||||||
* Since: 2.28
|
* Since: 2.28
|
||||||
*/
|
*/
|
||||||
@ -152,6 +173,23 @@ g_tls_certificate_class_init (GTlsCertificateClass *class)
|
|||||||
G_PARAM_WRITABLE |
|
G_PARAM_WRITABLE |
|
||||||
G_PARAM_CONSTRUCT_ONLY |
|
G_PARAM_CONSTRUCT_ONLY |
|
||||||
G_PARAM_STATIC_STRINGS));
|
G_PARAM_STATIC_STRINGS));
|
||||||
|
/**
|
||||||
|
* GTlsCertificate:private-key-bytes:
|
||||||
|
*
|
||||||
|
* The DER (binary) encoded representation of the certificate's
|
||||||
|
* private key. This property and the #GtlsCertificate:private-key
|
||||||
|
* property contain the same data.
|
||||||
|
*
|
||||||
|
* Since: 2.34
|
||||||
|
*/
|
||||||
|
g_object_class_install_property (gobject_class, PROP_PRIVATE_KEY_BYTES,
|
||||||
|
g_param_spec_boxed ("private-key-bytes",
|
||||||
|
P_("Private key bytes"),
|
||||||
|
P_("The DER representation of the certificate's private key"),
|
||||||
|
G_TYPE_BYTES,
|
||||||
|
G_PARAM_WRITABLE |
|
||||||
|
G_PARAM_CONSTRUCT_ONLY |
|
||||||
|
G_PARAM_STATIC_STRINGS));
|
||||||
/**
|
/**
|
||||||
* GTlsCertificate:private-key-pem:
|
* GTlsCertificate:private-key-pem:
|
||||||
*
|
*
|
||||||
@ -579,20 +617,19 @@ gboolean
|
|||||||
g_tls_certificate_is_same (GTlsCertificate *cert_one,
|
g_tls_certificate_is_same (GTlsCertificate *cert_one,
|
||||||
GTlsCertificate *cert_two)
|
GTlsCertificate *cert_two)
|
||||||
{
|
{
|
||||||
GByteArray *b1, *b2;
|
GBytes *b1, *b2;
|
||||||
gboolean equal;
|
gboolean equal;
|
||||||
|
|
||||||
g_return_val_if_fail (G_IS_TLS_CERTIFICATE (cert_one), FALSE);
|
g_return_val_if_fail (G_IS_TLS_CERTIFICATE (cert_one), FALSE);
|
||||||
g_return_val_if_fail (G_IS_TLS_CERTIFICATE (cert_two), FALSE);
|
g_return_val_if_fail (G_IS_TLS_CERTIFICATE (cert_two), FALSE);
|
||||||
|
|
||||||
g_object_get (cert_one, "certificate", &b1, NULL);
|
g_object_get (cert_one, "certificate-bytes", &b1, NULL);
|
||||||
g_object_get (cert_two, "certificate", &b2, NULL);
|
g_object_get (cert_two, "certificate-bytes", &b2, NULL);
|
||||||
|
|
||||||
equal = (b1->len == b2->len &&
|
equal = g_bytes_equal (b1, b2);
|
||||||
memcmp (b1->data, b2->data, b1->len) == 0);
|
|
||||||
|
|
||||||
g_byte_array_unref (b1);
|
g_bytes_unref (b1);
|
||||||
g_byte_array_unref (b2);
|
g_bytes_unref (b2);
|
||||||
|
|
||||||
return equal;
|
return equal;
|
||||||
}
|
}
|
||||||
|
@ -81,8 +81,10 @@ enum
|
|||||||
PROP_CERTIFICATE_0,
|
PROP_CERTIFICATE_0,
|
||||||
|
|
||||||
PROP_CERT_CERTIFICATE,
|
PROP_CERT_CERTIFICATE,
|
||||||
|
PROP_CERT_CERTIFICATE_BYTES,
|
||||||
PROP_CERT_CERTIFICATE_PEM,
|
PROP_CERT_CERTIFICATE_PEM,
|
||||||
PROP_CERT_PRIVATE_KEY,
|
PROP_CERT_PRIVATE_KEY,
|
||||||
|
PROP_CERT_PRIVATE_KEY_BYTES,
|
||||||
PROP_CERT_PRIVATE_KEY_PEM,
|
PROP_CERT_PRIVATE_KEY_PEM,
|
||||||
PROP_CERT_ISSUER
|
PROP_CERT_ISSUER
|
||||||
};
|
};
|
||||||
@ -133,7 +135,9 @@ g_test_tls_certificate_set_property (GObject *object,
|
|||||||
cert->key_pem = g_value_dup_string (value);
|
cert->key_pem = g_value_dup_string (value);
|
||||||
break;
|
break;
|
||||||
case PROP_CERT_CERTIFICATE:
|
case PROP_CERT_CERTIFICATE:
|
||||||
|
case PROP_CERT_CERTIFICATE_BYTES:
|
||||||
case PROP_CERT_PRIVATE_KEY:
|
case PROP_CERT_PRIVATE_KEY:
|
||||||
|
case PROP_CERT_PRIVATE_KEY_BYTES:
|
||||||
case PROP_CERT_ISSUER:
|
case PROP_CERT_ISSUER:
|
||||||
/* ignore */
|
/* ignore */
|
||||||
break;
|
break;
|
||||||
@ -162,8 +166,10 @@ g_test_tls_certificate_class_init (GTestTlsCertificateClass *certificate_class)
|
|||||||
gobject_class->finalize = g_test_tls_certificate_finalize;
|
gobject_class->finalize = g_test_tls_certificate_finalize;
|
||||||
|
|
||||||
g_object_class_override_property (gobject_class, PROP_CERT_CERTIFICATE, "certificate");
|
g_object_class_override_property (gobject_class, PROP_CERT_CERTIFICATE, "certificate");
|
||||||
|
g_object_class_override_property (gobject_class, PROP_CERT_CERTIFICATE_BYTES, "certificate-bytes");
|
||||||
g_object_class_override_property (gobject_class, PROP_CERT_CERTIFICATE_PEM, "certificate-pem");
|
g_object_class_override_property (gobject_class, PROP_CERT_CERTIFICATE_PEM, "certificate-pem");
|
||||||
g_object_class_override_property (gobject_class, PROP_CERT_PRIVATE_KEY, "private-key");
|
g_object_class_override_property (gobject_class, PROP_CERT_PRIVATE_KEY, "private-key");
|
||||||
|
g_object_class_override_property (gobject_class, PROP_CERT_PRIVATE_KEY_BYTES, "private-key-bytes");
|
||||||
g_object_class_override_property (gobject_class, PROP_CERT_PRIVATE_KEY_PEM, "private-key-pem");
|
g_object_class_override_property (gobject_class, PROP_CERT_PRIVATE_KEY_PEM, "private-key-pem");
|
||||||
g_object_class_override_property (gobject_class, PROP_CERT_ISSUER, "issuer");
|
g_object_class_override_property (gobject_class, PROP_CERT_ISSUER, "issuer");
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user