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:
parent
0d782e1dfb
commit
3de4e08b46
2 changed files with 5 additions and 4 deletions
|
@ -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
|
||||||
|
|
|
@ -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";
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue