class Core::Platform::SecureChannel

#include <coresslcontext.win.h>

class SecureChannel
{
public:
    // methods

    PROPERTY_CSTRING_BUFFER(128, peerName, PeerName) const;
    SSLResult initialize(StreamBuffer& output, StreamBuffer& input);
    SSLResult shutdown(StreamBuffer& output);

    SSLResult encryptMessage(
        StreamBuffer& output,
        const void* message,
        int messageSize,
        int& bytesProcessed
    );

    SSLResult decryptMessage(
        StreamBuffer& output,
        const void* message,
        int messageSize,
        int& bytesProcessed
    );

    SSLResult decryptMessage(
        StreamBuffer& output,
        StreamBuffer& input,
        int& bytesProcessed
    );
};