From 3cb11ef114461a9e671704fd9dbbc0a28611c023 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Adrien=20B=C3=A9raud?= <adrien.beraud@savoirfairelinux.com>
Date: Fri, 16 Oct 2015 12:44:09 -0400
Subject: [PATCH] crypto: avoid reading key id twice

---
 src/crypto.cpp | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

diff --git a/src/crypto.cpp b/src/crypto.cpp
index 793ed875..b46039aa 100644
--- a/src/crypto.cpp
+++ b/src/crypto.cpp
@@ -724,11 +724,10 @@ generateIdentity(const std::string& name, crypto::Identity ca, unsigned key_leng
 
     // TODO: compute the subject key using the recommended RFC method
     auto pk_id = shared_key->getPublicKey().getId();
-    gnutls_x509_crt_set_subject_key_id(cert, &pk_id, sizeof(pk_id));
+    const std::string& uid_str = pk_id.toString();
 
+    gnutls_x509_crt_set_subject_key_id(cert, &pk_id, sizeof(pk_id));
     gnutls_x509_crt_set_dn_by_oid(cert, GNUTLS_OID_X520_COMMON_NAME, 0, name.data(), name.length());
-
-    const std::string& uid_str = shared_key->getPublicKey().getId().toString();
     gnutls_x509_crt_set_dn_by_oid(cert, GNUTLS_OID_LDAP_UID, 0, uid_str.data(), uid_str.length());
 
     {
-- 
GitLab