io.stepfunc.dnp3.CertificateMode Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of dnp3 Show documentation
Show all versions of dnp3 Show documentation
Safe and fast DNP3 library
// This library is provided under the terms of a non-commercial license.
//
// Please refer to the source repository for details:
//
// https://github.com/stepfunc/dnp3/blob/master/LICENSE.txt
//
// Please contact Step Function I/O if you are interested in commercial license:
//
// [email protected]
package io.stepfunc.dnp3;
import org.joou.*;
/**
* Determines how the certificate(s) presented by the peer are validated
*
* This validation always occurs **after** the handshake signature has been verified.
*/
public enum CertificateMode
{
/**
* Validates the peer certificate against one or more configured trust anchors
*
* This mode uses the default certificate verifier in `rustls` to ensure that the chain of certificates presented by the peer is valid against one of the configured trust anchors.
*
* The name verification is relaxed to allow for certificates that do not contain the SAN extension. In these cases the name is verified using the Common Name instead.
*/
AUTHORITY_BASED(0),
/**
* Validates that the peer presents a single certificate which is a byte-for-byte match against the configured peer certificate
*
* The certificate is parsed only to ensure that the `NotBefore` and `NotAfter` are valid for the current system time.
*/
SELF_SIGNED(1),;
final private int value;
private CertificateMode(int value)
{
this.value = value;
}
}