Package org.openmuc.jdlms
Class SecuritySuite.SecuritySuiteBuilder
- java.lang.Object
-
- org.openmuc.jdlms.SecuritySuite.SecuritySuiteBuilder
-
- Enclosing class:
- SecuritySuite
public static class SecuritySuite.SecuritySuiteBuilder extends java.lang.Object
-
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description SecuritySuite
build()
Build a security setup.SecuritySuite.SecuritySuiteBuilder
setAuthenticationKey(byte[] key)
Set the authentication key used mainly for authentication.SecuritySuite.SecuritySuiteBuilder
setAuthenticationMechanism(AuthenticationMechanism authenticationMechanism)
Set the authentication level, a client authenticates to a server.SecuritySuite.SecuritySuiteBuilder
setEncryptionMechanism(SecuritySuite.EncryptionMechanism encryptionMechanism)
Set the cryptographic algorithm.SecuritySuite.SecuritySuiteBuilder
setGlobalUnicastEncryptionKey(byte[] key)
Set the global encryption key.SecuritySuite.SecuritySuiteBuilder
setPassword(byte[] password)
Set the password for the authentication level AuthenticationMechanism.LOW.SecuritySuite.SecuritySuiteBuilder
setSecurityPolicy(SecuritySuite.SecurityPolicy securityPolicy)
Set the security policy for the connection.
-
-
-
Method Detail
-
setSecurityPolicy
public SecuritySuite.SecuritySuiteBuilder setSecurityPolicy(SecuritySuite.SecurityPolicy securityPolicy)
Set the security policy for the connection. If this is not set the strongest possible policy is chosen.- Parameters:
securityPolicy
- the security policy for the connection- Returns:
- the instance of the builder.
-
setEncryptionMechanism
public SecuritySuite.SecuritySuiteBuilder setEncryptionMechanism(SecuritySuite.EncryptionMechanism encryptionMechanism)
Set the cryptographic algorithm.Default value is NONE.
- Parameters:
encryptionMechanism
- the encryption algorithm- Returns:
- the instance of the builder.
-
setAuthenticationMechanism
public SecuritySuite.SecuritySuiteBuilder setAuthenticationMechanism(AuthenticationMechanism authenticationMechanism)
Set the authentication level, a client authenticates to a server.NOTE: only AuthenticationMechanism.NONE, AuthenticationMechanism.LOW and AuthenticationMechanism.HLS5_GMAC are supported at the moment.
If AuthenticationMechanism.LOW is set, the password must be set.
If AuthenticationMechanism.HLS5_GMAC is set, the authentication key and the encryption key must be set.Default value is NONE.
- Parameters:
authenticationMechanism
- the authentication mechanism.- Returns:
- the instance of the builder.
-
setGlobalUnicastEncryptionKey
public SecuritySuite.SecuritySuiteBuilder setGlobalUnicastEncryptionKey(byte[] key)
Set the global encryption key.algo table Cryptographic Algorithm Key length (bits) SecuritySuite.EncryptionMechanism.AES_GCM_128 128 - Parameters:
key
- the global unicast encryption key.- Returns:
- the instance of the builder.
-
setPassword
public SecuritySuite.SecuritySuiteBuilder setPassword(byte[] password)
Set the password for the authentication level AuthenticationMechanism.LOW.NOTE: Sets the authentication level to low.
- Parameters:
password
- the password as byte array.- Returns:
- the instance of the builder.
-
setAuthenticationKey
public SecuritySuite.SecuritySuiteBuilder setAuthenticationKey(byte[] key)
Set the authentication key used mainly for authentication.The key must have the correct length for authentication level.
- Parameters:
key
- the authentication key.- Returns:
- the instance of the builder.
-
build
public SecuritySuite build()
Build a security setup.- Returns:
- a new security setup.
-
-