LibCrypto: Change the signature of decode_pem to use Span.

This commit is contained in:
asynts 2020-07-27 15:20:27 +02:00 committed by Andreas Kling
parent 0d782e1dfb
commit 3de4e08b46
Notes: sideshowbarker 2024-07-19 04:32:23 +09:00
2 changed files with 5 additions and 4 deletions

View file

@ -26,12 +26,13 @@
#pragma once
#include <AK/Span.h>
#include <LibCrypto/ASN1/ASN1.h>
#include <LibCrypto/ASN1/DER.h>
namespace Crypto {
static ByteBuffer decode_pem(const ByteBuffer& data_in, size_t cert_index = 0)
static ByteBuffer decode_pem(ReadonlyBytes data_in, size_t cert_index = 0)
{
size_t i { 0 };
size_t start_at { 0 };
@ -61,7 +62,7 @@ static ByteBuffer decode_pem(const ByteBuffer& data_in, size_t cert_index = 0)
cert_index--;
start_at = 0;
} else {
idx = decode_b64(data_in.offset_pointer(start_at), end_idx - start_at, output);
idx = decode_b64(data_in.offset(start_at), end_idx - start_at, output);
break;
}
} else

View file

@ -166,7 +166,7 @@ void RSA::verify(const ByteBuffer& in, ByteBuffer& out)
void RSA::import_private_key(const ByteBuffer& buffer, bool pem)
{
// so gods help me, I hate DER
auto decoded_buffer = pem ? decode_pem(buffer) : buffer;
auto decoded_buffer = pem ? decode_pem(buffer.span()) : buffer;
auto key = parse_rsa_key(decoded_buffer.span());
if (!key.private_key.length()) {
dbg() << "We expected to see a private key, but we found none";
@ -178,7 +178,7 @@ void RSA::import_private_key(const ByteBuffer& buffer, bool pem)
void RSA::import_public_key(const ByteBuffer& buffer, bool pem)
{
// so gods help me, I hate DER
auto decoded_buffer = pem ? decode_pem(buffer) : buffer;
auto decoded_buffer = pem ? decode_pem(buffer.span()) : buffer;
auto key = parse_rsa_key(decoded_buffer.span());
if (!key.public_key.length()) {
dbg() << "We expected to see a public key, but we found none";