nn::ssl::Connection::DoHandshake Member Function

Syntax

nn::Result DoHandshake(
     size_t * pServerCertSize,
     u32 * pServerCertNum = NULL
);

Arguments

Name Description
out pServerCertSize Buffer storing the size of the saved server certificate data.
out pServerCertNum Buffer storing the number of saved server certificates. (This is used to get the number of certificates in the certificate chain if the GET_ALL_SERVER_CERT_CHAIN option is enabled and all certificate data in the server certificate chain has been saved. It can be omitted if the number of certificates is not required. This could be the case, for example, if you are only getting the server certificate.)

Return Values

Returns the function's execution result. Returns one of the Result values listed below.
Value Description
Result::IsSuccess Process was successful.
ResultFailToGetServerCert Because the certificate data's size was bigger than the buffer configured by the SetServerCertBuffer function, not all data was saved. (The connection with the server completed normally, so subsequent communications can proceed.)
ResultIpcSessionErr Error indicating an uninitialized connection. No action performed because the Connection object has not been initialized by a successful call of Initialize.
ResultNotInitializedErr Error indicating that the library is not initialized. None of the functions in this library can be run without first running nn::ssl::Initialize.
A value other than the above Failed for a reason other than those listed above. (The content of the error is the same as the nn::ssl::Connection::DoHandshake function.)

Description

This syntax allows you to receive information about the certificate data that is saved in the save buffer for server certificates that were set using the SetServerCertBuffer function while carrying out SSL handshaking. If the SetServerCertBuffer function has not been called (in other words, if the save buffer for server certificates has not been set), this will behave just like the DoHandshake function.


CONFIDENTIAL