diff --git a/Ryujinx.HLE/HOS/Services/Ssl/ISslService.cs b/Ryujinx.HLE/HOS/Services/Ssl/ISslService.cs index 2f4b93ca2..67656f06d 100644 --- a/Ryujinx.HLE/HOS/Services/Ssl/ISslService.cs +++ b/Ryujinx.HLE/HOS/Services/Ssl/ISslService.cs @@ -17,7 +17,7 @@ namespace Ryujinx.HLE.HOS.Services.Ssl Logger.PrintStub(LogClass.ServiceSsl, new { sslVersion, unknown }); - MakeObject(context, new ISslContext()); + MakeObject(context, new ISslContext(context)); return ResultCode.Success; } diff --git a/Ryujinx.HLE/HOS/Services/Ssl/SslService/ISslContext.cs b/Ryujinx.HLE/HOS/Services/Ssl/SslService/ISslContext.cs index ef7881756..b0c8824ac 100644 --- a/Ryujinx.HLE/HOS/Services/Ssl/SslService/ISslContext.cs +++ b/Ryujinx.HLE/HOS/Services/Ssl/SslService/ISslContext.cs @@ -1,7 +1,27 @@ +using Ryujinx.Common.Logging; +using System; + namespace Ryujinx.HLE.HOS.Services.Ssl.SslService { class ISslContext : IpcService { - public ISslContext() { } + public ISslContext(ServiceCtx context) { } + + [Command(4)] + // ImportServerPki(nn::ssl::sf::CertificateFormat certificateFormat, buffer certificate) -> u64 certificateId + public ResultCode ImportServerPki(ServiceCtx context) + { + int certificateFormat = context.RequestData.ReadInt32(); + long certificateDataPosition = context.Request.SendBuff[0].Position; + long certificateDataSize = context.Request.SendBuff[0].Size; + ulong certificateId = 1; + + context.ResponseData.Write(certificateId); + + Logger.PrintStub(LogClass.ServiceSsl, new { certificateFormat, certificateDataPosition, certificateDataSize }); + + return ResultCode.Success; + } + } -} \ No newline at end of file +}