EDI Integrator V9 - Online Help
Available for:
EDI Integrator V9
Questions / Feedback?

GISBSender Component

Properties   Methods   Events   Configuration Settings   Errors  

The GISBSender component implements an GISB / EDM client.

Syntax

nsoftware.InEDI.Gisbsender

Remarks

The GISBSender component is used to send EDI or other documents using the GISB (Gas Industry Standards Board) / NAESB (North American Energy Standards Board) EDM (Electronic Delivery Mechanism) protocol.

When sending an EDI message, the client should specify, at a minimum, DataFrom, DataTo, URL, Data, and EDIType. The Post method should then be invoked.

Basic Features: GISB Versions 1.4 and above

Security is provided via the use of PGP. If you want to sign and/or encrypt your message set the SignData and EncryptData properties to true. The component does not itself implement PGP, instead it uses a

The PGP operations may be performed by an external implementation such as GnuPG or an internal implementation within the component. The PGPProviderType setting specifies which implementation is used. This property is only applicable when using an external implementation.

By default the external implementation is used, and component does not by itself implement PGP, instead it uses the provider pattern to interface with external cryptography libraries. A PGP provider is a simple module that allows the component to offload PGP operations to the PGP software of your choice. The interface is designed to be generic in its ability to include various PGP software and is limited to only the bare minimum capabilities required for a GISB message exchange. We include a PGP provider implementation for GnuPG which may be used as a reference to implement other providers.

A PGP provider is simply a class called "IPWorksGISBPGPProvider" that should have the following methods. The component uses reflection to access the methods of the provider.

    public void SetParam(string name, string value);
    public byte[] Encrypt(byte[] data);
    public byte[] Decrypt(byte[] data);
    public byte[] Sign(byte[] data);
    public byte[] SignAndEncrypt(byte[] data);
    public bool VerifySignature(byte[] signature, byte[] signedData);

The SetParam method is used to specify the parameters required by the PGP provider to perform the PGP operation. Although the parameters needed may vary in different providers, we expect the following set to be necessary. The reference GnuPG provider interprets the following parameters.

gpg-pathThe path to the OpenPGP executable for the desired implementation.
homedirThe directory containing the public keyring, secret keyring and trust database. Please note this defaults to the application preferences directory of the user, hence if the GNUPG provider is being used from a ASP.NET application, homedir should be specified.
passphraseThe passphrase to access the secret keys in the secret-keyring.
useridThe identifier used to identify a secret key within the secret-keyring.
recipient-useridThe identifier used to identify a public key within the public keyring.
timeoutThe timeout in milliseconds that the provider will wait for a response from the OpenPGP executable. The default is 5000 (5 seconds).
usetempfileIf set to "true" the provider will write data to be processed to a temporary file on disk. This is useful when working with large files or binary files.

The following parameters are only applicable when sending data and PGPProviderType is set to 1 (internal).

signingalgorithmThe signing algorithm to use when SignData is True. Possible values are:
  • SHA1 (default)
  • MD5
  • SHA256
  • SHA384
  • SHA512
  • SHA224
  • RIPEMD160
encryptingalgorithmThe encrypting algorithm to use when EncryptData is True. Possible values are:
  • CAST5
  • 3DES
  • AES256
  • AES192
  • AES128 (default)
  • BLOWFISH
  • TWOFISH
  • IDEA
compressionmethodThe compression method to use. Possible values are:
  • zip (default)
  • zlib
  • bzip2
  • none

The component expects the encryption to return an ASCII armored output and the signing to compute a detached signature.

Note: GnuPG is the Free Software Foundation's implementation of OpenPGP. It is free software and is recommended by NAESB (in version 1.6 of the EDM specification) for use in GISB/NAESB applications.

GnuPG is not included with this package, so you should download the latest version from http://www.gnupg.org. You might use GnuPG (or other software) to import your trading partners' public keys, and to import or generate a private key for yourself. These operations are outside the scope of this software, so please see the GnuPG documentation for details. to allow you to process the PGP data with a library of your choice.

TLS/SSL will also be used if the scheme in URL is "https". In case your trading partner is using a self-signed certificate you may set SSLAcceptServerCert or trap the SSLServerAuthentication event to accept the certificate.

After you Post the server will issue a brief reply. If the server indicates some sort of an error an exception will be thrown. However, the absence of an error message does not necessarily mean that the server was able to read the EDI data. The server may attempt to process the data after closing the connection; if it finds an error it might send a separate error notification which may be processed by the GISBReceiver component.

Extended Security Options: NAESB Version 1.6

Version 1.6 of the NAESB/GISB protocol includes extensions to allow additional security. Like the AS2 protocol, version 1.6 allows for the use of receipts.

To request a receipt, set the ReceiptTo property. The ReceiptType and ReceiptSecurity properties may be used to customize the receipt request; by default, the component will request a GISB-Acknowledgement-Receipt signed over an SHA-1 hash. The receipt will be returned in the HTTP reply, and will automatically be verified by the component.

Property List


The following is the full list of the properties of the component with short descriptions. Click on the links for further details.

CookiesCollection of cookies.
DataElementsCollection of extra data elements for the outgoing request.
DataFromThe identity of the sending system.
DataToThe identity of the receiving system.
EncryptDataWhether or not to encrypt the data.
FirewallA set of properties related to firewall access.
GISBDataThe EDI Payload of the message.
GISBVersionThe version of GISB/NAESB being used.
LocalHostThe name of the local host or user-assigned IP interface through which connections are initiated or accepted.
LogDirectoryThe path to a directory for logging.
LogFileThe log file written.
PGPProviderThe PGP provider provides an interface to the PGP cryptography software.
ProxyA set of properties related to proxy access.
ReceiptSecurity[1.6] Used to indicate the security options requested for the receipt.
ReceiptSigningProtocol[1.6] Indicates the protocol used to sign the receipt.
ReceiptTo[1.6] Used to request a receipt.
ReceiptType[1.6] The type of receipt requested.
ReplyHeadersThe HTTP headers provided for the Response .
RequestStatusThe status of the request.
ResponseContentThe response returned from the server.
SignDataWhether or not to sign the data.
SSLAcceptServerCertInstructs the component to unconditionally accept the server certificate that matches the supplied certificate.
SSLCertThe certificate to be used during SSL negotiation.
SSLServerCertThe server certificate for the last established connection.
SubjectThe subject of the message.
TimeoutA timeout for the component.
TransactionIdThe transaction ID of the message.
URLThe URL to post to.
UserAgentInformation about the user agent.

Method List


The following is the full list of the methods of the component with short descriptions. Click on the links for further details.

ConfigSets or retrieves a configuration setting .
DoEventsProcesses events from the internal message queue.
PostPost data to the server, and check the receipt.
ResetResets the state of the control.
SetPGPParamSets a parameter in the PGP provider.
SetUploadStreamSets the stream to be uploaded to the server.

Event List


The following is the full list of the events fired by the component with short descriptions. Click on the links for further details.

ConnectedFired immediately after a connection completes (or fails).
DisconnectedFired when a connection is closed.
EndTransferFired when a document finishes transferring.
ErrorInformation about errors during data delivery.
HeaderFired every time a header line comes in.
SetCookieFired for every cookie set by the server.
SSLServerAuthenticationFired after the server presents its certificate to the client.
SSLStatusShows the progress of the secure connection.
StartTransferFired when a document starts transferring (after the headers).
TransferFired while a document transfers (delivers document).

Configuration Settings


The following is a list of configuration settings for the component with short descriptions. Click on the links for further details.

LogLevelSpecifies the level of detail that is logged.
PGPCombineSignAndEncryptWhether to sign and encrypt in a single step or not.
PGPProviderTypeWhich PGP implementation to use.
AuthSchemeThe authorization scheme to be used when server authorization is to be performed.
AuthorizationThe Authorization string to be sent to the server.
UserA user name if authentication is to be used.
PasswordA password if authentication is to be used.
LogFilenameThe base name of the log file.
CodePageThe system code page used for Unicode to Multibyte translations.

 
 
Copyright (c) 2018 /n software inc. - All rights reserved.
Build 9.0.6635.0