]> www.infradead.org Git - users/sagi/nvme-cli.git/commitdiff
nvme: export tls keys honoring version and hmac
authorDaniel Wagner <dwagner@suse.de>
Thu, 24 Oct 2024 13:21:42 +0000 (15:21 +0200)
committerDaniel Wagner <wagi@monom.org>
Mon, 28 Oct 2024 18:38:51 +0000 (19:38 +0100)
Export the keys with the correct encoding scheme.

Signed-off-by: Daniel Wagner <dwagner@suse.de>
nvme.c

diff --git a/nvme.c b/nvme.c
index 5559a8b9dfbe9ec44202e0042c1670035a99e353..9ba59bddd451e5f062838abf9587e086407fa811 100644 (file)
--- a/nvme.c
+++ b/nvme.c
@@ -9411,11 +9411,18 @@ static void __scan_tls_key(long keyring_id, long key_id,
        _cleanup_free_ const unsigned char *key_data = NULL;
        _cleanup_free_ char *encoded_key = NULL;
        int key_len;
+       int ver, hmac;
+       char type;
 
        key_data = nvme_read_key(keyring_id, key_id, &key_len);
        if (!key_data)
                return;
-       encoded_key = nvme_export_tls_key(key_data, key_len);
+
+       if (sscanf(desc, "NVMe%01d%c%02d %*s", &ver, &type, &hmac) != 3)
+               return;
+
+       encoded_key = nvme_export_tls_key_versioned(ver, hmac,
+                                                   key_data, key_len);
        if (!encoded_key)
                return;
        fprintf(fd, "%s %s\n", desc, encoded_key);