Skip to content

tangyinbo/as2-lib

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

#as2-lib

AS2 is a transport protocol specified in RFC 4130. This library is a fork of OpenAS2 which did not release updates since 2010 (as per August 2015 they are on GitHub at https://github.com/OpenAS2/OpenAs2App). I than split the project into a common library part (this project) and a server part which contains a stand alone server. This project also contains a simple AS2 client which can be used to send messages to other AS2 servers.

This project is used in my following other projects:

  • as2-server - a stand alone AS2 server operating on a socket layer.
  • as2-peppol-client - a stand alone AS2 client that is capable of sending PEPPOL compliant e-Procurement documents.
  • as2-peppol-servlet - integration into the Servlet specifications and for use with the PEPPOL transport infrastructure including SBDH (Standard Business Document Header) handling.
  • as2-peppol-server - a stand alone Servlet based server to receive PEPPOL AS2 messages.

Versions <= 1.1.0 are compatible with ph-commons < 6.0.

Versions >= 2.0.0 are compatible with ph-commons >= 6.0.

This project is licensed under the FreeBSD License.

#News and noteworthy

  • 2015-08-20 Version 2.1.0 fixes a problem that implicitly SHA-1 was always used for signing, no matter what you specify. Also compression according to RFC 5402 is now supported.

#Maven usage Add the following to your pom.xml to use this artifact:

<dependency>
  <groupId>com.helger</groupId>
  <artifactId>as2-lib</artifactId>
  <version>2.1.0</version>
</dependency>

#Package structure This library manages the package com.helger.as2lib and all sub-packages:

  • com.helger.as2lib - contains the global AS2 settings
  • com.helger.as2lib.cert - contains the certificate factory
  • com.helger.as2lib.client - contains the AS2 client for sending messages
  • com.helger.as2lib.crypto - contains the BouncyCastle crypto code for signing, verification, encryption and decryption of messages
  • com.helger.as2lib.disposition - contains code to handle content disposition
  • com.helger.as2lib.exception - contains basic exception classes
  • com.helger.as2lib.message - contains the main message and MDN classes
  • com.helger.as2lib.params - generic code that allows for parameterization of certain message related configuration items
  • com.helger.as2lib.partner - contains the partner, partnership and factory code
  • com.helger.as2lib.processor - contains the basic building blocks for processing of messages
  • com.helger.as2lib.processor.module - contains the basic classes for "active" modules (modules that can be started and stopped)
  • com.helger.as2lib.processor.receiver - module for receiving messages
  • com.helger.as2lib.processor.receiver.net - module for receiving messages from Sockets
  • com.helger.as2lib.processor.resender - module for re-sending messages
  • com.helger.as2lib.processor.sender - module for sending messages
  • com.helger.as2lib.processor.storage - module for storing messages
  • com.helger.as2lib.util - contains utility classes used in several places in this library or in derived projects
  • com.helger.as2lib.util.cert - utility classes for certificate handling
  • com.helger.as2lib.util.http - utility classes for HTTP connection handling
  • com.helger.as2lib.util.javamail - utility classes for javax.mail handling

#Building This project is build with Apache Maven 3.x. Simply call mvn clean install and you will end up with a JAR file in the target directory.

#System Properties The following system properties are available for global customization

  • AS2.useSecureRandom - since 2.1.1 - determine whether the Java SecureRandom should be used or not. On some Unix/Linux systems the initialization of SecureRandom takes forever and this is how you easily disable it (-DAS2.useSecureRandom=false).

On Twitter: Follow @philiphelger

About

Library part of my OpenAS2 fork

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Java 98.1%
  • CSS 1.9%