AS4Web Connector
The AS4Web Component adds AS4 receive functionality to MuleSoft.
Remarks
The AS4Web Connector supports receiving files into BizTalk. Using a simple application-like design, the connector allows you to easily incorporate secure EDI (EDI-INT) exchange into your current e-Business process architecture.
AS4Web Receive Connector
The AS4Web Receive Connector handles incoming push requests (accepts files sent by your partner to you). The AS4Web Receive Connector requires another entity to listen for incoming HTTP requests and to send responses back to the client. An HTTP Listener may be used in conjunction with the AS4Web Receive Connector to create a fully-functional AS4Web server.
In order to use the AS4Web Receive Connector, you must set the TradingPartner and ReceivingPartner properties. It is recommended that you set an MDNSigningCert in order to provide non-repudiation for your AS2 response.
To decrypt incoming messages set DecryptionCert to your private key. To verify the signature of incoming message set SignerCert to your partner's public certificate. To sign receipts sent back to you partner set SigningCert. If a receipt should be sent, set SendReceipt to Yes.
Once the incoming AS4 request has been parsed and verified, the files are submitted to your flow as individual Mule events. Upon successful submission, the connector will generate a receipt as necessary.
Connector Attributes
Aside from generating the receipt, when AS4Web connector finishes processing it will also produce a group of AS4 attributes. AS4RecAttributes is a special attribute consisting of a collection of EDIData entities from the request.
Each item in the collection has its own set of attributes such as EDIProperties, EDISchemaLocation, EDISchemaNamespace, EDISchemaVersion, EDIType
and Output. The 'For Each' Scope will allow you to iterate through the collection of EDIData entities and query these attributes. The sample XML configuration is as follows:
<foreach collection="#[attributes.AS4RecAttributes]">
<logger message="#[payload.AS4FromId]"/>
</foreach>
HTTP Listener Configuration
In a typical scenario a HTTP listener is used to receive the original request and send the response because the connector does not have a webserver of its own. The connector will process the request and generate the response, but will rely on the HTTP Listener to relay the response back to the client. In order to configure the HTTP Listener to relay the response to the client, follow the below steps.
In the Mule HTTP Listener's Responses section set the Body to #[attributes.ResponseBody]. Then, add a new header with value 'Content-Type' and value attributes.ResponseHeaders.'Content-Type'.
The corresponding Configuration XML may look like:
<http:response >
<http:body ><![CDATA[#[attributes.ResponseBody]]]></http:body>
<http:headers ><![CDATA[#[output applicaton/java
---
{
"Content-Type" : attributes.ResponseHeaders.'Content-Type'
}]]]></http:headers>
</http:response>
Receiver Property List
The following is the full list of the properties of the receiver Connector with short descriptions. Click on the links for further details.
AgreementRef | The agreement reference. |
AS4FromId | The Id of the party. This value is required. |
AS4FromIdType | The optional type of the Id. If specified this value should be the domain to which the Id belongs. |
AS4FromRole | This field specifies the role of the party. This may be any value agreed upon by the trading partners. |
AS4RecAttributes | TBD. |
AS4ToId | The Id of the party. This value is required. |
AS4ToIdType | The optional type of the Id. If specified this value should be the domain to which the Id belongs. |
AS4ToRole | This field specifies the role of the party. This may be any value agreed upon by the trading partners. |
ConversationId | The Conversation Id of the message. |
DecryptionCert | The certificate with private key used to decrypt. |
Firewall | A set of properties related to firewall access. |
HTTPProxy | A set of properties related to proxy access. |
LogDirectory | The path to a directory for logging. |
LogFile | The file to write logging information to at runtime. |
LogMode | What information gets logged during component execution. |
LogType | How information gets logged during component execution. |
MessageId | The unique Id of the message. |
MessageProperties | A collection of message properties. |
Other | Defines a set of configuration settings to be used by the component. |
Profile | The AS4 profile. |
ReceiptContent | The content of the receipt. |
ReceiptRefToMessageId | The Message Id to which this receipt applies. |
ReceivingPartner | The identity of AS4 receiving entity. |
RequestHeaders | The headers included in the AS4 request. |
ResponseBody | The response body to be sent to the client. |
ResponseHeaders | A collection of resposne headers. |
RuntimeLicense | Specifies the component runtime license key. |
SendReceipt | Whether to send a receipt. |
Service | The service which acts on the message. |
ServiceAction | The action within a service that acts on the message. |
ServiceType | The type of service. |
SignatureAlgorithm | Signature algorithm to be used in the message. |
SignerCert | The public signing certificate of the partner. |
SigningCert | The certificate used to sign the outgoing AS4 message. |
SSLAcceptServerCert | For sending HTTPS requests, a server certificate to unconditionally accept. |
SSLCert | The certificate to use for client authentication during the SSL handshake. |
TempPath | A temporary local directory where data can be stored before the component processes it. |
Timeout | A timeout for the component. |
TokenPassword | The password used in UsernameToken authentication. |
TokenUser | The user used in UsernameToken authentication. |
TradingPartner | The trading partner that will be communicating with this receive location. |
Config Settings
The following is a list of config settings for the Connector with short descriptions. Click on the links for further details.
AgreementRefPMode | AgreementRef PMode of message. |
AgreementRefType | The type of AgreementRef. |
AllowWarnings | Whether warnings are interpreted as fatal errors. |
AttachXMLFiles | Whether to send XML files as attachments or within the SOAP body. |
CloseStreamAfterProcessing | Whether to close the input or output stream after processing. |
CompressXMLPayloads | Whether to compress XML data. |
ContentTransferEncoding | The content encoding of the payload data. |
DetectDuplicates | Whether to detect duplicate messages when receiving. |
EBPrefix | Specifies the prefix to use for messaging. |
EDIDataPartId[i] | Specified the part Id at the given index. |
EnableTokenReferenceTokenType | Whether to include the TokenType attribute in a SecurityTokenReference element. |
EncryptionSecurityTokenFormat | The format to use for the security token when encryption. |
FilenameProperty | Defines a part property to hold the filename. |
ForceSigningCert | Whether to force only the SigningCert to be used for signing. |
FromId[i] | The Id of the party specified by AS4From. |
FromIdCount | The number of Ids for the party specified by AS4From. |
FromIdType[i] | The Id type of the party specified by AS4From. |
IdRight | A custom Id for the right side of the MessageId. |
KeyAgreementMethod | The agreement method used for KeyWrap encryption algorithms. |
KeyDerivationConcatKDFDigestMethod | The digest method used for the ConcatKDF key derivation method. |
KeyDerivationMethod | The key derivation method used for KeyWrap encryption algorithms. |
KeyEncryptionAlgorithm | The algorithm used to encrypt the key. |
LogLevel | The level of information to log. |
LogOptions | The information to be written to log files. |
MessageType | Indicates the type of message received. |
NormalizeIssuerSubject | Whether to normalize the certificate subject within the X509Data element. |
OAEPMGF1HashAlgorithm | The MGF1 hash algorithm used when encrypting a key. |
OAEPParams | The hex encoded OAEP parameters to be used when encrypting a key. |
OAEPRSAHashAlgorithm | The RSA hash algorithm used when encrypting a key. |
ReceiptURL | The URL to which receipts are sent. |
ReferenceHashAlgorithm | The hash algorithm used to has the data specified in the reference of a signature. |
RequireEncryption | Whether encryption is required when processing received messages. |
RequireSignature | Whether a signature is required when processing received messages. |
ResponseFile | A file from which to read the response. |
SignerCACert | The CA certificates that issued the signer certificate. |
SigningSecurityTokenFormat | The format to use for the security token when signing. |
TempPath | Where temporary files are optionally written. |
ToId[i] | The Id of the party specified by AS4To. |
ToIdCount | The number of Ids for the party specified by AS4To. |
ToIdType[i] | The Id type of the party specified by AS4To. |
TokenPasswordType | The password type used in UsernameToken authentication. |
TransformReceipt | Whether to canonicalize the received receipt. |
UseTransformedXMLAttachment | Whether to send the canonicalized XML. |
ReuseSSLSession | Determines if the SSL session is reused. |
SSLCipherStrength | The minimum cipher strength used for bulk encryption. |
SSLEnabledCipherSuites | The cipher suite to be used in an SSL negotiation. |
SSLEnabledProtocols | Used to enable/disable the supported security protocols. |
SSLIncludeCertChain | Whether the entire certificate chain is included in the SSLServerAuthentication event. |
SSLSecurityFlags | Flags that control certificate verification. |
TLS12SignatureAlgorithms | Defines the allowed TLS 1.2 signature algorithms when UseInternalSecurityAPI is True. |
TLS12SupportedGroups | The supported groups for ECC. |
TLS13KeyShareGroups | The groups for which to pregenerate key shares. |
TLS13SignatureAlgorithms | The allowed certificate signature algorithms. |
TLS13SupportedGroups | The supported groups for (EC)DHE key exchange. |
AbsoluteTimeout | Determines whether timeouts are inactivity timeouts or absolute timeouts. |
LocalHost | The name of the local host or user-assigned IP interface through which connections are initiated or accepted. |
TcpNoDelay | Whether or not to delay when sending packets. |
UseInternalSecurityAPI | Tells the component whether or not to use the system security libraries or an internal implementation. |
AgreementRef Property (AS4Web Connector)
The agreement reference.
Data Type
String
Default Value
""
Remarks
This property holds a value identifying the agreement between the two parties. The agreement is made outside the scope of the request and response and governs details about the interaction including reply mode, signing and encryption options, etc.
The value of this property should be set to a mutually agreed upon identifier. Both parties will use this value know what the expected requirements are for a particular request or response.
The format of this value is typically a URI, such as "http://mycompany.com/agreement_01" but can be any unique string that both parties are configured to accept. Another common format is the concatenation of the AS4From and AS4To values.
This value corresponds to the ebMS element "eb:Messaging/eb:UserMessage/eb:CollaborationInfo/eb:AgreementRef"
Note: This property is not available at design time in the receiver, but will be detected from the incoming AS4 message and made available as a message context attribute.
AS4FromId Property (AS4Web Connector)
The Id of the party. This value is required.
Data Type
String
Default Value
""
Remarks
This value corresponds to the ebMS element "eb:Messaging/eb:UserMessage/eb:PartyInfo/eb:From/eb:PartyId"
Note: This property is not available at design time in the receiver, but will be detected from the incoming AS4 message and made available as a message context attribute.
AS4FromIdType Property (AS4Web Connector)
The optional type of the Id. If specified this value should be the domain to which the Id belongs.
Data Type
String
Default Value
""
Remarks
This value corresponds to the ebMS element "eb:Messaging/eb:UserMessage/eb:PartyInfo/eb:From/eb:PartyId@type"
Note: This property is not available at design time in the receiver, but will be detected from the incoming AS4 message and made available as a message context attribute.
AS4FromRole Property (AS4Web Connector)
This field specifies the role of the party. This may be any value agreed upon by the trading partners.
Data Type
String
Default Value
"http://docs.oasis-open.org/ebxml-msg/ebms/v3.0/ns/core/200704/initiator"
Remarks
This field specifies the role of the party. This may be any value agreed upon by the trading partners.
In AS4From this specified the role of the party sending the document. The default value is "http://docs.oasis-open.org/ebxml-msg/ebms/v3.0/ns/core/200704/initiator".
In AS4To this specifies the role of the party receiving the document. The default value is "http://docs.oasis-open.org/ebxml-msg/ebms/v3.0/ns/core/200704/responder".
This value corresponds to the ebMS element "eb:Messaging/eb:UserMessage/eb:PartyInfo/eb:From/eb:Role"
Note: This property is not available at design time in the receiver, but will be detected from the incoming AS4 message and made available as a message context attribute.
AS4RecAttributes Property (AS4Web Connector)
TBD.
Data Type
AS4WebAttrListRemarks
TBD.
This property is not available in the Sender.
AS4ToId Property (AS4Web Connector)
The Id of the party. This value is required.
Data Type
String
Default Value
""
Remarks
This value corresponds to the ebMS element "eb:Messaging/eb:UserMessage/eb:PartyInfo/eb:From/eb:PartyId"
Note: This property is not available at design time in the receiver, but will be detected from the incoming AS4 message and made available as a message context attribute.
AS4ToIdType Property (AS4Web Connector)
The optional type of the Id. If specified this value should be the domain to which the Id belongs.
Data Type
String
Default Value
""
Remarks
This value corresponds to the ebMS element "eb:Messaging/eb:UserMessage/eb:PartyInfo/eb:From/eb:PartyId@type"
Note: This property is not available at design time in the receiver, but will be detected from the incoming AS4 message and made available as a message context attribute.
AS4ToRole Property (AS4Web Connector)
This field specifies the role of the party. This may be any value agreed upon by the trading partners.
Data Type
String
Default Value
"http://docs.oasis-open.org/ebxml-msg/ebms/v3.0/ns/core/200704/responder"
Remarks
This field specifies the role of the party. This may be any value agreed upon by the trading partners.
In AS4From this specified the role of the party sending the document. The default value is "http://docs.oasis-open.org/ebxml-msg/ebms/v3.0/ns/core/200704/initiator".
In AS4To this specifies the role of the party receiving the document. The default value is "http://docs.oasis-open.org/ebxml-msg/ebms/v3.0/ns/core/200704/responder".
This value corresponds to the ebMS element "eb:Messaging/eb:UserMessage/eb:PartyInfo/eb:From/eb:Role"
Note: This property is not available at design time in the receiver, but will be detected from the incoming AS4 message and made available as a message context attribute.
ConversationId Property (AS4Web Connector)
The Conversation Id of the message.
Data Type
String
Default Value
""
Remarks
This property specifies an Id that may be used to identify a set of related messages. This is required and if a value is not specified one will automatically be created.
Note: When Profile is set to ebpfENTSOG this value will always be empty.
This value corresponds to the ebMS element "eb:Messaging/eb:UserMessage/eb:CollaborationInfo/eb:ConversationId"
Note: This property is not available at design time in the receiver, but will be detected from the incoming AS4 message and made available as a message context attribute.
DecryptionCert Property (AS4Web Connector)
The certificate with private key used to decrypt.
Data Type
CertificateRemarks
This property specifies the certificate with private key used to decrypt received data.
This property is not available in the Sender.
Firewall Property (AS4Web Connector)
A set of properties related to firewall access.
Data Type
FirewallRemarks
This is a Firewall type property which contains fields describing the firewall through which the connector will attempt to connect.
HTTPPassword Property (AS4Web Connector)
A password if authentication is to be used.
Data Type
Password
Default Value
""
Remarks
This property holds the password used for HTTP authentication.
This property is not available in the Receiver.
HTTPProxy Property (AS4Web Connector)
A set of properties related to proxy access.
Data Type
ProxyRemarks
This is a Proxy type property which contains fields describing the proxy through which the connector will attempt to connect.
HTTPUser Property (AS4Web Connector)
A user name if authentication is to be used.
Data Type
String
Default Value
""
Remarks
This property holds the user used for HTTP authentication.
This property is not available in the Receiver.
LogDirectory Property (AS4Web Connector)
The path to a directory for logging.
Data Type
String
Default Value
""
Remarks
The directory in which log files are created. The connector will create log files that detail each transmission.
The verbosity of the logs is controlled by LogLevel.
LogFile Property (AS4Web Connector)
The file to write logging information to at runtime.
Data Type
String
Default Value
""
Remarks
If LogDirectory is specified, log files will be written in the specified directory and LogFile will contain the path. A diagnostic log will be written with filename LogFile + ".log".
Since this log file is dynamically generated, this property can be read after the connector has processed the message to determine the exact name of the log file.
To write logging information to a file instead of using the connector's logging API, set this property to a valid file on disk and set the LogType property to "File".
LogMode Property (AS4Web Connector)
What information gets logged during component execution.
Data Type
Enumeration
Possible Values
Verbose (0)
Info (1)
Warning (2)
Error (3)
Fatal (4)
Default Value
3
Remarks
This property controls what information the connector logs. The possible values have the following affect on the connector's behavior:
Verbose | The connector will report all information regarding the transport. |
Info | The connector will report all major operations, as well as all warnings and errors. |
Warning | The connector will report any conditions that could result in unpredictable behavior as well as errors. |
Error | The connector will report all errors that prevent normal operations from completing. |
Fatal | The connector will report only serious errors that cause the connector to completely stop functioning. |
LogType Property (AS4Web Connector)
How information gets logged during component execution.
Data Type
Enumeration
Possible Values
None (0)
Console (1)
File (2)
Default Value
1
Remarks
This property controls where the connector will log the information. The possible values have the following affect on the connector's behavior:
None | The connector will not report any logging information. |
Console | The connector will report all logging information to the console. |
File | The connector will report all logging information to a file. The desired file must be specified in the LogFile when this type has been selected. |
MessageId Property (AS4Web Connector)
The unique Id of the message.
Data Type
String
Default Value
""
Remarks
This property provided the MessageId of the message. This is returned for informational purposes.
Note: This property is not available at design time in the receiver, but will be detected from the incoming AS4 message and made available as a message context attribute.
MessageProperties Property (AS4Web Connector)
A collection of message properties.
Data Type
String
Default Value
""
Remarks
This property holds message level properties.
The properties are specified one per line. The property type is optional. The syntax is a follows:
[PropertyType]PropertyName=PropertyValue
PropertyName=PropertyValue
For instance, the value below includes two properties, the first property does not include a type.
Prop1=Value1
[string]Prop2=Value2
Note: This property is not available at design time in the receiver, but will be detected from the incoming AS4 message and made available as a message context attribute.
Other Property (AS4Web Connector)
Defines a set of configuration settings to be used by the component.
Data Type
String
Default Value
""
Remarks
The connector accepts one or more configuration settings. Configuration settings are similar in functionality to properties, but they are rarely used. In order to avoid "polluting" the property namespace of the connector, access to these internal properties is provided through the Other property.
The Other property may be set to one or more configuration settings (name/value pairs). Set one setting per line.
For example:
configname1=value1
configname2=value2
Profile Property (AS4Web Connector)
The AS4 profile.
Data Type
Enumeration
Possible Values
Standard (0)
ENTSOG (1)
ESENS (2)
Default Value
0
Remarks
This property specifies the AS4 profile to use. Different profiles may have different requirements and default options. Setting this property to the correct value ensures that the right options are selected in order to conform to the profile. Possible values are:
0 (ebpfStandard - default) | The AS4 Profile of ebMS 3.0 Version 1.0 OASIS Standard |
1 (ebpfENTSOG) | The ENTSOG AS4 Profile |
2 (ebpfEDelivery) | The eDelivery AS4 Profile |
2 (ebpfBDEW) | The BDEW AS4 Profile |
When Profile is set to ebpfENTSOG the following settings are automatically applied:
Property | Value |
CompressionFormat | ebcfGZIP |
EncryptionAlgorithm | "AES128GCM" |
ConversationId | Remains empty |
SignatureAlgorithm | "SHA256" |
OAEPRSAHashAlgorithm | "SHA256" |
OAEPMGF1HashAlgorithm | "SHA256" |
When Profile is set to ebpfEDelivery the following settings are automatically applied:
Property | Value |
CompressionFormat | ebcfGZIP |
EncryptionAlgorithm | "AES128GCM" |
RequireEncryption | True |
RequireSignature | True |
SignatureAlgorithm | "SHA256" |
OAEPRSAHashAlgorithm | "SHA256" |
OAEPMGF1HashAlgorithm | "SHA256" |
EncryptionSecurityTokenFormat | 1 (Binary) |
SigningSecurityTokenFormat | 1 (Binary) |
Property | Value |
CompressionFormat | ebcfGZIP |
EncryptionAlgorithm | "AES128GCM" |
RequireEncryption | True |
RequireSignature | True |
SignatureAlgorithm | "ECDSASHA256" |
EncryptionSecurityTokenFormat | 0 (X509) |
SigningSecurityTokenFormat | 3 (X509PKIPathv1) |
ForceSigningCert | True |
KeyEncryptionAlgorithm | KW-AES128 |
KeyAgreementMethod | ECDH-ES |
KeyDerivationMethod | ConcatKDF |
KeyDerivationConcatKDFDigestMethod | SHA256 |
ReceiptContent Property (AS4Web Connector)
The content of the receipt.
Data Type
String
Default Value
""
Remarks
This is the raw XML of the receipt.
When using the Send connector this is populated from the response received from the server.
When using the Receive connector this is informational only and is populated with the receipt that was sent by the connector.
Note: This property is not available at design time in the receiver, but will be detected from the incoming AS4 message and made available as a message context attribute.
ReceiptRefToMessageId Property (AS4Web Connector)
The Message Id to which this receipt applies.
Data Type
String
Default Value
""
Remarks
This is the original Message Id from the initial transmission of the file.
When using the Send connector this is populated from the response received from the server.
When using the Receive connector this is informational only and is populated with the receipt that was sent by the connector.
Note: This property is not available at design time in the receiver, but will be detected from the incoming AS4 message and made available as a message context attribute.
ReceivingPartner Property (AS4Web Connector)
The identity of AS4 receiving entity.
Data Type
String
Default Value
""
Remarks
This is the Id of the trading partner that will be receiving AS4 transmissions for this receive location. When data is received, this will value will be checked against the value supplied by the sending entity to ensure that the document received is intended for this receiver.
This property is not available in the Sender.
RequestHeaders Property (AS4Web Connector)
The headers included in the AS4 request.
Data Type
String
Default Value
"#[attributes.headers]"
Remarks
This property should be set to the AS4 headers from the request. If the request was received by an HTTP listener and passed to this connector, these headers are available through '#[attributes.headers]' (or '#[message.inboundProperties.headers]' in Mule 3.X). The headers can also be specified as a string.
This property is not available in the Sender.
ResponseBody Property (AS4Web Connector)
The response body to be sent to the client.
Data Type
String
Default Value
""
Remarks
This property holds the response body that may be assigned to the HTTP response.
In a typical scenario a HTTP listener is used to receive the original request and send the response because the connector does not have a webserver of its own. The connector will process the request and generate the response, but will rely on the HTTP Listener to relay the response back to the client. In order to configure the HTTP Listener to relay the response to the client, follow the below steps.
In the Mule HTTP Listener's Responses section set the Body to #[attributes.ResponseBody]. Then, add a new header with value 'Content-Type' and value attributes.ResponseHeaders.'Content-Type'.
The corresponding Configuration XML may look like:
<http:response >
<http:body ><![CDATA[#[attributes.ResponseBody]]]></http:body>
<http:headers ><![CDATA[#[output applicaton/java
---
{
"Content-Type" : attributes.ResponseHeaders.'Content-Type'
}]]]></http:headers>
</http:response>
Note: This property is not available at design time in the receiver, but will be detected from the incoming AS4 message and made available as a message context attribute.
This property is not available in the Sender.
ResponseHeaders Property (AS4Web Connector)
A collection of resposne headers.
Data Type
String
Default Value
""
Remarks
This property holds an object of response headers that may be assigned to the HTTP response.
In a typical scenario a HTTP listener is used to receive the original request and send the response because the connector does not have a webserver of its own. The connector will process the request and generate the response, but will rely on the HTTP Listener to relay the response back to the client. In order to configure the HTTP Listener to relay the response to the client, follow the below steps.
In the Mule HTTP Listener's Responses section set the Body to #[attributes.ResponseBody]. Then, add a new header with value 'Content-Type' and value attributes.ResponseHeaders.'Content-Type'.
The corresponding Configuration XML may look like:
<http:response >
<http:body ><![CDATA[#[attributes.ResponseBody]]]></http:body>
<http:headers ><![CDATA[#[output applicaton/java
---
{
"Content-Type" : attributes.ResponseHeaders.'Content-Type'
}]]]></http:headers>
</http:response>
Note: This property is not available at design time in the receiver, but will be detected from the incoming AS4 message and made available as a message context attribute.
This property is not available in the Sender.
RuntimeLicense Property (AS4Web Connector)
Specifies the component runtime license key.
Data Type
String
Default Value
""
Remarks
You can use the RuntimeLicense property to set the runtime key for the connector license.
SendReceipt Property (AS4Web Connector)
Whether to send a receipt.
Data Type
Boolean
Default Value
true
Remarks
This property indicates whether a receipt should be sent after downloading files.
The connector will make multiple requests to download all outstanding files from the server. The receipt for the previous message will be bundled with the request for the next message.
This property is not available in the Sender.
Service Property (AS4Web Connector)
The service which acts on the message.
Data Type
String
Default Value
"http://docs.oasis-open.org/ebxml-msg/as4/200902/service"
Remarks
This property specifies the service which acts on the message. This should only be changed from the default value if there is a specific reason to do so.
This value corresponds to the ebMS element "eb:Messaging/eb:UserMessage/eb:CollaborationInfo/eb:Service"
Note: This property is not available at design time in the receiver, but will be detected from the incoming AS4 message and made available as a message context attribute.
ServiceAction Property (AS4Web Connector)
The action within a service that acts on the message.
Data Type
String
Default Value
"http://docs.oasis-open.org/ebxml-msg/as4/200902/action"
Remarks
This property defines the action within a service that acts upon a message. This should only be changed from the default value if there is a specific reason to do so.
This value corresponds to the ebMS element "eb:Messaging/eb:UserMessage/eb:CollaborationInfo/eb:Action".
Note: This property is not available at design time in the receiver, but will be detected from the incoming AS4 message and made available as a message context attribute.
ServiceType Property (AS4Web Connector)
The type of service.
Data Type
String
Default Value
""
Remarks
This optionally specifies the type of the service. The semantics of this value should be agreed upon by both parties ahead of time. It may be used to tell the other party how to interpret the Service value.
This value corresponds to the ebMS element "eb:Messaging/eb:UserMessage/eb:CollaborationInfo/eb:Service@type"
Note: This property is not available at design time in the receiver, but will be detected from the incoming AS4 message and made available as a message context attribute.
SignatureAlgorithm Property (AS4Web Connector)
Signature algorithm to be used in the message.
Data Type
String
Default Value
"sha256"
Remarks
Signature Algorithm can be set to indicate the preferred signing algorithm. Possible values are:
- SHA1
- MD5
- SHA-256 (or SHA256) (default)
- SHA-384 (or SHA384)
- SHA-512 (or SHA512)
- SHA-224 (or SHA224)
- ECDSA-SHA1
- ECDSA-SHA224
- ECDSA-SHA256
- ECDSA-SHA384
- ECDSA-SHA512
The default value is "SHA-256".
SignerCert Property (AS4Web Connector)
The public signing certificate of the partner.
Data Type
CertificateRemarks
This property specifies the public certificate of the partner that was used to sign the message. The connector will verify the signature with the public certificate specified here.
This property is used to set a Public Key Certificate.
Ordinarily, the system will attempt to locate the public key in trusted certificate stores in the system registry. If a match is found, the certificate is trusted, and the process proceeds without error. If the certificate is not trusted, the connector will report an error.
You may explicitly set a public key, either to accept a key that is not installed on the system, or to ensure that a specific key is presented. Public key certificates may be loaded from the machine registry or from file.
This property specifies the public certificate of the partner that was used to sign the message. The connector will verify the signature with the public certificate specified here.
This property is used to set a Public Key Certificate.
Ordinarily, the system will attempt to locate the public key in trusted certificate stores in the system registry. If a match is found, the certificate is trusted, and the process proceeds without error. If the certificate is not trusted, the connector will report an error.
You may explicitly set a public key, either to accept a key that is not installed on the system, or to ensure that a specific key is presented. Public key certificates may be loaded from the machine registry or from file.
SigningCert Property (AS4Web Connector)
The certificate used to sign the outgoing AS4 message.
Data Type
CertificateRemarks
This property specifies a certificate with private key used to sign the outgoing request and receipts.
This field is used to set a Private Key Certificate.
Private key certificates may be loaded from the registry, from files in PKCS#12 format, or from a PEM file format.
SSLAcceptServerCert Property (AS4Web Connector)
For sending HTTPS requests, a server certificate to unconditionally accept.
Data Type
CertificateRemarks
In the Send Connector, this property is used when communicating with trading partners via HTTPS to the URL specified in URL.
In the Receive Connector, this property is used when an asynchronous MDN is requested by your trading partner to the URL specified in MDNDeliveryOption.
When an HTTPS request is issued by the connector, a new secure connection is created with the trading partner. By default, the connector will reject self-signed certificates and any other server certificates not signed by a trusted Certificate Authority (CA).
This property is used to set a Public Key Certificate.
Ordinarily, the system will attempt to locate the public key in trusted certificate stores in the system registry. If a match is found, the certificate is trusted, and the process proceeds without error. If the certificate is not trusted, the connector will report an error.
You may explicitly set a public key, either to accept a key that is not installed on the system, or to ensure that a specific key is presented. Public key certificates may be loaded from the machine registry or from file.
Note: You may also set the Accept Any field to Yes without opening the certificate selection dialog to force the connector to unilaterally authenticate any server during the security handshake. It is strongly recommended that you use this only for testing purposes. Set the LogMode to Info to cause the connector to report the server's credentials to Location.
SSLCert Property (AS4Web Connector)
The certificate to use for client authentication during the SSL handshake.
Data Type
CertificateRemarks
This property is used to assign a specific certificate for SSL client authentication.
This field is used to set a Private Key Certificate.
Private key certificates may be loaded from the registry, from files in PKCS#12 format, or from a PEM file format.
TempPath Property (AS4Web Connector)
A temporary local directory where data can be stored before the component processes it.
Data Type
String
Default Value
""
Remarks
This property indicates a temporary directory where the connector can store any data before the connector processes it. If TempPath is empty, the connector will receive all data to memory. If set, the connector will generate and write all inbound data to a temporary file in the specified directory.
Once the file is submitted, the connector will handle closing the file stream and deleting the temporary file. However, if the connector is shut down during a transfer some temporary files may be left in the directory. To ensure optimal performance, server administrators should check the directory regularly and remove old or extraneous files. Note: by default, this property is empty and the connector will use memory streams to store all inbound data before submitting it. It is recommended that you use a temporary directory when downloading large batches or batches containing large files to alleviate potential increased memory requirements.
This property is not available in the Sender.
Timeout Property (AS4Web Connector)
A timeout for the component.
Data Type
Integer
Default Value
60
Remarks
If the Timeout property is set to 0, all operations will run uninterrupted until successful completion, or an error condition is encountered.
If Timeout is set to a positive value, the connector will wait for the operation to complete before returning control.
If Timeout expires, and the operation is not yet complete, the connector fails with an error.
Please note that by default, all timeouts are inactivity timeouts, i.e. the timeout period is extended by Timeout seconds when data is successfully sent or received.
Optionally, the behavior of the connector may be changed to absolute timeouts, i.e. the connector will wait for a maximum of Timeout seconds since the beginning of the operation, without extending the timeout period during communications.
This behavior is controlled by the AbsoluteTimeout configuration setting.
The default value for the Timeout property is 60 (seconds).
TokenPassword Property (AS4Web Connector)
The password used in UsernameToken authentication.
Data Type
Password
Default Value
""
Remarks
This property specifies the password used in UsernameToken authentication.
This property is not available in the Sender.
TokenUser Property (AS4Web Connector)
The user used in UsernameToken authentication.
Data Type
String
Default Value
""
Remarks
This property specifies the user used in UsernameToken authentication. If this is specified UsernameToken authentication will be included in the request.
This property is not available in the Sender.
TradingPartner Property (AS4Web Connector)
The trading partner that will be communicating with this receive location.
Data Type
String
Default Value
""
Remarks
This is the Id of the trading partner that will be communicating with this instance of the AS4 connector.
This property is not available in the Sender.
AS4WebAttr Type
TBD.
Remarks
TBD.
Fields
EDIProperties
String
Default Value: ""
A collection of file properties.
This property holds file level properties.
The properties are specified one per line. The syntax is a follows:
PropertyName=PropertyValue
For instance, the value below includes two properties.
Prop1=Value1
Prop2=Value2
EDISchemaLocation
String
Default Value: ""
The EDISchemaLocation, EDISchemaNamespace, and EDISchemaVersion optionally define the schema that applies to this particular file. This may be used by the receiving party to properly interpret the file data.
This value corresponds to the ebMS element "eb:Messaging/eb:UserMessage/eb:PayloadInfo/eb:PartInfo/eb:Schema@location"
EDISchemaNamespace
String
Default Value: ""
The namespace of the schema. This field is optional. Refer to EDISchemaLocation for details.
This value corresponds to the ebMS element "eb:Messaging/eb:UserMessage/eb:PayloadInfo/eb:PartInfo/eb:Schema@namespace"
EDISchemaVersion
String
Default Value: ""
The version of the schema. This field is optional. Refer to EDISchemaLocation for details.
This value corresponds to the ebMS element "eb:Messaging/eb:UserMessage/eb:PayloadInfo/eb:PartInfo/eb:Schema@namespace"
EDIType
String
Default Value: ""
The Content-Type of the EDI message
The Content-Type of the EDI message. Sample values are "application/edi-x12", "application/edifact" or "application/xml".
Output
System.IO.Stream
Default Value: ""
TBD.
ReceivedFileName
String
Default Value: ""
The name of the file received by the AS4 connector.
If a file name is included in the AS4 request's message headers, it will be written to this context property.
Note: this value is also placed in the File.ReceivedFileName and the FTP.ReceivedFileName context properties. This is to ensure compatibility with other connectors that poll those context properties to fill out macros such as %SourceFileName%.
Certificate Type
The digital certificate being used.
Remarks
This type describes the current digital certificate. The certificate may be a public or private key. The fields are used to identify or select certificates.
Fields
Store
String
Default Value: "MY"
The name of the certificate store for the client certificate.
The StoreType field specifies the type of the certificate store specified by Store. If the store is password protected, specify the password in StorePassword.
Store is used in conjunction with the Subject field in order to specify client certificates. If Store has a value, and Subject is set, a search for a certificate is initiated. Please refer to the Subject field for details.
Designations of certificate stores are platform-dependent.
The following are designations of the most common User and Machine certificate stores in Windows:
MY | A certificate store holding personal certificates with their associated private keys. |
CA | Certifying authority certificates. |
ROOT | Root certificates. |
SPC | Software publisher certificates. |
In Java, the certificate store normally is a file containing certificates and optional private keys.
When the certificate store type is PFXFile, this property must be set to the name of the file. When the type is PFXBlob, the property must be set to the binary contents of a PFX file (i.e. PKCS12 certificate store).
If the provider is OpenSSL, the certificate store is a file containing a certificate and a private key. This property must be set to the name of the file.
StorePassword
String
Default Value: ""
If the certificate store is of a type that requires a password, this property is used to specify that password in order to open the certificate store.
StoreType
CertStoreTypes
Default Value: 0
The type of certificate store for this certificate.
The connector supports both public and private keys in a variety of formats. When the cstAuto value is used, the connector will automatically determine the type. This field can take one of the following values:
0 (cstUser - default) | For Windows, this specifies that the certificate store is a certificate store owned by the current user.
Note: This store type is not available in Java. |
1 (cstMachine) | For Windows, this specifies that the certificate store is a machine store.
Note: This store type is not available in Java. |
2 (cstPFXFile) | The certificate store is the name of a PFX (PKCS#12) file containing certificates. |
3 (cstPFXBlob) | The certificate store is a string (binary or Base64-encoded) representing a certificate store in PFX (PKCS#12) format. |
4 (cstJKSFile) | The certificate store is the name of a Java Key Store (JKS) file containing certificates.
Note: This store type is only available in Java. |
5 (cstJKSBlob) | The certificate store is a string (binary or Base64-encoded) representing a certificate store in Java Key Store (JKS) format.
Note: this store type is only available in Java. |
6 (cstPEMKeyFile) | The certificate store is the name of a PEM-encoded file that contains a private key and an optional certificate. |
7 (cstPEMKeyBlob) | The certificate store is a string (binary or Base64-encoded) that contains a private key and an optional certificate. |
8 (cstPublicKeyFile) | The certificate store is the name of a file that contains a PEM- or DER-encoded public key certificate. |
9 (cstPublicKeyBlob) | The certificate store is a string (binary or Base64-encoded) that contains a PEM- or DER-encoded public key certificate. |
10 (cstSSHPublicKeyBlob) | The certificate store is a string (binary or Base64-encoded) that contains an SSH-style public key. |
11 (cstP7BFile) | The certificate store is the name of a PKCS#7 file containing certificates. |
12 (cstP7BBlob) | The certificate store is a string (binary) representing a certificate store in PKCS#7 format. |
13 (cstSSHPublicKeyFile) | The certificate store is the name of a file that contains an SSH-style public key. |
14 (cstPPKFile) | The certificate store is the name of a file that contains a PPK (PuTTY Private Key). |
15 (cstPPKBlob) | The certificate store is a string (binary) that contains a PPK (PuTTY Private Key). |
16 (cstXMLFile) | The certificate store is the name of a file that contains a certificate in XML format. |
17 (cstXMLBlob) | The certificate store is a string that contains a certificate in XML format. |
18 (cstJWKFile) | The certificate store is the name of a file that contains a JWK (JSON Web Key). |
19 (cstJWKBlob) | The certificate store is a string that contains a JWK (JSON Web Key). |
21 (cstBCFKSFile) | The certificate store is the name of a file that contains a BCFKS (Bouncy Castle FIPS Key Store).
Note: This store type is only available in Java and .NET. |
22 (cstBCFKSBlob) | The certificate store is a string (binary or Base64-encoded) representing a certificate store in BCFKS (Bouncy Castle FIPS Key Store) format.
Note: This store type is only available in Java and .NET. |
23 (cstPKCS11) | The certificate is present on a physical security key accessible via a PKCS#11 interface.
To use a security key, the necessary data must first be collected using the CERTMGR connector. The ListStoreCertificates method may be called after setting CertStoreType to cstPKCS11, CertStorePassword to the PIN, and CertStore to the full path of the PKCS#11 DLL. The certificate information returned in the CertList event's CertEncoded parameter may be saved for later use. When using a certificate, pass the previously saved security key information as the Store and set StorePassword to the PIN. Code Example. SSH Authentication with Security Key:
|
99 (cstAuto) | The store type is automatically detected from the input data. This setting may be used with both public and private keys and can detect any of the supported formats automatically. |
Subject
String
Default Value: ""
The subject of the certificate used for client authentication.
When this property is set, a search is performed in the current certificate store certificate with matching subject.
If an exact match is not found, the store is searched for subjects containing the value of the property.
When setting the property to a partial subject, CN= should be omitted. For example, the following code would find the certificate with subject CN=Test Certificate, OU=People, C=US
Example (Searching with partial subject)
Control.CertSubject = "Test"
If a match is not found, the property is set to an empty string, and no certificate is selected.
The special value "*" picks a random certificate in the certificate store.
If a matching certificate is found, Subject is set to the full subject of the matching certificate.
Thumbprint
String (read-only)
Default Value: ""
The thumbprint of the certificate.
This field is used to specify the thumbprint of the certificate. When there are multiple certificates in the store that have the same subject, the thumbprint will be used to distinguish between them.
Firewall Type
The firewall the component will connect through.
Remarks
When connecting through a firewall, this type is used to specify different properties of the firewall such as the firewall Host and the FirewallType.
Fields
AutoDetect
Boolean
Default Value: False
Tells the connector whether or not to automatically detect and use firewall system settings, if available.
FirewallType
FirewallTypes
Default Value: 0
Determines the type of firewall to connect through. The applicable values are the following:
Host
String
Default Value: ""
Name or IP address of firewall (optional). If a Host is given, requested connections will be authenticated through the specified firewall when connecting.
If the Host field is set to a Domain Name, a DNS request is initiated. Upon successful termination of the request, the Host field is set to the corresponding address. If the search is not successful, an error is returned.
Password
String
Default Value: ""
A password if authentication is to be used when connecting through the firewall. If Host is specified, the User and Password fields are used to connect and authenticate to the given firewall. If the authentication fails, a trappable error is fired.
Port
Integer
Default Value: 0
The TCP port for the firewall Host. See the description of the Host field for details.
Note that the Port is set automatically when FirewallType is set to a valid value. See the description of the FirewallType field for details.
User
String
Default Value: ""
A user name if authentication is to be used connecting through a firewall. If the Host is specified, the User and Password fields are used to connect and authenticate to the given Firewall. If the authentication fails, a trappable error is fired.
Proxy Type
The proxy the component will connect to.
Remarks
When connecting through a proxy, this type is used to specify different properties of the proxy such as the Server and the AuthScheme.
Fields
AuthScheme
ProxyAuthSchemes
Default Value: 0
Use the AuthScheme field to tell the connector which type of authorization to perform when connecting to the proxy. This is only used when the User and Password fields are set.
AuthScheme should be set to authNone (3) when no authentication is expected.
By default, AuthScheme is authBasic (0), and if the User and Password fields are set, the component will attempt basic authentication. If AuthScheme is set to authDigest (1), digest authentication will be attempted instead.
If AuthScheme is set to authProprietary (2), then the authorization token will not be generated by the connector. Look at the configuration file for the connector being used to find more information about manually setting this token.
If AuthScheme is set to authNtlm (4), NTLM authentication will be used. This option is only available in the SSL package.
For security reasons, setting this property will clear the values of User and Password.
AutoDetect
Boolean
Default Value: False
Tells the connector whether or not to automatically detect and use proxy system settings, if available.
Password
String
Default Value: ""
A password if authentication is to be used for the proxy.
If AuthScheme is set to Basic Authentication, the User and Password are Base64 encoded and the proxy authentication token will be generated in the form "Basic [encoded-user-password]".
If AuthScheme is set to Digest Authentication, the User and Password fields are used to respond to the Digest Authentication challenge from the server.
If AuthScheme is set to NTLM Authentication, the User and Password fields are used to authenticate through NTLM negotiation.
Port
Integer
Default Value: 80
The TCP port for the proxy Server (default 80). See the description of the Server field for details.
Server
String
Default Value: ""
If a proxy Server is given, then the HTTP request is sent to the proxy instead of the server otherwise specified.
If the Server field is set to a Domain Name, a DNS request is initiated and upon successful termination of the request, the Server field is set to the corresponding address. If the search is not successful, an error is returned.
SSL
ProxySSLTypes
Default Value: 0
Determines when to use SSL for the connection to the proxy. The applicable values are the following:
psAutomatic (0) | Default setting. The connection to the Server is SSL-enabled for 'https' URL-s, and non SSL-enabled for other URL-s. |
psAlways (1) | The connection is always SSL-enabled. |
psNever (2) | The connection is not SSL-enabled. |
psTunnel (3) | The connection is through a tunneling (HTTP) proxy. |
User
String
Default Value: ""
A user name, if authentication is to be used for the proxy.
If AuthScheme is set to Basic Authentication, the User and Password are Base64 encoded and the proxy authentication token will be generated in the form "Basic [encoded-user-password]".
If AuthScheme is set to Digest Authentication, the User and Password fields are used to respond to the Digest Authentication challenge from the server.
If AuthScheme is set to NTLM Authentication, the User and Password fields are used to authenticate through NTLM negotiation.
Config Settings (AS4Web Connector)
The connector accepts one or more of the following configuration settings. Configuration settings are similar in functionality to properties, but they are rarely used. In order to avoid "polluting" the property namespace of the connector, access to these internal properties is provided through the Other property.AS4Web Config Settings
This value corresponds to the ebMS element "eb:Messaging/eb:UserMessage/eb:CollaborationInfo/eb:AgreementRef/@pmode"
This value corresponds to the ebMS element "eb:Messaging/eb:UserMessage/eb:CollaborationInfo/eb:AgreementRef/@type"
This setting is only applicable when the first file specified in EDIData is of type "text/xml" or "application/xml". In addition this is only applicable when Profile is set to Standard.
If set to True (default), the file will be sent as an attachment. This allows the filename to be preserved and the file is sent as a separate MIME part. If set to False and the criteria above are met then the file will be sent within the SOAP body. In this case the filename cannot be preserved normally.
The default value is True.
Note: When Profile is set to Standard the first EDIData part will be included in the SOAP body if the EDIType is "text/xml" or "application/xml". In that case since the data is included in the SOAP body it will not be compressed. When Profile is set to ENTSOG all EDIData parts are compressed.
Base64 (2) | Base64 encoding of binary data. |
Binary (4) | Binary data without any encoding. |
The default value depends on the Profile. For the Standard profile the default value is False. When Profile is set to ENTSOG this value is set to True.
<eb3:PartInfo href="cid:_de48eece-d1d8-4823-8a63-d3a8d14dc1a8@nsoftware">In some cases it may be desired or necessary to specify a user-defined value. For instance:
<eb3:PartInfo href="cid:mypart@myhost">After adding the part to EDIData the Id may be specified by setting:
AS4Component.Config("EDIDataPartId[0]=mypart@myhost");This setting is also populated with the parsed Ids after receiving a message.
0 (X509 - default) | X509 data including the certificate's issuer name and issuer serial number is included in the X509Data element. |
1 (Binary) | A binary security token holds the base64 encoded contents of the public certificate and is referenced from within the Reference element. |
2 (Subject Key Identifier) | The X509 subject key identifier is included in the KeyIdentifier element. |
3 (X509PKIPathv1) | A binary security token holds the base64 encoded ordered list of X509 public certificates and is referenced from within the Reference element. |
The default value is 0 (X509) and should not be changed unless there is a specific reason to do so.
Note: The default value when Profile is set to eDelivery is 1 (Binary).
This is helpful in the case where Profile is set to ebpfStandard and the first file being sent is of type "text/xml" or "application/xml". In that case the file content is included in the SOAP body and there is no standard mechanism for preserving the filename.
When set the connector will automatically populate the property when sending files and will read the filename from this property when receiving files.
By default this is not specified.
Note: The filenames will always be preserved within the MIME header attributes whenever possible regardless of whether this setting is specified.
If set to True (default) the connector will only attempt to use the certificate specified by SigningCert. If SigningCert is not specified signing will not be attempted.
component.Config("FromIdCount=2");
component.Config("FromId[0]=id1");
component.Config("FromIdType[0]=mytype");
component.Config("FromId[1]=id2");
When receiving a message with multiple Ids, query these settings to read the values.
By default this value is unspecified and only a single Id is used as specified in the Id field of AS4From.
Value | Algorithm | Notes |
DH | http://www.w3.org/2009/xmlenc11#dh | Not currently implemented. |
DH-ES | http://www.w3.org/2009/xmlenc11#dh-es | Not currently implemented. |
ECDH-ES | http://www.w3.org/2009/xmlenc11#ECDH-ES | Default when Profile is ebpfBDEW. |
- SHA512
- SHA384
- SHA256 (Default)
- SHA224
- SHA1
Value | Algorithm |
ConcatKDF (Default) | http://www.w3.org/2009/xmlenc11#ConcatKDF |
PBKDF2 | http://www.w3.org/2009/xmlenc11#pbkdf2 |
Value | Algorithm | Notes |
RSA-OAEP-XMLENC11 | http://www.w3.org/2009/xmlenc11#rsa-oaep | This is used in the default configuration. Additionally if RSA-OAEP is specified this will be automatically used instead if OAEPMGF1HashAlgorithm is set to any value except SHA1 or OAEPRSAHashAlgorithm is set to SHA384 or SHA512. |
RSA-v1.5 | http://www.w3.org/2001/04/xmlenc#rsa-1_5 | There are no conditions for the use of this algorithm. If specified it will be used regardless of other settings. |
RSA-OAEP | http://www.w3.org/2001/04/xmlenc#rsa-oaep-mgf1p | This is used by default when OAEPMGF1HashAlgorithm is set to SHA1 and OAEPRSAHashAlgorithm is set to SHA1 or SHA256. This is only applicable under these conditions, it cannot override when RSA-OAEP-XMLENC11 is used based on the OAEPMGF1HashAlgorithm and OAEPRSAHashAlgorithm values. |
KW-AES128 | http://www.w3.org/2001/04/xmlenc#kw-aes128 | This is used by default if Profile is set to ebpfBDEW. |
KW-AES192 | http://www.w3.org/2001/04/xmlenc#kw-aes192 | |
KW-AES256 | http://www.w3.org/2001/04/xmlenc#kw-aes256 |
0 (Error) | Only errors are logged. |
1 (Info - default) | Informational and errors are logged. |
2 (Debug) | All information is logged including debug info. |
Log | Contains information about the steps taken during processing. Also see LogLevel. |
Incoming | Contains the raw request/response that is received by the connector. |
Outgoing | Contains the raw request/response that is sent by the connector. |
IncomingMessage | Contains the incoming ebXML message. |
OutgoingMessage | Contains the outgoing ebXML message. |
All (default) | All of the above |
1 | Pull Request (Receive Files) |
2 | User Message (Send Files) |
4 | Receipt |
8 | Error Message |
int requestType = Int32.Parse(AS4Server.Config("MessageType"));
if((requestType & 1) != 0)
//The request contains a pull request
The default value is True to maximize interoperability with other AS4 software.
- "SHA1"
- "SHA224"
- "SHA256" (default)
- "SHA384"
- "SHA512"
Note: If Profile is set to ENTSOG the MGF1HashAlgorithm will be set to "SHA256" by default.
- "SHA1"
- "SHA224"
- "SHA256" (default)
- "SHA384"
- "SHA512"
This setting is only applicable to the Receive connector
- "SHA1"
- "SHA224"
- "SHA256" (default)
- "SHA384"
- "SHA512"
If this setting is specified, the connector will verify the chain of the signer certificate against the CA
list set in this setting. To specify one or more CA certificate prior to signature verification set
this to the base64 encoded public certificate of each CA certificate. Each additional certificate can be
added by prepending the data with a + character. If the value begins with a + the connector
will add the following value to an internal store of CA certificates. For instance:
//Add the first CA certificate
as4.Config("SignerCACert=MIICFDCCAX2g...");
//Add another CA certificate (Note the leading '+')
as4.Config("SignerCACert=+MIICHDCCAYW...");
If the chain validation fails during signature verification the connector throws an exception. If this setting is not specified no chain validation is performed.
0 (X509 - default) | X509 data including the certificate's issuer name and issuer serial number is included in the X509Data element. |
1 (Binary) | A binary security token holds the base64 encoded contents of the public certificate and is referenced from within the Reference element. |
2 (Subject Key Identifier) | The X509 subject key identifier is included in the KeyIdentifier element. |
3 (X509PKIPathv1) | A binary security token holds the base64 encoded ordered list of X509 public certificates and is referenced from within the Reference element. |
The default value is 0 (X509) and should not be changed unless there is a specific reason to do so.
Note: The default value when Profile is set to eDelivery is 1 (Binary).
component.Config("ToIdCount=2");
component.Config("ToId[0]=id1");
component.Config("ToIdType[0]=mytype");
component.Config("ToId[1]=id2");
When receiving a message with multiple Ids, query these settings to read the values.
By default this value is unspecified and only a single Id is used as specified in the Id field of AS4To.
- 0 (Digest - default)
- 1 (Text)
This setting is only applicable to the Receive connector
When set to True (default) the connector will perform canonicalize the receipt when it is received. This may be helpful if the value of Content is to be used in a later process where a valid XML document is required. When set to true (false by default), the component will transform the receipt content made available in the component using Exclusive XML Canonicalization.
If False the connector will not alter the received receipt. The value of Content will not itself be a well formed XML document.
SSL Config Settings
If set to true, the connector will reuse the context if and only if the following criteria are met:
- The target host name is the same.
- The system cache entry has not expired (default timeout is 10 hours).
- The application process that calls the function is the same.
- The logon session is the same.
- The instance of the connector is the same.
Please note that this setting contains the minimum cipher strength requested from the security library.
Use this setting with caution. Requesting a lower cipher strength than necessary could potentially cause serious security vulnerabilities in your application.
By default, the enabled cipher suites will include all available ciphers ("*").
The special value "*" means that the connector will pick all of the supported cipher suites. If SSLEnabledCipherSuites is set to any other value, only the specified cipher suites will be considered.
Multiple cipher suites are separated by semicolons.
Example values when UseInternalSecurityAPI is False (default):
// The "Other" property could contain ONE of the following lines:
SSLEnabledCipherSuites=*
SSLEnabledCipherSuites=CALG_AES_256
SSLEnabledCipherSuites=CALG_AES_256;CALG_3DES
Possible values when UseInternalSecurityAPI is False (default) include:
- CALG_3DES
- CALG_3DES_112
- CALG_AES
- CALG_AES_128
- CALG_AES_192
- CALG_AES_256
- CALG_AGREEDKEY_ANY
- CALG_CYLINK_MEK
- CALG_DES
- CALG_DESX
- CALG_DH_EPHEM
- CALG_DH_SF
- CALG_DSS_SIGN
- CALG_ECDH
- CALG_ECDH_EPHEM
- CALG_ECDSA
- CALG_ECMQV
- CALG_HASH_REPLACE_OWF
- CALG_HUGHES_MD5
- CALG_HMAC
- CALG_KEA_KEYX
- CALG_MAC
- CALG_MD2
- CALG_MD4
- CALG_MD5
- CALG_NO_SIGN
- CALG_OID_INFO_CNG_ONLY
- CALG_OID_INFO_PARAMETERS
- CALG_PCT1_MASTER
- CALG_RC2
- CALG_RC4
- CALG_RC5
- CALG_RSA_KEYX
- CALG_RSA_SIGN
- CALG_SCHANNEL_ENC_KEY
- CALG_SCHANNEL_MAC_KEY
- CALG_SCHANNEL_MASTER_HASH
- CALG_SEAL
- CALG_SHA
- CALG_SHA1
- CALG_SHA_256
- CALG_SHA_384
- CALG_SHA_512
- CALG_SKIPJACK
- CALG_SSL2_MASTER
- CALG_SSL3_MASTER
- CALG_SSL3_SHAMD5
- CALG_TEK
- CALG_TLS1_MASTER
- CALG_TLS1PRF
// The "Other" property could contain ONE of the following lines:
SSLEnabledCipherSuites=*
SSLEnabledCipherSuites=TLS_DHE_DSS_WITH_AES_128_CBC_SHA
SSLEnabledCipherSuites=TLS_DHE_DSS_WITH_AES_128_CBC_SHA;TLS_DH_ANON_WITH_AES_128_CBC_SHA
Possible values when UseInternalSecurityAPI is True include:
- TLS_DHE_DSS_WITH_AES_128_GCM_SHA256
- TLS_DHE_DSS_WITH_AES_256_GCM_SHA384
- TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA
- TLS_DHE_DSS_WITH_AES_128_CBC_SHA
- TLS_DHE_DSS_WITH_AES_128_CBC_SHA256
- TLS_DHE_DSS_WITH_AES_256_CBC_SHA
- TLS_DHE_DSS_WITH_AES_256_CBC_SHA256
- TLS_DHE_DSS_WITH_DES_CBC_SHA
- TLS_DHE_RSA_WITH_AES_128_GCM_SHA256
- TLS_DHE_RSA_WITH_AES_256_GCM_SHA384
- TLS_DHE_RSA_WITH_3DES_EDE_CBC_SHA
- TLS_DHE_RSA_WITH_AES_128_CBC_SHA
- TLS_DHE_RSA_WITH_AES_128_CBC_SHA256
- TLS_DHE_RSA_WITH_AES_256_CBC_SHA
- TLS_DHE_RSA_WITH_AES_256_CBC_SHA256
- TLS_DHE_RSA_WITH_DES_CBC_SHA
- TLS_RSA_WITH_AES_256_GCM_SHA384
- TLS_RSA_WITH_AES_128_GCM_SHA256
- TLS_RSA_WITH_3DES_EDE_CBC_SHA
- TLS_RSA_WITH_AES_128_CBC_SHA
- TLS_RSA_WITH_AES_128_CBC_SHA256
- TLS_RSA_WITH_AES_256_CBC_SHA
- TLS_RSA_WITH_AES_256_CBC_SHA256
- TLS_RSA_WITH_DES_CBC_SHA
- TLS_RSA_WITH_RC4_128_MD5
- TLS_RSA_WITH_RC4_128_SHA
If SSLEnabledProtocols is configured to use TLS 1.3 the following values are supported:
- TLS_AES_128_GCM_SHA256
- TLS_AES_256_GCM_SHA384
SSLEnabledCipherSuites is used together with SSLCipherStrength.
Not all supported protocols are enabled by default (the value of this setting is 4032). If you want more granular control over the enabled protocols, you can set this property to the binary 'OR' of one or more of the following values:
TLS1.3 | 12288 (Hex 3000) (Experimental) |
TLS1.2 | 3072 (Hex C00) (Default) |
TLS1.1 | 768 (Hex 300) (Default) |
TLS1 | 192 (Hex C0) (Default) |
SSL3 | 48 (Hex 30) |
SSL2 | 12 (Hex 0C) |
Note: TLS 1.1 and TLS1.2 support are only available starting with Windows 7.
Note: Enabling TLS 1.3 will automatically set UseInternalSecurityAPI to True.
If set to True all certificates returned by the server will be present in the transport log. This includes the leaf certificate, any intermediate certificate, and the root certificate.
Note: When UseInternalSecurityAPI is set to True this value is automatically set to True. This is needed for proper validation when using the internal provider.
0x00000001 | Ignore time validity status of certificate. |
0x00000002 | Ignore time validity status of CTL. |
0x00000004 | Ignore non-nested certificate times. |
0x00000010 | Allow unknown Certificate Authority. |
0x00000020 | Ignore wrong certificate usage. |
0x00000100 | Ignore unknown certificate revocation status. |
0x00000200 | Ignore unknown CTL signer revocation status. |
0x00000400 | Ignore unknown Certificate Authority revocation status. |
0x00000800 | Ignore unknown Root revocation status. |
0x00008000 | Allow test Root certificate. |
0x00004000 | Trust test Root certificate. |
0x80000000 | Ignore non-matching CN (certificate CN not-matching server name). |
When specified the connector will verify that the server certificate signature algorithm is among the values specified in this setting. If the server certificate signature algorithm is unsupported the connector will fail with an error.
The format of this value is a comma separated list of hash-signature combinations. For instance:
// The "Other" could contain ALL of these lines:
UseInternalSecurityAPI=true
SSLEnabledProtocols=3072
TLS12SignatureAlgorithms=sha1-rsa,sha1-dsa,sha256-rsa,sha256-dsa
The default value for this setting is "sha1-rsa,sha1-dsa,sha224-rsa,sha224-dsa,sha256-rsa,sha256-dsa,sha384-rsa,sha384-dsa,sha512-rsa,sha512-dsa".
In order to not restrict the server's certificate signature algorithm, specify an empty string as the value for this setting, which will cause the signature_algorithms TLS 1.2 extension to not be sent.
The default value is ecdhe_secp256r1,ecdhe_secp384r1,ecdhe_secp521r1.
When using TLS 1.2 and UseInternalSecurityAPI is set to True, the values refer to the supported groups for ECC. The following values are supported:
- "ecdhe_secp256r1" (default)
- "ecdhe_secp384r1" (default)
- "ecdhe_secp521r1" (default)
The default value is set to balance common supported groups and the computational resources required to generate key shares. As a result only some groups are included by default in this setting.
Note: All supported groups can always be used during the handshake even if not listed here, but if a group is used which is not present in this list it will incur an additional round trip and time to generate the key share for that group.
In most cases this setting does not need to be modified. This should only be modified if there is a specific reason to do so.
The default value is ecdhe_x25519,ecdhe_secp256r1,ecdhe_secp384r1,ffdhe_2048,ffdhe_3072
The values are ordered from most preferred to least preferred. The following values are supported:
- "ecdhe_x25519" (default)
- "ecdhe_x448"
- "ecdhe_secp256r1" (default)
- "ecdhe_secp384r1" (default)
- "ecdhe_secp521r1"
- "ffdhe_2048" (default)
- "ffdhe_3072" (default)
- "ffdhe_4096"
- "ffdhe_6144"
- "ffdhe_8192"
- "rsa_pkcs1_sha256" (default)
- "rsa_pkcs1_sha384" (default)
- "rsa_pkcs1_sha512" (default)
The default value is ecdhe_x25519,ecdhe_x448,ecdhe_secp256r1,ecdhe_secp384r1,ecdhe_secp521r1,ffdhe_2048,ffdhe_3072,ffdhe_4096,ffdhe_6144,ffdhe_8192
The values are ordered from most preferred to least preferred. The following values are supported:
- "ecdhe_x25519" (default)
- "ecdhe_x448" (default)
- "ecdhe_secp256r1" (default)
- "ecdhe_secp384r1" (default)
- "ecdhe_secp521r1" (default)
- "ffdhe_2048" (default)
- "ffdhe_3072" (default)
- "ffdhe_4096" (default)
- "ffdhe_6144" (default)
- "ffdhe_8192" (default)
General Config Settings
In multihomed hosts (machines with more than one IP interface) setting LocalHost to the value of an interface will make the connector initiate connections (or accept in the case of server connectors) only through that interface.
If the connector is connected, the LocalHost configuration shows the IP address of the interface through which the connection is made in internet dotted format (aaa.bbb.ccc.ddd). In most cases, this is the address of the local host, except for multihomed hosts (machines with more than one IP interface).
By default, this config is set to false.
Setting this configuration setting to True tells the connector to use the internal implementation instead of using the system security libraries.
This setting is set to False by default on all platforms.