mirror of
https://github.com/Lime3DS/Lime3DS
synced 2024-12-27 17:42:40 -06:00
Services/HTTP: Added structures to store both client and server certificates.
This commit is contained in:
parent
1f865fd524
commit
fe5a3d22c5
1 changed files with 23 additions and 0 deletions
|
@ -2,6 +2,7 @@
|
||||||
// Licensed under GPLv2 or any later version
|
// Licensed under GPLv2 or any later version
|
||||||
// Refer to the license.txt file included.
|
// Refer to the license.txt file included.
|
||||||
|
|
||||||
|
#include <vector>
|
||||||
#include "core/hle/ipc_helpers.h"
|
#include "core/hle/ipc_helpers.h"
|
||||||
#include "core/hle/kernel/ipc.h"
|
#include "core/hle/kernel/ipc.h"
|
||||||
#include "core/hle/service/http_c.h"
|
#include "core/hle/service/http_c.h"
|
||||||
|
@ -9,6 +10,28 @@
|
||||||
namespace Service {
|
namespace Service {
|
||||||
namespace HTTP {
|
namespace HTTP {
|
||||||
|
|
||||||
|
/// Represents a client certificate along with its private key, stored as a byte array of DER data.
|
||||||
|
/// There can only be at most one client certificate context attached to an HTTP context at any
|
||||||
|
/// given time.
|
||||||
|
struct ClientCertContext {
|
||||||
|
u32 handle;
|
||||||
|
std::vector<u8> certificate;
|
||||||
|
std::vector<u8> private_key;
|
||||||
|
};
|
||||||
|
|
||||||
|
/// Represents a root certificate chain, it contains a list of DER-encoded certificates for
|
||||||
|
/// verifying HTTP requests. An HTTP context can have at most one root certificate chain attached to
|
||||||
|
/// it, but the chain may contain an arbitrary number of certificates in it.
|
||||||
|
struct RootCertChain {
|
||||||
|
struct RootCACert {
|
||||||
|
u32 handle;
|
||||||
|
std::vector<u8> certificate;
|
||||||
|
};
|
||||||
|
|
||||||
|
u32 handle;
|
||||||
|
std::vector<RootCACert> certificates;
|
||||||
|
};
|
||||||
|
|
||||||
void HTTP_C::Initialize(Kernel::HLERequestContext& ctx) {
|
void HTTP_C::Initialize(Kernel::HLERequestContext& ctx) {
|
||||||
IPC::RequestParser rp(ctx, 0x1, 1, 4);
|
IPC::RequestParser rp(ctx, 0x1, 1, 4);
|
||||||
const u32 shmem_size = rp.Pop<u32>();
|
const u32 shmem_size = rp.Pop<u32>();
|
||||||
|
|
Loading…
Reference in a new issue