SSL services: Difference between revisions

No edit summary
No edit summary
Line 140: Line 140:


=== RegisterInternalPki ===
=== RegisterInternalPki ===
Takes an input u32 "nn::ssl::sf::InternalPki", returns an output u64.
Takes an input [[#InternalPki]], returns an output u64.


=== AddPolicyOid ===
=== AddPolicyOid ===
Line 227: Line 227:


==== SetIoMode ====
==== SetIoMode ====
Takes an input u32 "nn::ssl::sf::IoMode", no output.
Takes an input [[#IoMode]], no output.


==== GetSocketDescriptor ====
==== GetSocketDescriptor ====
Line 239: Line 239:


==== GetIoMode ====
==== GetIoMode ====
No input, returns an output u32 "nn::ssl::sf::IoMode".
No input, returns an output [[#IoMode]].


==== DoHandshake ====
==== DoHandshake ====
Line 260: Line 260:


==== Poll ====
==== Poll ====
Takes an input u32 "nn::ssl::sf::PollEvent", an u32, returns an output u32 "nn::ssl::sf::PollEvent".
Takes an input [[#PollEvent]], an u32, returns an output [[#PollEvent]].


==== GetVerifyCertError ====
==== GetVerifyCertError ====
Line 269: Line 269:


==== SetSessionCacheMode ====
==== SetSessionCacheMode ====
Takes an input u32 "nn::ssl::sf::SessionCacheMode", no output.
Takes an input [[#SessionCacheMode]], no output.


==== GetSessionCacheMode ====
==== GetSessionCacheMode ====
No input, returns an output u32 "nn::ssl::sf::SessionCacheMode".
No input, returns an output [[#SessionCacheMode]].


==== FlushSessionCache ====
==== FlushSessionCache ====
Line 278: Line 278:


==== SetRenegotiationMode ====
==== SetRenegotiationMode ====
Takes an input u32 "nn::ssl::sf::RenegotiationMode", no output.
Takes an input [[#RenegotiationMode]], no output.


==== GetRenegotiationMode ====
==== GetRenegotiationMode ====
No input, returns an output u32 "nn::ssl::sf::RenegotiationMode".
No input, returns an output [[#RenegotiationMode]].


==== SetOption ====
==== SetOption ====
Takes an input u8 bool and an u32 "nn::ssl::sf::OptionType", no output.
Takes an input u8 bool and an [[#OptionType]], no output.


==== GetOption ====
==== GetOption ====
Takes an input u32 "nn::ssl::sf::OptionType", returns an output u8 bool.
Takes an input [[#OptionType]], returns an output u8 bool.


==== GetVerifyCertErrors ====
==== GetVerifyCertErrors ====
Line 294: Line 294:
==== GetCipherInfo ====
==== GetCipherInfo ====
Takes an input u32 and a type-0x6 output buffer.
Takes an input u32 and a type-0x6 output buffer.
sdknso uses hard-coded value 0x1 for the u32. The output buffer contains [[#CipherInfo]].


==== SetNextAlpnProto ====
==== SetNextAlpnProto ====
Line 299: Line 301:


==== GetNextAlpnProto ====
==== GetNextAlpnProto ====
Takes a type-0x6 output buffer, returns an output u32 "nn::ssl::sf::AlpnProtoState" and an output u32.
Takes a type-0x6 output buffer, returns an output [[#AlpnProtoState]] and an output u32.


= SslVersion =
= SslVersion =
Line 373: Line 375:
|}
|}


This is the "nn::ssl::CaCertificateId" enum.
This is the "nn::ssl::CaCertificateId" enum. Note: the above is missing the non-Nintendo certs.
 
= InternalPki =
This is the "nn::ssl::sf::InternalPki" / "nn::ssl::Context::InternalPki" enum.


= ContextOption =
= ContextOption =
Line 388: Line 393:


= CertificateFormat =
= CertificateFormat =
This is the "nn::ssl::sf::CertificateFormat" enum.
This is the "nn::ssl::sf::CertificateFormat" / "nn::ssl::CertificateFormat" enum.


= VerifyOption =
= VerifyOption =
This is the "nn::ssl::sf::VerifyOption" enum.
This is the "nn::ssl::sf::VerifyOption" enum.
= IoMode =
This is the "nn::ssl::sf::IoMode" / "nn::ssl::Connection::IoMode" enum.
= PollEvent =
This is the "nn::ssl::sf::PollEvent" / "nn::ssl::Connection::PollEvent" enum.
= SessionCacheMode =
This is the "nn::ssl::sf::SessionCacheMode" / "nn::ssl::Connection::SessionCacheMode" enum.
= RenegotiationMode =
This is the "nn::ssl::sf::RenegotiationMode" / "nn::ssl::Connection::RenegotiationMode" enum.
= OptionType =
This is the "nn::ssl::sf::OptionType" / "nn::ssl::Connection::OptionType" enum.
= AlpnProtoState =
This is the "nn::ssl::sf::AlpnProtoState" / "nn::ssl::Connection::AlpnProtoState" enum.
= CipherInfo =
This is "nn::ssl::Connection::CipherInfo". This is a 0x48-byte struct.


= CertStore =
= CertStore =