| Open Interfaces for e-Government |
![]() |
Minimum Implementation of the Security Layer
Document information
Designation |
Minimum implementation of the Security Layer for the Austrian Citizen Card |
Brief designation |
Minimum implementation of the Security Layer |
Version |
1.2.0 |
Date |
2004-05-14 |
Document class |
Convention |
Document status |
Recommendation |
Short Name |
This document describes the following requirements for a minimum implementation of the Security Layer interface by a Citizen Card Environment:
|
Authors |
Arno Hollosi |
Work group |
Federal Chancellery, Federal Staff Unit for ICT Strategy, Technology and Standards |
© |
This specification is supplied by A-SIT and the Federal Chancellery. It may be used without modification provided that reference is made to this copyright notice. The specification may be expanded, however any additional material must be clearly identified and the expanded specification must be made freely available. |
This document describes the requirements for a minimum implementation of the Security Layer interface by means of a Citizen Card Environment. In order to conform to the Citizen Card model, a Citizen Card Environment must implement all the functions identified in the following chapters as required or recommended. In well-founded exceptional cases, it is possible to omit functions identified as recommended (compare the meaning of the keyword recommended in [Keywords]).
For better readability, this document dispenses with non-gender-specific formulations. However, the formulations expressly relate to both sexes.
The following name space prefixes are used in this specification to identify the name spaces of XML elements:
Prefix |
Name space |
Explanation |
dsig |
http://www.w3.org/2000/09/xmldsig# |
Elements from [XMLDSIG] |
dsm |
http://www.w3.org/2001/04/xmldsig-more# |
Elements from [ECDSA-XML] |
xenc |
http://www.w3.org/2001/04/xmlenc# |
Elements from [XMLEnc] |
sl |
http://www.buergerkarte.at/namespaces/securitylayer/1.2# |
Elements of this specification |
This document uses the following keywords to categorise requirements: must, must not, required, should, should not, recommended, may and optional. The interpretation of these keywords is set down in [Keywords].
The following table lists all the interface commands specified in the Security Layer application interface. The following table indicates whether each transport protocol has to be contained (required or recommended requirement level) or does not have to be contained (optional requirement level) in a minimum implementation of the Citizen Card Environment.
| Signature command | Command name | Requirement |
| Create a signature in CMS format | sl:CreateCMSSignatureRequest |
recommended |
| Create a signature in XMLDSIG format | sl:CreateXMLSignatureRequest |
required |
| Verify a signature in CMS format | sl:VerifyCMSSignatureRequest |
recommended |
| Verify a signature in XMLDSIG format | sl:VerifyXMLSignatureRequest |
required |
| Encrypt as a CMS message | sl:EncryptCMSRequest |
recommended |
| Encrypt as an XML message | sl:EncryptXMLRequest |
recommended |
| Decrypt a CMS message | sl:DecryptCMSRequest |
recommended |
| Decrypt an XML message | sl:DecryptXMLRequest |
recommended |
| Calculate hash value |
sl:CreateHashRequest |
required |
| Verify hash value |
sl:VerifyHashRequest |
recommended |
| Request available info boxes |
sl:InfoboxAvailableRequest |
required |
| Create an info box | sl:InfoboxCreateRequest |
required |
| Delete an info box | sl:InfoboxDeleteRequest |
required |
| Read info box data | sl:InfoboxReadRequest |
required |
| Change info box data | sl:InfoboxUpdateRequest |
required |
| Null operation | sl:NullOperationRequest |
required |
| Request environment properties | sl:GetPropertiesRequest |
required |
| Request token status | sl:GetStatusRequest |
required |
The Security Layer transport protocols document describes a series of possible transport protocols for the Security Layer application interface. The following table indicates whether each transport protocol has to be contained required or recommended requirement level) or does not have to be contained (optional requirement level) in a minimum implementation of the Citizen Card Environment.
| Transport protocol | Context | |
|---|---|---|
| Local CCE(1) | Server-based CCE(1) | |
| TCP/IP | recommended | optional |
| SSL/TLS | optional | optional |
| HTTP | required | optional |
| HTTPS | required | required |
(1) For the distinction between a local and a server-based Citizen Card Environment see Introduction to the Austrian Citizen Card, section 1.
This section specifies a profile of [CMS] that must be used by a Citizen Card Environment in the context of the CreateCMSSignature command.
The SHA-1 algorithm according to [CMS-Alg],
section 2.1 MUST be used to calculate the Message Digest
according to [CMS],
section 5.4.
The algorithm for calculating the signature value according to [CMS], section 5.5, depends on the signature key of the Citizen Card Environment, which is specified in the CreateCMSSignature command. The algorithm according to [CMS-Alg], section 3.2, must be used for RSA keys, the algorithm according to [CMS-Alg], section 3.1, for DSA keys, and the algorithm according to [ECDSA-CMS], section 2.1.1, for ECDSA keys.
Information about the location of the verification key can be
specified in a CMS signature in the form of a collection of X509
certificates in the certificates field (cf. [CMS],
section 5.1). The Citizen Card Environment must always include the signatory
certificate in this collection. It is also recommended that the whole chain of certificates required to verify the signature
(signatory certificate up to a trust-worthy root instance) should also
be included in this collection.
The following table specifies the requirement levels for the Citizen Card Environment in relation to the protocols when resolving references in the context of the CreateCMSSignature command.
| Protocol |
Context |
|---|---|
sl:DataObject/sl:Content/@Reference |
|
http |
required |
https |
required |
formdata(1) |
required |
(1) Compare Security Layer transport protocols, section 3.3.1.2.
This section specifies a profile of [CMS] that must be encompassed by a Citizen Card Environment in the context of the VerifyCMSSignature command.
The Citizen Card Environment MUST support all algorithms (SHA-1, MD5) for calculating the Message Digest
listed in [CMS-Alg],
section 2 in the context of signature verification according to [CMS],
section 5.6.
The following table specifies the requirement levels for the Citizen Card Environment in relation to the support of signature algorithms in the context of signature verification according to [CMS], section 5.6.
| Designation | OID | Normative reference | Requirement |
|---|---|---|---|
| RSA | { iso(1) member-body(2) us(840) rsadsi(113549) pkcs(1)
pkcs-1(1) 5 } |
[CMS-Alg], 3.2 | required |
| DSA | { iso(1) member-body(2) us(840) x9-57 (10040) x9cm(4) 3
} |
[CMS-Alg], 3.1 | required |
| ECDSA | { iso(1) member-body(2) us(840) 10045 signatures(4) 1} |
[ECDSA-CMS], 2.2.1 | required |
Information about the location of the verification key can be
specified in a CMS signature in the form of a collection of X509
certificates in the certificates field (cf. [CMS],
section 5.1). The Citizen Card Environment may use this information to find the
verification key and to form the certificate chain towards a
trust-worthy root.
Furthermore, CMS signature revocation information can be specified
in the form of a collection of X509 revocation lists in the crls field (cf. [CMS],
section 5.1). The Citizen Card Environment may use this information to determine
the status of a certificate when validating a certificate chain.
The following table specifies the requirement levels for the Citizen Card Environment in relation to the protocols when resolving references in the context of the VerifyCMSSignature command.
| Protocol |
Context |
|---|---|
sl:DataObject/sl:Content/@Reference |
|
http |
required |
https |
required |
formdata(1) |
required |
(1) Compare Security Layer transport protocols, section 3.3.1.2.
This section specifies a profile of [XMLDSIG] that must be used by a Citizen Card Environment in the context of the CreateXMLSignature command.
The SHA-1 algorithm according to [XMLDSIG],
section 6.2.1 MUST be used to calculate Message Digests
in an XML signature.
The algorithm for calculating the signature value according to [XMLDSIG], section 3.1.2 depends on the signature key of the Citizen Card Environment, which is specified in the CreateXMLSignature command. The algorithm according to [XMLDSIG], section 6.4.2, must be used for RSA keys, the algorithm according to [XMLDSIG], section 6.4.1, for DSA keys, and the algorithm according to [ECDSA-XML], section 3, for ECDSA keys.
The following table specifies the requirement levels for the Citizen Card Environment in relation to the support for canonicalisation algorithms in the context of the CreateXMLSignature command.
| Designation | URI | Normative reference | Requirement |
|---|---|---|---|
| C14N | http://www.w3.org/TR/2001/REC-xml-c14n-20010315 |
[XMLDSIG], 6.5.1 | required |
| C14N with comments | http://www.w3.org/TR/2001/REC-xml-c14n-20010315#WithComments |
[XMLDSIG], 6.5.1 | required |
| EC14N | http://www.w3.org/2001/10/xml-exc-c14n# |
[EC14N], 4 | required |
| EC14N with comments | http://www.w3.org/2001/10/xml-exc-c14n#WithComments |
[EC14N], 4 | required |
The following table specifies the requirement levels for the Citizen Card Environment in relation to the support for transformation algorithms in the context of the CreateXMLSignature command.
| Designation | URI | Normative reference | Requirement |
|---|---|---|---|
| C14N | http://www.w3.org/TR/2001/REC-xml-c14n-20010315 |
[XMLDSIG], 6.5.1 | required |
| C14N with comments | http://www.w3.org/TR/2001/REC-xml-c14n-20010315#WithComments |
[XMLDSIG], 6.5.1 | required |
| EC14N | http://www.w3.org/2001/10/xml-exc-c14n# |
[EC14N], 4 | required |
| EC14N with comments | http://www.w3.org/2001/10/xml-exc-c14n#WithComments |
[EC14N], 4 | required |
| Base64 Decoder | http://www.w3.org/2000/09/xmldsig#base64 |
[XMLDSIG], 6.6.2 | required |
| XPath Filter 1 | http://www.w3.org/TR/1999/REC-xpath-19991116 |
[XMLDSIG], 6.6.3 | required |
| XPath Filer 2 | http://www.w3.org/2002/06/xmldsig-filter2 |
[XPF2] | required |
| Enveloped Signature | http://www.w3.org/2000/09/xmldsig#enveloped-signature |
[XMLDSIG], 6.6.4 | required |
| XSLT | http://www.w3.org/TR/1999/REC-xslt-19991116 |
[XMLDSIG], 6.6.5 | required |
| Binary Mode Decryption | http://www.w3.org/2002/07/decrypt#Binary |
[XMLDecTF], 4 | optional |
| XML Mode Decryption(1) | http://www.w3.org/2002/07/decrypt#XML |
[XMLDecTF], 3 | optional |
(1) When an XML Mode Decryption transformation is used when creating an XML signature, the Citizen Card Environment must use the mechanism from [XMLDecTF], section 3.2.
Information about the location of the verification key in the dsig:KeyInfo XML element can be specified in an XML signature (cf. [XMLDSIG],
section 4.4). The Citizen Card Environment must always include the signatory
certificate in this XML element. Furthermore, it is recommended that the whole chain of
certificates required to verify the signature (signatory certificate up
to a trust-worthy instance) should also be included in this XML element.
The following table specifies the requirement levels for the Citizen Card Environment in relation to the protocols when resolving references in the context of the CreateXMLSignature command.
| Protocol | http | https | formdata | ID reference | XPointer reference(2) | |
|---|---|---|---|---|---|---|
| C o n t e x t |
sl:DataObjectInfo/ |
required |
required | required | required | recommended |
sl:DataObjectInfo/sl:LocRefContent |
required |
required | required | n.a. | n.a. | |
| Imported style sheets(1) | required | required | required | n.a. | n.a. | |
sl:DataObjectInfo/ |
required | required | required | n.a. | n.a. | |
sl:SignatureInfo/ |
required | required | required | n.a. | n.a. | |
sl:SignatureInfo/ |
required | required | required | n.a. | n.a. | |
(1) Style sheet imports specified in an XSLT transformation of a data object.
(2) XPointer according to [XPointerFW]
containing xmlns (cf. [XPointerNS])
and element (cf. [XPointerEL]) XPointer Parts.
This section specifies a profile of [XMLDSIG] that must be encompassed by a Citizen Card Environment in the context of the VerifyXMLSignature command.
The Citizen Card Environment MUST support
all algorithms (SHA-1) for calculating the Message Digest during
signature verification according to [XMLDSIG],
section 3.2, as listed in [XMLDSIG],
section 6.2.
The following table specifies the requirement levels for the Citizen Card Environment in relation to the support of signature algorithms in the context of signature verification according to [XMLDSIG], section 3.2.
| Designation | URI | Normative reference | Requirement |
|---|---|---|---|
| RSA-SHA1 | http://www.w3.org/2000/09/xmldsig#dsa-sha1 |
[XMLDSIG], 6.4.2 | required |
| DSA-SHA1 | http://www.w3.org/2000/09/xmldsig#rsa-sha1 |
[CMS-Alg], 6.4.1 | required |
| ECDSA-SHA1 | http://www.w3.org/2001/04/xmldsig-more#ecdsa-sha1 |
[ECDSA-XML], 3 | required |
For the table of requirement levels for the Citizen Card Environment in relation to the support of canonicalisation algorithms as part of signature verification according to [XMLDSIG], section 3.2, see section 5.1.3.
For the table of requirement levels for the Citizen Card Environment in relation to the support of transformation algorithms as part of signature verification according to [XMLDSIG], section 3.2, see section 5.1.4.
The specifications in Security Layer application interface, section 5.2 and in section 7.2 of this document apply to both Binary Mode Decryption and XML Mode Decryption transformations.
Information about the location of the verification key in the dsig:KeyInfo XML element can be specified in an XML signature (cf. [XMLDSIG],
section 4.4). The following table specifies the requirement levels for
the Citizen Card Environment in relation
to the support for XML elements that can arise there. All XML elements
not explicitly named in the table may be evaluated by the Citizen Card Environment.
| Child element | Requirement | Note |
|---|---|---|
dsig:RSAKeyValue |
recommended | - |
dsig:DSAKeyValue |
recommended | - |
dsm:ECDSAKeyValue |
recommended | - |
dsig:X509IssuerSerial |
recommended | This XML element clearly identifies a particular certificate. This means that the Citizen Card Environment can allocate a certificate from its own cache if necessary. |
dsig:X509Certificate |
required | - |
dsig:X509CRL |
required | A revocation list encoded with this XML element must be understood by the Citizen Card Environment but not necessarily used by it (e.g. because a more up-to-date version can be called up from a distribution point). |
dsig:RetrievalMethod with reference to dsig:X509Data |
required | The requirement levels of this table apply for the XML child
elements of the dsig:X509Data referenced. |
dsig:RetrievalMethod with direct reference to an
X509 certificate |
required | - |
The following table specifies the requirement levels for the Citizen Card Environment in relation to the protocols when resolving references in the context of the VerifyXMLSignature command.
| Protocol | http | https | ldap | formdata | ID reference | XPointer reference(2) | |
|---|---|---|---|---|---|---|---|
| C o n t e x t |
sl:SignatureInfo/ |
required |
required | optional | required | n.a. | n.a. |
sl:Supplement/ |
required |
required | optional | required | n.a. | n.a. | |
| Imported style sheets(1) | required | required | optional | required | n.a. | n.a. | |
dsig:Signature/ |
required | required | optional | required | required | recommended | |
dsig:Manifest/ |
required | required | optional | required | required | recommended | |
dsig:Signature/ |
required | required | required | required | required | recommended | |
(1) Style sheet imports specified in an XSLT transformation of an XML signature.
(2) XPointer according to [XPointerFW]
containing xmlns (cf. [XPointerNS])
and element (cf. [XPointerEL]) XPointer Parts.
This section specifies a profile of [CMS] that must be used by a Citizen Card Environment in the context of the EncryptCMS command.
When creating encrypted CMS messages, a Citizen Card Environment must use one of the algorithms mentioned in section 6.2.1. for key transport and one of the algorithms mentioned in section 6.2.1.2 for data encryption.
In view of the widespread use, it is currently recommended that the PKCS #1 v1.5 algorithm should be used for key transport and the Triple DES CBC algorithm for data encryption.
The following table specifies the requirement levels for the Citizen Card Environment in relation to the protocols when resolving references.
Protocol |
Context |
sl:ToBeEncrypted/@Reference |
|
http |
required |
https |
required |
formdata(1) |
required |
(1) Compare Security Layer transport protocols, section 3.3.1.2.
This section specifies a profile of [CMS] that must be encompassed by a Citizen Card Environment in the context of the DecryptCMS command.
This section specifies the requirement levels for the Citizen Card Environment in relation to the support of algorithms in the CMS message to be decrypted. In principle a Citizen Card Environment must only support key transport relating to the encryption of the data encryption key. For this reason, this section contains no information about other key management techniques.
The following table specifies the requirement levels for the Citizen Card Environment in relation to the support of algorithms for key transport (ktri field of the CMS message).
Designation |
OID |
Normative reference |
Requirement |
| PKCS #1 v1.5 | { iso(1) member-body(2) us(840) rsadsi(113549) pkcs(1)
pkcs-1(1) 1 } |
[CMS-Alg], 4.2.1 | required |
| RSAES-OAEP | { iso(1) member-body(2) us(840) rsadsi(113549) pkcs(1)
pkcs-1(1) 7 } |
[CMS-RSAES-OAEP] | recommended |
The following table specifies the requirement levels for the Citizen Card Environment in relation to the support of algorithms for data encryption (contentEncryptionAlgorithm field of the CMS message).
Designation |
OID |
Normative reference |
Requirement |
| Triple-DES CBC | { des-ede3-cbc OBJECT IDENTIFIER ::= { iso(1)
member-body(2) us(840) rsadsi(113549) encryptionAlgorithm(3) 7 } |
[CMS-Alg], 5.1 | required |
| AES CBC 128 bit | { joint-iso-itu-t(2) country(16) us(840)
organization(1) gov(101) csor(3) nistAlgorithms(4) 1 2 } |
[CMS-AES] | recommended |
| AES CBC 256 bit | { joint-iso-itu-t(2) country(16) us(840)
organization(1) gov(101) csor(3) nistAlgorithms(4) 1 42 } |
[CMS-AES] | recommended |
The following table specifies the requirement levels for the Citizen Card Environment in relation to the protocols when resolving references.
Protocol |
Context |
sl:EncryptedContent/sl:Content/@Reference |
|
http |
required |
https |
required |
formdata(1) |
required |
(1) Compare Security Layer transport protocols, section 3.3.1.2.
This section specifies a profile of [XMLEnc] that must be used by a Citizen Card Environment in the context of the EncryptXML command.
When creating encrypted XML messages, a Citizen Card Environment must use for data encryption purposes one of the algorithms mentioned in section 7.2.1.1 for block encryption, and for key transport one of the algorithms mentioned in section 7.2.1.2.
In view of the widespread use, it is currently recommended that the RSA Version 1.5 algorithm should be used for key transport and the Triple DES algorithm for data encryption.
The following table specifies the requirement levels for the Citizen Card Environment in relation to the protocols when resolving references.
Protocol |
Context |
||
sl:ToBeEncrypted/ |
sl:EncryptionInfo/ |
sl:EncryptionInfo/ |
|
http |
required | required | required |
https |
required | required | required |
formdata(1) |
required | required | required |
(1) Compare Security Layer transport protocols, section 3.3.1.2.
This section specifies a profile of [XMLEnc] that must be encompassed by a Citizen Card Environment in the context of the DecryptXML command.
xenc:EncryptedDataThe following table specifies the requirement levels for the Citizen Card Environment in relation
to algorithms in xenc:EncryptedData/xenc:EncryptionMethod/@Algorithm.
Designation |
URI |
Normative reference |
Requirement |
Block encryption |
|||
| Triple DES | http://www.w3.org/2001/04/xmlenc#tripledes-cbc |
[XMLEnc], 5.2.1 | required |
| AES CBC 128 bit | http://www.w3.org/2001/04/xmlenc#aes128-cbc |
[XMLEnc], 5.2.2 | required |
| AES CBC 256 bit | http://www.w3.org/2001/04/xmlenc#aes256-cbc |
[XMLEnc], 5.2.2 | required |
Key transport (1) |
|||
| RSA Version 1.5 | http://www.w3.org/2001/04/xmlenc#rsa-1_5 |
[XMLEnc], 5.4.1 | required |
| RSA-OAEP | http://www.w3.org/2001/04/xmlenc#rsa-oaep-mgf1p |
[XMLEnc], 5.4.2 | required |
(1)See note in [XMLEnc], section 5.4.
xenc:EncryptedKeyThe following table specifies the requirement levels for the Citizen Card Environment in relation
to algorithms in xenc:EncryptedKey/xenc:EncryptionMethod/@Algorithm.
Designation |
URI |
Normative reference |
Requirement |
Key transport |
|||
| RSA Version 1.5 | http://www.w3.org/2001/04/xmlenc#rsa-1_5 |
[XMLEnc], 5.4.1 | required |
| RSA-OAEP | http://www.w3.org/2001/04/xmlenc#rsa-oaep-mgf1p |
[XMLEnc], 5.4.2 | required |
Key transport (1) |
|||
RSA Version 1.5 |
http://www.w3.org/2001/04/xmlenc#rsa-1_5 |
[XMLEnc],
5.4.1 |
required |
RSA-OAEP |
http://www.w3.org/2001/04/xmlenc#rsa-oaep-mgf1p |
[XMLEnc],
5.4.2 |
required |
Key transport (1) |
|||
RSA Version 1.5 |
http://www.w3.org/2001/04/xmlenc#rsa-1_5 |
[XMLEnc],
5.4.1 |
required |
RSA-OAEP |
http://www.w3.org/2001/04/xmlenc#rsa-oaep-mgf1p |
[XMLEnc],
5.4.2 |
required |
xenc:EncryptedKeyThe following table specifies the requirement levels for the Citizen Card Environment in relation
to algorithms in xenc:EncryptedKey/xenc:EncryptionMethod/@Algorithm.
xenc:EncryptedDataThe following table specifies the requirement levels for the Citizen Card Environment in relation
to key information in xenc:EncryptedData/dsig:KeyInfo.
Element name |
Note |
Normative reference |
Requirement |
dsig:KeyName |
Must contain the KeyboxIdentifier for a key pair contained in the Citizen Card Environment that is suitable for encryption. | [XMLDSIG], 4.4.1 | required |
dsig:KeyValue |
Must contain the public key for a key pair contained in the Citizen Card Environment that is suitable for encryption. | [XMLDSIG], 4.4.2 | required |
dsig:X509Data |
Must contain
precisely one dsig:X509Certificate element with the
certificate for the public key of a key pair contained in the Citizen Card Environment. |
[XMLDSIG], 4.4.4 | required |
xenc:EncryptedKey |
[XMLEnc], 3.5.1 | required | |
dsig:RetrievalInfo |
Must refer to an xenc:EncryptedKey in the same XML document. Transformations do not have to be supported
by the Citizen Card Environment. |
[XMLEnc], 3.5.2 | required |
xenc:EncryptedKeyThe following table specifies the requirement levels for the Citizen Card Environment in relation
to key information in xenc:EncryptedKey/dsig:KeyInfo.
| Element name | Note | Normative reference | Requirement |
dsig:KeyName |
Must contain the KeyboxIdentifier for a key pair contained in the Citizen Card Environment that is suitable for encryption. | [XMLDSIG], 4.4.1 | required |
dsig:KeyValue |
Must contain the public key for a key pair contained in the Citizen Card Environment that is suitable for encryption. | [XMLDSIG], 4.4.2 | required |
dsig:X509Data |
Must contain
precisely one dsig:X509Certificate element with the
certificate for the public key of a key pair contained in the Citizen Card Environment. |
[XMLDSIG], 4.4.4 | required |
xenc:AgreementMethod |
optional |
The following table specifies the level of requirements for the Citizen Card Environment in relation to the protocols when resolving references in different contexts.
| Protocol | Context |
|||
dsig:RetrievalMethod |
xenc:EncryptedData/ |
xenc:EncryptedKey/ |
sl:Supplement/ |
|
http |
optional |
required |
required |
required |
https |
optional |
required |
required |
required |
formdata(1) |
optional |
required |
required |
required |
| relative URI(2) | optional(4) |
required(4) |
required(4) |
must not |
| ID reference(3) | required |
optional |
optional |
must not |
(1) Compare Security Layer transport protocols, section 3.3.1.2.
(2) A relative URI is a URI that does not contain a protocol element (cf. [RFC2396], 3.1).
(3) An ID reference is a Same Document Reference according to [RFC2396], 4.2, which contains the value of an attribute of type IDREF according to [XML].
(4) A relative URI may only be resolved using a Supplement specified for this URI; a direct resolution (e.g. by making the reference absolute in relation to the local file system) must not take place.
This section specifies a minimum profile for the CreateHash command that must be encompassed by a Citizen Card Environment.
The Citizen Card Environment must support all algorithms (SHA-1) for calculating the Message Digest, as listed in [XMLDSIG], section 6.2.
The following table specifies the requirement levels for the Citizen Card Environment in relation to the protocols when resolving references.
Protocol |
Context |
sl:HashInfo/ |
|
http |
required |
https |
required |
formdata(1) |
required |
(1) Compare Security Layer transport protocols, section 3.3.1.2.
This section specifies a minimum profile for the VerifyHash command that must be encompassed by a Citizen Card Environment.
The Citizen Card Environment must support all algorithms (SHA-1) for calculating the Message Digest, as listed in [XMLDSIG], section 6.2.
The following table specifies the requirement levels for the Citizen Card Environment in relation to the protocols when resolving references.
Protocol |
Context |
sl:HashInfo/ |
|
http |
required |
https |
required |
formdata(1) |
required |
(1) Compare Security Layer transport protocols, section 3.3.1.2.
For the purpose of processing the interface commands for creating and verifying signatures (CreateCMSSignature, CreateXMLSignature and VerifyCMSSignature, VerifyXMLSignature respectively), the Citizen Card Environment requires a viewer component to show citizens the data that needs to be signed or that has been signed. This section defines which viewer formats must be supported by the viewer component of the Citizen Card Environment.
The Citizen Card Environment must be able to display text as the simplest format. The following table lists the Unicode characters [Unicode] that it must be able to display.
Note: These are the characters required to be able to display the character sets [ISO-8859-1], [ISO-8859-2], [ISO-8859-3], [ISO-8859-9], [ISO-8859-10] and [ISO-8859-15] except for most of the control characters contained there.
| Code Chart | Character number(s) | Code Chart | Character number(s) |
|---|---|---|---|
| C0 Controls and Basic Latin | 0x0009-0x000A | Latin Extended-A | 0x014A-0x014D |
| C0 Controls and Basic Latin | 0x000C-0x000D | Latin Extended-A | 0x0150-0x0155 |
| C0 Controls and Basic Latin | 0x0020-0x007E | Latin Extended-A | 0x0158-0x0173 |
| C1 Controls and Latin-1 Supplement | 0x00A1-0x00FF | Latin Extended-A | 0x0178-0x017E |
| Latin Extended-A | 0x0100-0x0114 | Spacing Modifier Letters | 0x02C7 |
| Latin Extended-A | 0x0116-0x012B | Spacing Modifier Letters | 0x02D8-0x02D9 |
| Latin Extended-A | 0x012E-0x0131 | Spacing Modifier Letters | 0x02DB |
| Latin Extended-A | 0x0134-0x013E | Spacing Modifier Letters | 0x02DD |
| Latin Extended-A | 0x0141-0x0148 | General Punctuation | 0x2015 |
The Citizen Card Environment must attempt to interpret the following data as text:
text/plain; text/tab-separated-values, text/sgml, text/xml, application/sgml, application/xml, message/rfc822. The Citizen Card Environment must use a font with a constant width
for each character (monospaced) to display
text. The Citizen Card Environment must use a tabulator width of eight
characters for the 0x0009 character (tabulator).
The Citizen Card Environment must be able to display the standardised viewer format as a format for displaying more complex documents. The specifications contained in section 9.1.1 apply in relation to the characters that the Citizen Card Environment must be able to display.
The Citizen Card Environment must attempt to interpret the following data in line with this format:
text/html; application/xhtml+xml. When request commands are received via the interface of the Security Layer, the Citizen Card Environment MUST support
the three character sets ISO-8859-1 [ISO-8859-1],
ISO-8859-15 [ISO-8859-15]
and UTF-8 [Unicode].
The application MUST specify
the character set used in the XML declaration of the XML document
containing the request command.
| Date | Version |
Changes |
|---|---|---|
| 2004-02-29 | 1.2.0 |
|
1.1.0 |
|