https-utils

HTTP server security utilities for VOMS proxy support

License

License

GroupId

GroupId

org.italiangrid
ArtifactId

ArtifactId

https-utils
Last Version

Last Version

0.4.0
Release Date

Release Date

Type

Type

jar
Description

Description

https-utils
HTTP server security utilities for VOMS proxy support
Project URL

Project URL

https://github.com/italiangrid/https-utils
Source Code Management

Source Code Management

https://github.com/italiangrid/https-utils

Download https-utils

How to add to project

<!-- https://jarcasting.com/artifacts/org.italiangrid/https-utils/ -->
<dependency>
    <groupId>org.italiangrid</groupId>
    <artifactId>https-utils</artifactId>
    <version>0.4.0</version>
</dependency>
// https://jarcasting.com/artifacts/org.italiangrid/https-utils/
implementation 'org.italiangrid:https-utils:0.4.0'
// https://jarcasting.com/artifacts/org.italiangrid/https-utils/
implementation ("org.italiangrid:https-utils:0.4.0")
'org.italiangrid:https-utils:jar:0.4.0'
<dependency org="org.italiangrid" name="https-utils" rev="0.4.0">
  <artifact name="https-utils" type="jar" />
</dependency>
@Grapes(
@Grab(group='org.italiangrid', module='https-utils', version='0.4.0')
)
libraryDependencies += "org.italiangrid" % "https-utils" % "0.4.0"
[org.italiangrid/https-utils "0.4.0"]

Dependencies

compile (6)

Group / Artifact Type Version
ch.qos.logback : logback-core jar 1.0.9
ch.qos.logback : logback-classic jar 1.0.9
org.eclipse.jetty.aggregate : jetty-all-server jar 8.1.9.v20130131
org.slf4j : slf4j-api jar 1.7.2
org.slf4j : log4j-over-slf4j jar 1.7.2
org.italiangrid : voms-api-java jar 3.1.0

test (1)

Group / Artifact Type Version
junit : junit jar 4.10

Project Modules

There are no modules declared in this project.

Proxy certificate enabled HTTP server and Servlet container

Build Status

Convenience library for getting a Jetty Server configured with an SSL connector that supports proxy certificates (http://www.ietf.org/rfc/rfc3820.txt).

It uses the Java binding of the caNl library developed in the EMI project (http://www.eu-emi.eu/).

Install

This is not yet on a Maven repository. You have to compile and install locally

mvn install

before you can reference it in your Maven projects

<dependency>
  <groupId>org.italiangrid</groupId>
  <artifactId>https-utils</artifactId>
  <version>0.0.1-SNAPSHOT</version>
</dependency>    

Usage

Create an SSLOption object providing the location of the service credentials, and the directory containing the trusted certification authorities

SSLOptions options = new SSLOptions();
options.setCertificateFile("/etc/grid-security/hostcert.pem");
options.setKeyFile("/etc/grid-security/hostkey.pem");
options.setTrustStoreDirectory("/etc/grid-security/certificates");

Then get an org.eclipse.jetty.server.Server object and use it as usual

Server server = ServerFactory.newServer("localhost", 443, options);

s.setHandler(new HelloHandler());

s.start();
s.join();   

The SSLOption class also provides methods for configuring whether client authentication must be requested or required

options.setWantClientAuth(wantClientAuth)
options.setNeedClientAuth(needClientAuth)

and for setting the time interval for refreshing the certification authorities information

options.setTrustStoreRefreshIntervalInMsec(60000L);
org.italiangrid

Italian Grid

Versions

Version
0.4.0
0.3.6
0.3.5.rc1