- Properties specific to the description of xmlSignature variables
xmlSignature (Type of variable)
In french: xmlSignature
type is used to define the advanced characteristics of an XML signature. The characteristics of this signature can be defined and changed using different WLanguage properties.
: For more details on the declaration of this type of variable and the use of WLanguage properties, see Declaring a variable
MySignature is xmlSignature
MySignature.AlgorithmNormalization = atC14NExclusiveWithComments
MySignature.AlgorithmSignature = asRSA_SHA_160
MySignature.Key = MyCertificate
MySignature.KeyInformation.Type = informationKeyX509
// Example that is using a Webservice included to the project
// This example does not operate via a copy/paste
// SOAPAddXMLSignature takes in 2nd parameter the location where the signature will be placed.
// This location is described in the WSDL that we want to use, by an XSD type.
// In this code example, this location is described in "Security.Assetion.Signature"
// that comes from the WSDL of the Webservice that we want to call.
// Therefore, we must refer to the WSDL that we are using to find this location.
MyRequest is wsRequest
MySecurity is Security // Webservice included in the project.
// Builds an identifier
id is string = GetGUID(guidFormatted)
id = "_" + Middle(id, 2, Length(id) - 2)
// Initializes the signature
cMySignature is xmlSignature
cMySignature.AlgorithmNormalization = atC14NExclusive
cMySignature.AlgorithmSignature = asRSA_SHA_256
// Key file OR certificate retrieved by the certificate functions
cMySignature.Key = fExeDir + fSep + "mykey.p12"
cMySignature.KeyPassword = "password"
cMySignature.KeyFileType = tfcPKCS12
cMySignature.Reference.AlgorithmHash = HA_SHA_256
cMySignature.Reference.URI = "#" + id
cMySignature.Reference.Transformation = atEnveloped
cMySignature.Reference.Transformation = atC14NExclusive
x509 is xmlSignatureInformationKeyX509
x509.WithCertificate = True
cMySignature.KeyInformation = x509
// End of signature initialization
dtCurrentDateTime is DateTime
MySecurity.Assertion:ID = id
MySecurity.Assertion:IssueInstant = dtCurrentDateTime
MySecurity.Assertion:Version = "2.0"
MySecurity.Assertion.Issuer = "test"
MaSecurity.Assertion.Issuer:Format = ...
// Adds the signature
SOAPAddXMLSignature(MaRequest, MySecurity.Assertion.Signature, cMySignature)
Properties specific to the description of xmlSignature variables
The following properties can be used to handle an xmlSignature variable:
|Property name||Type used||Effect|
|AlgorithmNormalization||Integer constant||Method for standardizing the XML (C14N): |
- atNone: no standardization method.
- atC14N11Inclusive: Inclusive C14N11 standardization method.
- atC14N11InclusiveWithComments: Inclusive C14N11 standardization method with comments.
- atC14NExclusive: Exclusive C14N standardization method.
- atC14NExclusiveWithComments: Exclusive C14N standardization method with comments.
- atC14NInclusive: Inclusive C14N standardization method.
- atC14NInclusiveWithComments: Inclusive C14N standardization method with comments.
|AlgorithmSignature||Integer constant||Method used for the signature:
- asDSA_SHA_160: DSA encryption algorithm and SHA 160 hash algorithm
- asRSA_SHA_160: RSA encryption algorithm and SHA 160 hash algorithm
- asRSA_SHA_256: RSA encryption algorithm and SHA 256 hash algorithm
|Key||Certificate or key file used for the signature. If this property corresponds to a file, the KeyFileType property must be specified.|
|KeyFileType||Integer constant||If the Key property corresponds to a file, the KeyFileType property is used to define the type of file encoding: |
- tfcBinary: binary encoding.
- tfcDER: DER encoding (Distinguished Encoding Rule).
- tfcPEM: PEM encoding.
- tfcPKCS12: PKCS12 encoding.
- tfcPKCS8DER: PKCS8 DER encoding.
- tfcPKCS8PEM: PKCS8 PEM encoding.
|KeyInformation||Array of xmlSignatureInformationKeyX509 variables||Used to specify information about the key used.|
|KeyPassword||Character string||Password used to decrypt the private key.|
|Reference||Array of xmlSignatureReference||Elements to sign.|
This page is also available for…