Botan

TLS Protocol Version Management

License
Botan is released under the Simplified BSD License (see LICENSE.md)

TLS Protocol Version


this(VersionCode named_version = 0);

Parameters
VersionCode named_version a specific named version of the protocol

this(ubyte major, ubyte minor);

Parameters
ubyte major the major version
ubyte minor the minor version

const bool  valid();

Returns
true if this is a  valid protocol version

const bool  knownVersion();

Returns
true if this is a protocol version we know about

const ubyte  majorVersion();

Returns
major version of the protocol version

const ubyte  minorVersion();

Returns
minor version of the protocol version

const string  toString();

Returns
human-readable description of this version

const TLSProtocolVersion  bestKnownMatch();

If this version is known, return that. Otherwise return the best (most recent) version we know of.

Returns
best matching protocol version

const bool  isDatagramProtocol();

Returns
true iff this is a DTLS version

Returns
true if this version supports negotiable signature algorithms

const bool  supportsExplicitCbcIvs();

Returns
true if this version uses explicit IVs for block ciphers

Returns
true if this version uses a ciphersuite specific PRF

const bool  opEquals(in TLSProtocolVersion other);

Returns
if this version is equal to other

const int  opCmp(in TLSProtocolVersion other);

Returns
if this version is not equal to other

const bool  opEquals(in ushort other);

Returns
if this version is equal to other

const int  opCmp(in ushort other);

Returns
if this version is not equal to other

const bool  isGreaterThan(in TLSProtocolVersion other);

Returns
if this version is later than other