From 9754c2830cd62f0665c9d2783e8a82ca8c5edd9a Mon Sep 17 00:00:00 2001 From: Muki Kiboigo Date: Wed, 4 Mar 2026 05:59:02 -0800 Subject: [PATCH] simplify parsePemPrivateKey --- src/browser/WebBotAuth.zig | 13 +------------ 1 file changed, 1 insertion(+), 12 deletions(-) diff --git a/src/browser/WebBotAuth.zig b/src/browser/WebBotAuth.zig index e53ecbf5..f9f9ba7d 100644 --- a/src/browser/WebBotAuth.zig +++ b/src/browser/WebBotAuth.zig @@ -41,20 +41,9 @@ fn parsePemPrivateKey(pem: []const u8) !*crypto.EVP_PKEY { const b64 = std.mem.trim(u8, pem[start_idx + begin.len .. end_idx], &std.ascii.whitespace); - // Ed25519 PKCS#8 DER is always 48 bytes, which base64-encodes to exactly 64 chars - var clean: [64]u8 = undefined; - var clean_len: usize = 0; - for (b64) |ch| { - if (ch != '\n' and ch != '\r') { - clean[clean_len] = ch; - clean_len += 1; - } - } - // decode base64 into 48-byte DER buffer var der: [48]u8 = undefined; - const decoded_len = try std.base64.standard.Decoder.calcSizeForSlice(clean[0..clean_len]); - try std.base64.standard.Decoder.decode(der[0..decoded_len], clean[0..clean_len]); + try std.base64.standard.Decoder.decode(der[0..48], b64); // Ed25519 PKCS#8 structure always places the 32-byte raw private key at offset 16. const key_bytes = der[16..48];