[gcr: 1/4] gcr: Reverse bit order of usage extension
- From: Daiki Ueno <dueno src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gcr: 1/4] gcr: Reverse bit order of usage extension
- Date: Thu, 18 Jun 2020 07:02:36 +0000 (UTC)
commit f8acf4e720b2d916f0c0d23d6de77802ce6c679c
Author: Christophe Kamphaus <christophe kamphaus jemmic com>
Date: Tue Jun 9 00:44:29 2020 +0200
gcr: Reverse bit order of usage extension
Helps #47
gcr/gcr-certificate-extensions.c | 13 +++++++++++++
1 file changed, 13 insertions(+)
---
diff --git a/gcr/gcr-certificate-extensions.c b/gcr/gcr-certificate-extensions.c
index ab62be6..6c17d09 100644
--- a/gcr/gcr-certificate-extensions.c
+++ b/gcr/gcr-certificate-extensions.c
@@ -147,6 +147,18 @@ _gcr_certificate_extension_subject_key_identifier (GBytes *data,
return result;
}
+static gulong
+_gcr_reverse_bits(gulong num, guint n_bits)
+{
+ gulong reverse_num = 0;
+ guint i;
+ for (i = 0; i < n_bits; i++) {
+ if ((num & (1 << i)))
+ reverse_num |= 1 << ((n_bits - 1) - i);
+ }
+ return reverse_num;
+}
+
gboolean
_gcr_certificate_extension_key_usage (GBytes *data,
gulong *key_usage)
@@ -163,6 +175,7 @@ _gcr_certificate_extension_key_usage (GBytes *data,
ret = egg_asn1x_get_bits_as_ulong (asn, key_usage, &n_bits);
egg_asn1x_destroy (asn);
+ *key_usage = _gcr_reverse_bits(*key_usage, n_bits);
return ret;
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]