2014-10-30 02:38:33 +01:00
|
|
|
// Copyright 2014 Citra Emulator Project
|
2014-12-17 06:38:14 +01:00
|
|
|
// Licensed under GPLv2 or any later version
|
2014-10-30 02:38:33 +01:00
|
|
|
// Refer to the license.txt file included.
|
|
|
|
|
|
|
|
#pragma once
|
|
|
|
|
2018-06-22 17:52:24 +02:00
|
|
|
#include <random>
|
2014-10-30 02:38:33 +01:00
|
|
|
#include "core/hle/service/service.h"
|
|
|
|
|
2018-10-05 16:59:43 +02:00
|
|
|
namespace Core {
|
|
|
|
class System;
|
|
|
|
}
|
|
|
|
|
2018-09-22 14:23:08 +02:00
|
|
|
namespace Service::SSL {
|
2014-10-30 02:38:33 +01:00
|
|
|
|
2018-06-22 17:52:24 +02:00
|
|
|
class SSL_C final : public ServiceFramework<SSL_C> {
|
2014-10-30 02:38:33 +01:00
|
|
|
public:
|
2016-12-10 13:51:50 +01:00
|
|
|
SSL_C();
|
2014-12-21 20:52:10 +01:00
|
|
|
|
2018-06-22 17:52:24 +02:00
|
|
|
private:
|
|
|
|
void Initialize(Kernel::HLERequestContext& ctx);
|
|
|
|
void GenerateRandomData(Kernel::HLERequestContext& ctx);
|
|
|
|
|
|
|
|
// TODO: Implement a proper CSPRNG in the future when actual security is needed
|
|
|
|
std::mt19937 rand_gen;
|
2014-10-30 02:38:33 +01:00
|
|
|
};
|
|
|
|
|
2018-10-05 16:59:43 +02:00
|
|
|
void InstallInterfaces(Core::System& system);
|
2018-06-22 17:52:24 +02:00
|
|
|
|
2018-09-22 14:23:08 +02:00
|
|
|
} // namespace Service::SSL
|