LibCrypto: Change the signature of decode_pem to use Span.
This commit is contained in:
parent
0d782e1dfb
commit
3de4e08b46
Notes:
sideshowbarker
2024-07-19 04:32:23 +09:00
Author: https://github.com/asynts Commit: https://github.com/SerenityOS/serenity/commit/3de4e08b465 Pull-request: https://github.com/SerenityOS/serenity/pull/2903
2 changed files with 5 additions and 4 deletions
|
@ -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
|
||||
|
|
|
@ -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";
|
||||
|
|
Loading…
Add table
Reference in a new issue