Class SecureSetup


  • public class SecureSetup
    extends ServerSetup
    Describes a secure setup.
    Author:
    Holger Eichelberger, SSE
    • Constructor Summary

      Constructors 
      Constructor Description
      SecureSetup​(java.lang.String path, int tcpPort, int httpsPort)
      Creates a server setup instance.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void configureCommonEndpointBuilder​(org.eclipse.milo.opcua.stack.server.EndpointConfiguration.Builder builder)
      Configures the common endpoint builder used as basis for the following endpoint builders below.
      org.eclipse.milo.opcua.stack.server.EndpointConfiguration.Builder configureHttpsEndpointBuilder​(org.eclipse.milo.opcua.stack.server.EndpointConfiguration.Builder builder)
      Configures the HTTPS builder on usual non-discovery endpoints.
      org.eclipse.milo.opcua.stack.server.EndpointConfiguration.Builder configureNoSecurityBuilder​(org.eclipse.milo.opcua.stack.server.EndpointConfiguration.Builder builder)
      Configures the no-security builder on usual non-discovery endpoints.
      void configureServerBuilder​(org.eclipse.milo.opcua.sdk.server.api.config.OpcUaServerConfigBuilder builder)
      Configures the server builder.
      org.eclipse.milo.opcua.stack.server.EndpointConfiguration.Builder configureTcpEndpointBuilder​(org.eclipse.milo.opcua.stack.server.EndpointConfiguration.Builder builder)
      Configures the TCP builder on usual non-discovery endpoints.
      de.iip_ecosphere.platform.connectors.ConnectorParameter getConnectorParameter()
      Returns the connector parameter for setting up a corresponding connector.
      java.lang.String initializeApplication()
      Initializes the application.
      private void setupClient()
      Sets up the temporary (self-signed) client certificates.
      private void setupServer()
      Sets up the temporary (self-signed) server certificates.
      void shutdownApplication()
      Shuts down the application to clean up resources if needed.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • securityTempDir

        private java.io.File securityTempDir
      • certificate

        private java.security.cert.X509Certificate certificate
      • certificateManager

        private org.eclipse.milo.opcua.stack.core.security.DefaultCertificateManager certificateManager
      • trustListManager

        private org.eclipse.milo.opcua.stack.core.security.DefaultTrustListManager trustListManager
      • certificateValidator

        private org.eclipse.milo.opcua.stack.server.security.DefaultServerCertificateValidator certificateValidator
      • httpsKeyPair

        private java.security.KeyPair httpsKeyPair
      • httpsCertificate

        private java.security.cert.X509Certificate httpsCertificate
      • x509IdentityValidator

        private org.eclipse.milo.opcua.sdk.server.identity.X509IdentityValidator x509IdentityValidator
      • applicationUri

        private java.lang.String applicationUri
      • identityValidator

        private org.eclipse.milo.opcua.sdk.server.identity.IdentityValidator<java.lang.String> identityValidator
      • clientCertificate

        private java.security.cert.X509Certificate clientCertificate
      • clientKeyPair

        private java.security.KeyPair clientKeyPair
    • Constructor Detail

      • SecureSetup

        public SecureSetup​(java.lang.String path,
                           int tcpPort,
                           int httpsPort)
        Creates a server setup instance.
        Parameters:
        path - the URL path on the endpoints (no trailing slash)
        tcpPort - the TCP port to serve
        httpsPort - the HTTPS port to serve (although not secured)
    • Method Detail

      • initializeApplication

        public java.lang.String initializeApplication()
                                               throws java.util.concurrent.ExecutionException
        Description copied from class: ServerSetup
        Initializes the application.
        Specified by:
        initializeApplication in class ServerSetup
        Returns:
        the application URL
        Throws:
        java.util.concurrent.ExecutionException - if initializing the application fails
      • setupServer

        private void setupServer()
                          throws java.util.concurrent.ExecutionException
        Sets up the temporary (self-signed) server certificates.
        Throws:
        java.util.concurrent.ExecutionException - if generating/obtaining the certificates fails
      • setupClient

        private void setupClient()
                          throws java.util.concurrent.ExecutionException
        Sets up the temporary (self-signed) client certificates. To be called after setupServer().
        Throws:
        java.util.concurrent.ExecutionException - if generating/obtaining the certificates fails
      • shutdownApplication

        public void shutdownApplication()
                                 throws java.util.concurrent.ExecutionException
        Description copied from class: ServerSetup
        Shuts down the application to clean up resources if needed.
        Specified by:
        shutdownApplication in class ServerSetup
        Throws:
        java.util.concurrent.ExecutionException - if shutdown fails.
      • configureCommonEndpointBuilder

        public void configureCommonEndpointBuilder​(org.eclipse.milo.opcua.stack.server.EndpointConfiguration.Builder builder)
        Description copied from class: ServerSetup
        Configures the common endpoint builder used as basis for the following endpoint builders below.
        Specified by:
        configureCommonEndpointBuilder in class ServerSetup
        Parameters:
        builder - the builder
      • configureNoSecurityBuilder

        public org.eclipse.milo.opcua.stack.server.EndpointConfiguration.Builder configureNoSecurityBuilder​(org.eclipse.milo.opcua.stack.server.EndpointConfiguration.Builder builder)
        Description copied from class: ServerSetup
        Configures the no-security builder on usual non-discovery endpoints.
        Specified by:
        configureNoSecurityBuilder in class ServerSetup
        Parameters:
        builder - the builder
        Returns:
        builder or null for no such endpoint
      • configureTcpEndpointBuilder

        public org.eclipse.milo.opcua.stack.server.EndpointConfiguration.Builder configureTcpEndpointBuilder​(org.eclipse.milo.opcua.stack.server.EndpointConfiguration.Builder builder)
        Description copied from class: ServerSetup
        Configures the TCP builder on usual non-discovery endpoints.
        Specified by:
        configureTcpEndpointBuilder in class ServerSetup
        Parameters:
        builder - the builder
        Returns:
        builder or null for no such endpoint
      • configureHttpsEndpointBuilder

        public org.eclipse.milo.opcua.stack.server.EndpointConfiguration.Builder configureHttpsEndpointBuilder​(org.eclipse.milo.opcua.stack.server.EndpointConfiguration.Builder builder)
        Description copied from class: ServerSetup
        Configures the HTTPS builder on usual non-discovery endpoints.
        Specified by:
        configureHttpsEndpointBuilder in class ServerSetup
        Parameters:
        builder - the builder
        Returns:
        builder or null for no such endpoint
      • configureServerBuilder

        public void configureServerBuilder​(org.eclipse.milo.opcua.sdk.server.api.config.OpcUaServerConfigBuilder builder)
        Description copied from class: ServerSetup
        Configures the server builder.
        Specified by:
        configureServerBuilder in class ServerSetup
        Parameters:
        builder - the server builder
      • getConnectorParameter

        public de.iip_ecosphere.platform.connectors.ConnectorParameter getConnectorParameter()
        Description copied from class: ServerSetup
        Returns the connector parameter for setting up a corresponding connector. [convenience]
        Specified by:
        getConnectorParameter in class ServerSetup
        Returns:
        the connector parameter instance