1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-25 05:47:35 +00:00

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
2 changed files with 5 additions and 4 deletions

View file

@ -26,12 +26,13 @@
#pragma once #pragma once
#include <AK/Span.h>
#include <LibCrypto/ASN1/ASN1.h> #include <LibCrypto/ASN1/ASN1.h>
#include <LibCrypto/ASN1/DER.h> #include <LibCrypto/ASN1/DER.h>
namespace Crypto { 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 i { 0 };
size_t start_at { 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--; cert_index--;
start_at = 0; start_at = 0;
} else { } 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; break;
} }
} else } 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) void RSA::import_private_key(const ByteBuffer& buffer, bool pem)
{ {
// so gods help me, I hate DER // 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()); auto key = parse_rsa_key(decoded_buffer.span());
if (!key.private_key.length()) { if (!key.private_key.length()) {
dbg() << "We expected to see a private key, but we found none"; 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) void RSA::import_public_key(const ByteBuffer& buffer, bool pem)
{ {
// so gods help me, I hate DER // 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()); auto key = parse_rsa_key(decoded_buffer.span());
if (!key.public_key.length()) { if (!key.public_key.length()) {
dbg() << "We expected to see a public key, but we found none"; dbg() << "We expected to see a public key, but we found none";