mirror of
https://git.h3cjp.net/H3cJP/citra.git
synced 2024-12-29 06:36:41 +00:00
Merge pull request #6301 from Morph1984/ssl-ImportClientPki
ssl: Stub Import(Client/Server)Pki
This commit is contained in:
commit
e12ee020e7
|
@ -10,6 +10,11 @@
|
||||||
|
|
||||||
namespace Service::SSL {
|
namespace Service::SSL {
|
||||||
|
|
||||||
|
enum class CertificateFormat : u32 {
|
||||||
|
Pem = 1,
|
||||||
|
Der = 2,
|
||||||
|
};
|
||||||
|
|
||||||
class ISslConnection final : public ServiceFramework<ISslConnection> {
|
class ISslConnection final : public ServiceFramework<ISslConnection> {
|
||||||
public:
|
public:
|
||||||
explicit ISslConnection(Core::System& system_) : ServiceFramework{system_, "ISslConnection"} {
|
explicit ISslConnection(Core::System& system_) : ServiceFramework{system_, "ISslConnection"} {
|
||||||
|
@ -58,8 +63,8 @@ public:
|
||||||
{1, nullptr, "GetOption"},
|
{1, nullptr, "GetOption"},
|
||||||
{2, &ISslContext::CreateConnection, "CreateConnection"},
|
{2, &ISslContext::CreateConnection, "CreateConnection"},
|
||||||
{3, nullptr, "GetConnectionCount"},
|
{3, nullptr, "GetConnectionCount"},
|
||||||
{4, nullptr, "ImportServerPki"},
|
{4, &ISslContext::ImportServerPki, "ImportServerPki"},
|
||||||
{5, nullptr, "ImportClientPki"},
|
{5, &ISslContext::ImportClientPki, "ImportClientPki"},
|
||||||
{6, nullptr, "RemoveServerPki"},
|
{6, nullptr, "RemoveServerPki"},
|
||||||
{7, nullptr, "RemoveClientPki"},
|
{7, nullptr, "RemoveClientPki"},
|
||||||
{8, nullptr, "RegisterInternalPki"},
|
{8, nullptr, "RegisterInternalPki"},
|
||||||
|
@ -94,6 +99,39 @@ private:
|
||||||
rb.Push(RESULT_SUCCESS);
|
rb.Push(RESULT_SUCCESS);
|
||||||
rb.PushIpcInterface<ISslConnection>(system);
|
rb.PushIpcInterface<ISslConnection>(system);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void ImportServerPki(Kernel::HLERequestContext& ctx) {
|
||||||
|
IPC::RequestParser rp{ctx};
|
||||||
|
const auto certificate_format = rp.PopEnum<CertificateFormat>();
|
||||||
|
const auto pkcs_12_certificates = ctx.ReadBuffer(0);
|
||||||
|
|
||||||
|
constexpr u64 server_id = 0;
|
||||||
|
|
||||||
|
LOG_WARNING(Service_SSL, "(STUBBED) called, certificate_format={}", certificate_format);
|
||||||
|
|
||||||
|
IPC::ResponseBuilder rb{ctx, 4};
|
||||||
|
rb.Push(RESULT_SUCCESS);
|
||||||
|
rb.Push(server_id);
|
||||||
|
}
|
||||||
|
|
||||||
|
void ImportClientPki(Kernel::HLERequestContext& ctx) {
|
||||||
|
const auto pkcs_12_certificate = ctx.ReadBuffer(0);
|
||||||
|
const auto ascii_password = [&ctx] {
|
||||||
|
if (ctx.CanReadBuffer(1)) {
|
||||||
|
return ctx.ReadBuffer(1);
|
||||||
|
}
|
||||||
|
|
||||||
|
return std::vector<u8>{};
|
||||||
|
}();
|
||||||
|
|
||||||
|
constexpr u64 client_id = 0;
|
||||||
|
|
||||||
|
LOG_WARNING(Service_SSL, "(STUBBED) called");
|
||||||
|
|
||||||
|
IPC::ResponseBuilder rb{ctx, 2};
|
||||||
|
rb.Push(RESULT_SUCCESS);
|
||||||
|
rb.Push(client_id);
|
||||||
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
class SSL final : public ServiceFramework<SSL> {
|
class SSL final : public ServiceFramework<SSL> {
|
||||||
|
|
Loading…
Reference in a new issue