All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.openhealthtools.ihe.atna.nodeauth.context.NodeAuthModuleContext Maven / Gradle / Ivy

/*******************************************************************************
 * Copyright (c) 2008 IBM Corporation and others.
 * All rights reserved. This program and the accompanying materials
 * are made available under the terms of the Eclipse Public License v1.0
 * which accompanies this distribution, and is available at
 * http://www.eclipse.org/legal/epl-v10.html
 *
 * Contributors:
 *     IBM Corporation - initial API and implementation
 *******************************************************************************/
package org.openhealthtools.ihe.atna.nodeauth.context;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.openhealthtools.ihe.atna.context.AbstractModuleContext;
import org.openhealthtools.ihe.atna.context.SecurityContext;
import org.openhealthtools.ihe.atna.context.SecurityContextFactory;
import org.openhealthtools.ihe.atna.nodeauth.SecurityDomainManager;
import org.openhealthtools.ihe.atna.nodeauth.SocketHandler;
import org.openhealthtools.ihe.atna.nodeauth.handlers.TLSEnabledSocketHandler;

/**
 * Module context that manages fixed resources and configuration options
 * for the IHE Node Authentication (NA of ATNA) module.  The primary 
 * purpose of this module is to enable the creation of sockets secured
 * using Transport Layer Security (TLS) version 1, also known as 
 * the IHE ITI-19 Node Authentication transaction.
 * 
 * These secured sockets may be non-encrypted (for trusted networks) or 
 * encrypted (for non-trusted networks) using a given set of ciphers.  
 * The most important part is the mutual authentication during socket
 * negotiations, which ensure that a client and its peer are aware 
 * and trust each other using a private key and a set trusted certificates.
 * 
 * The Node Authentication Context manages the following resources in a 
 * global scope:
 * 
    *
  • The Socket Handler (default is a TLS-enabled Socket Handler)
  • *
  • The Security Domain manager and a mapping of URIs to security domain * (default is to use Java System Property-assigned stores for all URIs)
  • *
* * Additionally, the context manages the following configuration settings, * also in a global scope: *
    *
  • Whether TLS security is enabled
  • *
  • Whether non-TLS connections are allowed
  • *
  • The number of times to retry a socket connection
  • *
  • The wait time between socket retries
  • *
  • The socket timeout wait time
  • *
* * @author




© 2015 - 2024 Weber Informatics LLC | Privacy Policy