isis-mtt test specification - teletrust · 2009-04-03 · isis-mtt test specification: introduction...

331
COMMON ISIS-MTT SPECIFICATIONS FOR INTEROPERABLE PKI APPLICATIONS FROM T7 & TELETRUST TEST SPECIFICATION INTRODUCTION VERSION 1.1 – 22 SEPTEMBER 2004

Upload: others

Post on 25-Jun-2020

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: ISIS-MTT Test Specification - TeleTrusT · 2009-04-03 · ISIS-MTT Test Specification: Introduction Version 1.1 Document History Page 3 of 19 Document History VERSION DATE CHANGES

COMMON ISIS-MTT SPECIFICATIONS FOR INTEROPERABLE PKI APPLICATIONS

FROM T7 & TELETRUST

TEST SPECIFICATION

INTRODUCTION

VERSION 1.1 – 22 SEPTEMBER 2004

Page 2: ISIS-MTT Test Specification - TeleTrusT · 2009-04-03 · ISIS-MTT Test Specification: Introduction Version 1.1 Document History Page 3 of 19 Document History VERSION DATE CHANGES

ISIS-MTT Test Specification: Introduction Version 1.1

Contact Information Page 2 of 19

Contact Information

ISIS-MTT Working Group of the TeleTrusT Deutschland e.V.: www.teletrust.de The up-to-date version of ISIS-MTT can be downloaded from the above web site, from www.isis-mtt.org or from www.isis-mtt.de Please send comments and questions to [email protected]

Editors:

Jürgen Brauckmann

Alfred Giessler

Tamás Horváth

Hans-Joachim Knobloch

The following people have contributed to the ISIS-MTT Specification:

Petra Barzin, Fritz Bauspieß, Andreas Berger, Hans-Joachim Bickenbach, Jobst Biester, Jürgen Brauckmann, Holger Ebel, Dirk Fox, Alfred Giessler, Volker Hammer, Tamás Horváth, Karl-Adolf Höwel, Hans-Joachim Knobloch, Ulrike Korte, Rolf Lindemann, Dieter Pfeuffer, Olaf Schlüter, Peter Schmidt, Wolfgang Schneider, Josef Peter Winand and Klaus-Dieter Wirth

© T7 e.V. i.G. and TeleTrusT e.V., 2002-2004

Page 3: ISIS-MTT Test Specification - TeleTrusT · 2009-04-03 · ISIS-MTT Test Specification: Introduction Version 1.1 Document History Page 3 of 19 Document History VERSION DATE CHANGES

ISIS-MTT Test Specification: Introduction Version 1.1

Document History Page 3 of 19

Document History

VERSION DATE

CHANGES

1.01 February 1th 2002

First published version

1.02 July 19th 2002

Minor editorial changes Adding Test Specifications for Part 2, Part 7 and the SigG-Profile

1.02 August 11th 2003

Incorporated changes from Corrigenda version 1.2

1.1 September 22nd 2004

Several editorial changes.

Page 4: ISIS-MTT Test Specification - TeleTrusT · 2009-04-03 · ISIS-MTT Test Specification: Introduction Version 1.1 Document History Page 3 of 19 Document History VERSION DATE CHANGES

ISIS-MTT Test Specification: Introduction Version 1.1

Table of Contents Page 4 of 19

Table of Contents

Management Summary....................................................................................... 5

1 Objectives ..................................................................................................... 6

2 The ISIS-MTT Test Suite ........................................................................... 9

2.1 Testing Approach ................................................................................................ 9

2.2 Setup for Tests ..................................................................................................... 9

2.3 Test Suite Structure .......................................................................................... 10

2.4 Test Case Specifications.................................................................................... 13

3 Testing Procedure ..................................................................................... 15

Abbreviations..................................................................................................... 18

References .......................................................................................................... 19

Page 5: ISIS-MTT Test Specification - TeleTrusT · 2009-04-03 · ISIS-MTT Test Specification: Introduction Version 1.1 Document History Page 3 of 19 Document History VERSION DATE CHANGES

ISIS-MTT Test Specification: Introduction Version 1.1

Management Summary Page 5 of 19

Management Summary

The ISIS-MTT Test Specification specifies testing procedures to assess the conformity of PKI components with the ISIS-MTT Interoperability Specification [ISIS-MTT]. This is an important contribution to promoting the development of interoperable, ISIS-MTT compliant products. A complete installation of testing facilities is called a test bed or a test bench. This document is intended to be read by test bench implementers and test operators and serves as the basis for the implementation and execution of test cases.

It is intended NOT to rely on a single test bench installation, but to allow application developers and third party testing organizations to build their own test benches. The Test Specification stays OPEN with regard to the concrete test bench architecture and thus gives freedom to test bench implementers in choosing the testing means.

Nevertheless, it is strongly desirable to establish at least one test bench, called reference test bench, that shall be operated by some independent, trusted organization. This testing laboratory as well as any further validated ISIS-MTT test bench shall be commissioned to perform conformity tests and are authorized to award a seal of approval for conformant products. The reference installation shall also be used to validate the Test Specification. Experience gained from implementing and operating the reference test bench shall be used to validate the Test Specification as well as alternative test bench implementations.

Page 6: ISIS-MTT Test Specification - TeleTrusT · 2009-04-03 · ISIS-MTT Test Specification: Introduction Version 1.1 Document History Page 3 of 19 Document History VERSION DATE CHANGES

ISIS-MTT Test Specification: Introduction Version 1.1

Objectives Page 6 of 19

1 Objectives

The ISIS-MTT Interoperability Specification describes data formats and communication protocols to be employed in interoperable PKI-based applications. The specification concentrates on interoperability aspects, embracing different on-line services of certification service providers (CSPs), such as certification service, directory service and time-stamp service, as well as client applications accessing and employing those services. As most important target application area, data formats for the secure interchange of emails and files via Internet are defined. A typical setup of PKI components with corresponding ISIS-MTT documents is depicted in Figure 1. (Note that the presented components and respectively their partitioning into sub-modules, such as OCSP server or signature creation module, are only an example. Real-life systems may comprise different types of components and modules.)

Figure 1: Interfaces among PKI components concerned by ISIS-MTT

client application

another CSP

CryptographicToken

(chipcard orsoftware PSE)

Certification Service Provider (CSP)

LDAPserver

OCSPserver

TimeStampService

FileSecurity

Application

client applicationof another user

Mail ClientApplication

FileSecurity

Application

certificates,CRLs,

cross-certs

(Part 1)

OCSP(Part 4)

signed, encrypted emails

(Part 3)

signed, encrypted files

(Part 3)

LDAP(Part 4)Certification

request

(Part 2)

TSP(Part 4)

management protocols

(Part 2)

API calls

(Part 7)

data structures, protocols, proceduresaffecting interoperability and

covered by the ISIS-MTT Specification

CryptographicLibrary

Algorithms(Part 6)

CA

Directory

XMLClient

Application

Mail ClientApplication

XMLClient

Application

CA

signed, encrypted XMl documents

(Part 8)

Key andCertificate

Management

Signature &Cert.PathValidation

ModuleValidation(Part 5)

SignatureCreationModule

Signature Format (Part 3,XML Part 8)

client application

another CSP

CryptographicToken

(chipcard orsoftware PSE)

CryptographicToken

(chipcard orsoftware PSE)

Certification Service Provider (CSP)

LDAPserver

OCSPserver

TimeStampService

FileSecurity

Application

FileSecurity

Application

client applicationof another user

Mail ClientApplicationMail ClientApplication

FileSecurity

Application

FileSecurity

Application

certificates,CRLs,

cross-certs

(Part 1)

OCSP(Part 4)

signed, encrypted emails

(Part 3)

signed, encrypted files

(Part 3)

LDAP(Part 4)Certification

request

(Part 2)

TSP(Part 4)

management protocols

(Part 2)

API calls

(Part 7)

data structures, protocols, proceduresaffecting interoperability and

covered by the ISIS-MTT Specification

CryptographicLibrary

Algorithms(Part 6)

CryptographicLibrary

Algorithms(Part 6)

Algorithms(Part 6)

CACA

Directory

XMLClient

Application

XMLClient

Application

Mail ClientApplicationMail ClientApplication

XMLClient

Application

XMLClient

Application

CACA

signed, encrypted XMl documents

(Part 8)

Key andCertificate

Management

Key andCertificate

Management

Signature &Cert.PathValidation

ModuleValidation(Part 5)

Signature &Cert.PathValidation

ModuleValidation(Part 5)

Validation(Part 5)

SignatureCreationModule

Signature Format (Part 3,XML Part 8)

SignatureCreationModule

Signature Format (Part 3,XML Part 8)Signature Format

(Part 3,XML Part 8)

Page 7: ISIS-MTT Test Specification - TeleTrusT · 2009-04-03 · ISIS-MTT Test Specification: Introduction Version 1.1 Document History Page 3 of 19 Document History VERSION DATE CHANGES

ISIS-MTT Test Specification: Introduction Version 1.1

Objectives Page 7 of 19

Besides issuing the ISIS-MTT Interoperability Specification [ISIS-MTT], testing facilities will be specified that can be used to assess the conformity of components with the interoperability specification. This ISIS-MTT Test Specification describes a set of well-defined tests that provide reproducible results and cover all aspects of the interoperability specification. A complete set of testing facilities, i.e. testing tools and evaluation methods, is called a test bed or a test bench. The intention is NOT to rely on a central test bench implementation, but to enable any organizations, application developers as well as third party testing organizations to build their own test benches. Nevertheless, it is strongly desirable to establish at least one test bench, called reference test bench, that shall be operated by some independent, trusted organization. This testing laboratory as well as any further validated ISIS-MTT test bench shall be commissioned to perform conformity tests and are authorized to award a seal of approval for conformant products. The reference installation shall also be used to validate the Test Specification. Experience gained from implementing and operating the reference test bench shall be used to validate the Test Specification as well as alternative ISIS-MTT test bench implementations.

The following goals ought to be achieved by providing this Test Specification:

• Testing PKI components and applications against an ISIS-MTT test bench shall deliver a reliable statement about conformity of the tested product with the ISIS-MTT specification and, respectively, point out potential errors in protocols and data structures. In this way, the interoperability of PKI-based products shall be promoted.

• The Test Specification serves as the primary requirement specification for test bench implementers.

• Due to the fact that test bench implementations rely on a common, well-defined Test Specification, each compliant test bench implementation shall deliver a reliable statement about the conformity of any tested components. In particular, the same results shall be obtained by different test bench implementations when testing the behaviour of the same component.

• ISIS-MTT test benches provide the means for component manufacturers and third party testers to reliably assess conformance. In particular, passing these tests may be the precondition for issuing a seal of approval for products fulfilling the conformance requirements of the ISIS-MTT Interoperability Specification.

The Test Specification is OPEN with regard to the concrete test bench architecture and gives thus test bench implementers freedom in choosing the testing means. Instead of specifying a concrete test bench architecture, the Test Specification is restricted to describe a set of “abstract” test cases: the description of a test case (i.e. an individual test) specifies a test purpose (which component, feature or aspect is to be tested), testing means (how to stimulate the component under test, how to observe an event or obtain a response) and the way of evaluation (how to evaluate possible outcomes), but neither a method of implementation nor any specific testing tool to be applied. The collection of test cases is called the test suite. Test bench implementers are allowed to choose arbitrary methods and testing tools to implement test cases. The entire set of test cases, relevant for the tested product, shall be covered by a compliant test suite implementation.

Besides defining tests at an abstract level, the Test Specification may include practical advises regarding the actual implementation of the test bench. These advises should be considered as RECOMMENDATIONS and are by no means mandatory for ISIS-MTT test bench implementations.

Page 8: ISIS-MTT Test Specification - TeleTrusT · 2009-04-03 · ISIS-MTT Test Specification: Introduction Version 1.1 Document History Page 3 of 19 Document History VERSION DATE CHANGES

ISIS-MTT Test Specification: Introduction Version 1.1

Objectives Page 8 of 19

This Introduction contains the following chapters:

Chapter 2 introduces the testing approach and outlines the conceptual structure of this Test Specification.

Chapter 3 describes the testing procedure and the requirements on test documentation.

Page 9: ISIS-MTT Test Specification - TeleTrusT · 2009-04-03 · ISIS-MTT Test Specification: Introduction Version 1.1 Document History Page 3 of 19 Document History VERSION DATE CHANGES

ISIS-MTT Test Specification: Introduction Version 1.1

The ISIS-MTT Test Suite Page 9 of 19

2 The ISIS-MTT Test Suite

2.1 Testing Approach

Instead of specifying a concrete test bench architecture, this Test Specification remains at an abstract level by describing a set of test cases that must be supported by ISIS-MTT test benches. A test case is an individual test incident that shall be described by specifying a test purpose (which component, feature or aspect is to be tested), testing means (how to stimulate the component, how to observe an event or obtain a response) and the way of evaluation (how to evaluate possible outcomes). The collection of test cases is called the test suite. This testing concept and terminology is adapted from the multi-part standard ISO/IEC 9646 “Conformance Testing Methodology and Framework (CTMF)” [ISO/IEC 9646 94].

Manufacturers are most likely to be interested in testing the conformance of entire products, like a directory or a mail client software. Products typically comprise several components, like software modules, libraries or hardware devices. An email client program may for example contain a module that creates and parses S/MIME messages and another that contains a cryptographic library providing for encryption, decryption, signature creation and signature verification. The ISIS-MTT Test Suite is organized around relevant functions, i.e. around features that are typically provided by PKI-based products and that are affected by the ISIS-MTT Interoperability Specification, such as generating certificates, CRLs, signatures or emails, verifying signatures, accessing a directory service etc. Accordingly, the test suite will be organized in test groups, where each test group corresponds to a relevant function. Note that a component may implement several functions and that, in turn, more than one components may contribute to implementing one specific function. Organizing the ISIS-MTT Test Suite around functions rather than around components aims at the independence of the Test Specification from product implementations. When testing a certain relevant function, all components contributing to providing the function, MUST be tested and form together the subject of testing, in the following simply called the Components Under Test (CUT).

For the sake of full interoperability, it is especially important that ALL RELEVANT FUNCTIONS provided by the product, i.e. even optional ones (!!!), MUST be subjected to the appropriate tests. A product is said to be compliant with the ISIS-MTT Interoperability Specification, if and only if all applying tests (i.e. all tests for all implemented relevant functions) of the ISIS-MTT Test Suite, have been performed and passed. Which tests apply for some individual product, shall be specified in form of a product profile by the awarding testing laboratory, in which the conformance claims of the test client (i.e. the manufacturer or the CSP) have been taken into account.

As the Test Specification is open with regard to the concrete test bench architecture, test bench implementers are allowed to choose arbitrary testing tools to implement test cases as far as the entire set of test cases, relevant for the tested component, can be covered.

2.2 Setup for Tests

The tests described in this specification primarily aim to test interoperability of PKI components. Hence, tests are typically black-box tests, concentrating on communication protocols, APIs and data contents of the messages exchanged among the components. Other aspects, like internal functionality, security, timely behaviour, correctness, robustness,

Page 10: ISIS-MTT Test Specification - TeleTrusT · 2009-04-03 · ISIS-MTT Test Specification: Introduction Version 1.1 Document History Page 3 of 19 Document History VERSION DATE CHANGES

ISIS-MTT Test Specification: Introduction Version 1.1

The ISIS-MTT Test Suite Page 10 of 19

availability, user-friendliness, management aspects etc. are outside the scope of the tests.

Based on the typical PKI setup of Figure 1, a straightforward approach is followed here: objects to tests are relevant functions of PKI components, such as generating certificates (G-CERT), generating CRLs (G-CRL), generating electronic signatures (G-SIG), verifying signatures (V-SIG) and certificate paths (V-CERT), providing LDAP service (LDAP-SERVER) or accessing an OCSP service (OCSP-CLIENT). The Components Under Test (CUT) are all physical components (software modules, libraries, hardware devices) that contribute to the implementation of the relevant function to be tested.

Individual testing configurations are defined by specifying a set of so-called points of control and observation (PCO) at which testing tools provide valid or invalid inputs for the CUT and/or get output from the CUT. In certain situations a CUT needs to interact with additional PKI components, for example verifying a signature may require contacting the repository or accessing an OCSP responder. In such a case, an exhaustive test of the CUT would require more than one PCO to be stimulated and observed simultaneously. In order to keep tests as simple as possible, different functions of a CUT, that are to be observed at different PCOs, will be divided into separate test cases. In such a way, most test cases can be implemented on the basis of a two-party testing configuration depicted in Figure 2.

Figure 2: Two-party Testing Scenario

test events / data objects:certificate, CRL, CMS, etc.

ComponentUnderTest

Testing ToolsPCO

test events / data objects:certificate, CRL, CMS, etc.

ComponentUnderTest

Testing ToolsPCO

test events / data objects:certificate, CRL, CMS etc.

ComponentUnderTest

ComponentUnderTest

Testing ToolsTesting ToolsPCO

Testing tools might need to simulate specific functions of some PKI components. As an example, it may be necessary to generate LDAP requests while testing an LDAP server. Instead of implementing such features in the testing tool itself, validated PKI components might be used to provide the required facilities to the testing tools.

2.3 Test Suite Structure

Based on the conformance requirements in [ISIS-MTT], a set of test purposes will be defined. Each individual test purpose represents the well-defined objective of testing, focusing on a single conformance requirement or on a set of such. For each test purpose a test case will be specified. For each test case it should be possible to assign unambiguously a test result (pass or fail) to each observable test outcome. The complete set of test cases is called the test suite. For a logical organization, the test suite will be divided into a hierarchy of test groups and test cases, as illustrated in Figure 3. Test groups correspond in a natural manner to relevant functions of the product to be tested.

Page 11: ISIS-MTT Test Specification - TeleTrusT · 2009-04-03 · ISIS-MTT Test Specification: Introduction Version 1.1 Document History Page 3 of 19 Document History VERSION DATE CHANGES

ISIS-MTT Test Specification: Introduction Version 1.1

The ISIS-MTT Test Suite Page 11 of 19

Figure 3: A Hierarchy of Test Groups and Test Cases builds the Test Suite

Test •••

Test Group: MAN

Test Group: VAL

TestCases

Test Group

Test Group: MAN

Test Group: VAL

TestCases

Test Group

Test Group: MAN

Test Group: VAL

TestCases

ISIS-MTT Test Suite

Test Group

Test Subgroup Test Subgroup

TestCase

TestCase

TestCase

TestStep

TestStep

TestStep

The structure of the ISIS-MTT test suite is illustrated in Table 1 in tabular form. Test cases are identified by a hierarchical name composed of a test group name, zero or more test subgroup names and the test case name, where name components are separated by “/” characters. Extensive test cases will be divided into test steps.

Page 12: ISIS-MTT Test Specification - TeleTrusT · 2009-04-03 · ISIS-MTT Test Specification: Introduction Version 1.1 Document History Page 3 of 19 Document History VERSION DATE CHANGES

ISIS-MTT Test Specification: Introduction Version 1.1

The ISIS-MTT Test Suite Page 12 of 19

Table 1: An Overview of the ISIS-MTT Test Suite

TEST GROUP NAME

TEST SUBGROUP NAME

TEST CASE NAME

TEST STEP

TEST OBJECTIVE RELEVANT ASPECTS TO TEST

G-CERT Test group for testing the function of generating certificates presence of all mandatory fields, constraints on length, character sets, allowed values, correctness of flags, technical addresses (e.g. URLs)

/PKC /SIGCERT Testing format and contents of end entity public key certificate issued for the purpose of long term signature documents (non-repudiation service)

as above

/version Checking constraints on version field /issuer Checking constraints on issuer field /... /AUTHCERT /... Testing an EE certificate issued for message authentication as above /ENCRCERT /... Testing an EE certificate issued for encryption as above /CACERT /... Testing a CA certificate as above /CRLCERT /... Testing a CRL-signing certificate as above /OCSPCERT /.. Testing a certificate issued for an OCSP responder as above /TSACERT /.. Testing a certificate issued for a time stamping authority as above /AC /... Testing format and contents of attribute certificates as above /CROSS /... Testing format and contents of cross-certificate-pairs as above /CRL /... Testing format and contents of CRLs as above P-CERT

Testing CUT for processing certificates, i.e. by means of displaying their content

acceptance of mandatory as well as optional fields (e.g. non-critical extensions), acceptance of unknown non-critical extensions, correct display of at least of all mandatory fields, checking validity of the signature !!! The software should be liberal about what is received, e.g. it should not enforce the presence of all mandatory fields.

… … …. … … …

Page 13: ISIS-MTT Test Specification - TeleTrusT · 2009-04-03 · ISIS-MTT Test Specification: Introduction Version 1.1 Document History Page 3 of 19 Document History VERSION DATE CHANGES

ISIS-MTT Test Specification: Introduction Version 1.1

The ISIS-MTT Test Suite Page 13 of 19

2.4 Test Case Specifications

As the primary purpose of the ISIS-MTT Test Suite is to assess interoperability, the tests focus on the format and contents of data objects, exchanged in PKI protocols or passed over APIs. One of the following test event types shall therefore be observed in most test cases:

• the first sort of test events corresponds to some CUT creating and sending a data object, which is to be checked by the testing tool for syntax and content;

• the second type of test events corresponds to a testing tool sending a valid or invalid data object to the CUT and observing the CUT behaviour. Valid data objects must be accepted and accordingly processed, while invalid data objects should be rejected and should cause the CUT to respond appropriately (e.g. return an error message).

While validating the message syntax is usually fairly easy, checking the data content may be rather extensive, as constraints of various types may apply to numerous data fields, such as constraints on field length, applicable character sets, allowed formats and values, mathematical correctness of key and signature components etc. Checking for individual fields and constraints may be ordered to individual steps within a test case.

Test case specifications shall describe the conditions that have to be satisfied during the test execution. Test case specifications shall assign to each individual test outcome one test result: pass (P) or fail (F).

Test case specifications shall contain references to relevant conformance requirements stated in the ISIS-MTT Interoperability Specification. These references will be given in one of the following two formats:

• P<part number>.T<table number>.<entry number> for identifying an individual entry <entry number> in a particular table <table number> of a specific part <part number>, or

• P<part number>/S<section number> for pointing to a particular section <section number> of a specific part <part number>.

Test case specifications shall provide information about actions to be performed on completion of a test case, depending on the observed test outcome. Possible actions could be for example the continuation of the test for the rest of the fields in a data object, or the termination of the test case.

Test case specifications may optionally contain instructions for the test tools (or the test operator) that trigger the logging of certain test outcomes, or the notification of the test operator about the occurrence of special conditions.

Test case specifications will be presented in tabular form. Conditions and constraints that must be tested will be described in easily readable text format. When all conditions and constraints are met then the test step is successfully passed. When all test steps are passed then the test case is passed (result = P), otherwise the test case fails (result = F).

In addition to free text, test case specifications may optionally contain keywords, that are used to highlight specific kinds of information for the test execution. The following set of key words may be used for the following purposes:

Page 14: ISIS-MTT Test Specification - TeleTrusT · 2009-04-03 · ISIS-MTT Test Specification: Introduction Version 1.1 Document History Page 3 of 19 Document History VERSION DATE CHANGES

ISIS-MTT Test Specification: Introduction Version 1.1

The ISIS-MTT Test Suite Page 14 of 19

CONTINUE Test case shall be continued with the next test step or test case

ERROR A failure leading to a fail test result has been observed, which shall be logged and documented in the test report.

INPUT Information about conditions or constraints of input parameter values

INSTRUCTIONS Information that provides general instructions or guidelines for test execution.

LOG Logging of values of output parameters that shall be documented in the test report.

MODIFICATION The value of a particular field of a referenced test case that has been modified in order to generate an invalid test event. All other fields of the referenced test case remain unchanged.

NOTICE The absence of recommended or optional fields not leading to a fail test result has been observed, which shall be logged and documented in the test report.

PARAMETER The value of a field which can be used as a test case parameter. The test case parameter indicates that the test case can be run with different values of this parameter.

PREPARATION The value of a field which must be known by the test operator or test client, prior to execution of a test case.

RESULT Conditions that must be met, in order to assign a PASS test result to the observed test outcome of an executed test case. Test outcomes that do not meet these conditions shall lead to a FAIL test result.

RETURN Return value that is expected to be returned by a particular function call in addition to the values of the output parameters of this function.

STATE Information about a state, in which a particular test case shall be executed.

STOP The test case shall be terminated.

Because of the lengthiness, test case specifications are divided into parts, according to the respective ISIS-MTT core parts, and are numbered in the same way (i.e. Test Specification Part 1 corresponds to Part 1 of the ISIS-MTT Interoperability Specification etc.). However, it should be noted that a separate Test Specification for Part 6 on Cryptographic Algorithms has not been provided, since the testing of cryptographic algorithms is covered in the test case specifications of the other parts.

Page 15: ISIS-MTT Test Specification - TeleTrusT · 2009-04-03 · ISIS-MTT Test Specification: Introduction Version 1.1 Document History Page 3 of 19 Document History VERSION DATE CHANGES

ISIS-MTT Test Specification: Introduction Version 1.1

Testing Procedure Page 15 of 19

3 Testing Procedure

The conformance assessment process comprises the activities necessary to assess the conformance of a component under test with the ISIS-MTT interoperability specification [ISIS-MTT]. It involves the phases illustrated as rectangular boxes in Figure 4, including

• selection and parameterization of test cases,

• preparation for testing,

• test execution, and

• test report production.

Specific information that is required in order to perform the different phases of the conformance assessment process, or documentation that has to be produced during the conformance assessment process, is illustrated as circles in Figure 4, including

• set of test cases, defined in the test suite,

• conformance claims of the test client,

• information on testing environment,

• information on CUT configuration,

• test plan, and

• test report.

Conformanceclaims of themanufacturer

Informationon the testingenvironment

TestSuite

TestPlan

CCS

Preparationfor testing

TestReport

Selection andparametrization

of test cases

Test reportproduction

Test execution

TestingTools

Product Info

Information on how to configurethe CUT

Figure 4: Overview of the Testing Procedure

Page 16: ISIS-MTT Test Specification - TeleTrusT · 2009-04-03 · ISIS-MTT Test Specification: Introduction Version 1.1 Document History Page 3 of 19 Document History VERSION DATE CHANGES

ISIS-MTT Test Specification: Introduction Version 1.1

Testing Procedure Page 16 of 19

Testing comprises the following steps:

SELECTION AND PARAMETERIZATION OF TEST CASES

During this phase the following input information is processed.

• The ISIS-MTT Test Suite which contains the complete set of test cases, and

• a component conformance statement (CCS) which is a statement of the manufacturer about the features (functions) implemented in a particular product and claiming conformity with ISIS-MTT.

The output of this phase is a documentation about • which parts of the product of interest claim to be compliant with ISIS-MTT, i.e. which

features of the product are to be tested and which functional units (CUTs) can be identified in the product to be tested. Note that all functional units affected by ISIS-MTT and present in the product must be tested. And

• which test cases apply, i.e. it contains the selected and parameterized subset of test cases that have to be executed. Note that all features relevant for ISIS-MTT (i.e. even optional ones !) must be tested, if they are implemented in the product.

PREPARATION FOR TESTING

During this phase the following input information is processed:

• information on the testing environment, and

• information on the CUT configuration.

The output of this phase is a documentation about • which testing tools (version, configuration) are to be used, and

• how to implement test cases, i.e. how to configure and use the testing tool and the CUT in order to get executable test cases, how to stimulate the CUT, which input parameter are to be used, how to capture responses of the CUT.

Besides planning the tests, other preparatory work may be done, such as preparing checklists and forms for the test runs.

TEST EXECUTION

The execution of test cases should be planned. All the information required prior to starting the test execution is called a Test Plan. The Test Plan is the collection of the individual documentations produced during the preparatory phase of the conformance assessment process, as described before.

The test operations include the following steps for each test case:

• setting up the CUT, the testing tool and optionally other supporting equipment for the test,

• apply appropriate stimuli to the CUT,

Page 17: ISIS-MTT Test Specification - TeleTrusT · 2009-04-03 · ISIS-MTT Test Specification: Introduction Version 1.1 Document History Page 3 of 19 Document History VERSION DATE CHANGES

ISIS-MTT Test Specification: Introduction Version 1.1

Testing Procedure Page 17 of 19

• capture response of the CUT,

• evaluate the test outcome (pass/fail), and

• produce logs preferably in human readable format. It is strongly recommended to employ automated testing tool with logging facilities.

TEST REPORT PRODUCTION

The conformance assessment process culminates in the generation of a test report. For the simplicity of the documentation, one single document, called the Test Report, shall be maintained for the entire testing procedure. The Test Report should contain all relevant information about the product to be tested, about the test cases to be implemented, about the testing environment and finally the test results. The Test Report shall contain the following basic information:

• name of the test laboratory,

• name of the organization commissioning the test lab to carry out the tests,

• name of the manufacturer,

• product and version to be tested, and

• Test Suite version to test against.

The Test Report shall contain a Test Plan.

The Test Report should contain a list of all executed test cases and corresponding test results.

The Test Report may be structured as follows: 1) Basic Information: information about the test lab, the product, the Test Suite version,

circumstances of commissioning the tests etc. 2) A description of relevant features of the product, identifying CUTs, conformance claims

of the manufacturer (CCS) 3) Test case selection 4) General information about the configuration and working environment of the CUT

(optional) 5) General information about testing tools and their configuration (optional) 6) Test Plan: Test Case implementations, configuring testing tools and CUT 7) List of test case results, the overall test result, final conformance statement

Page 18: ISIS-MTT Test Specification - TeleTrusT · 2009-04-03 · ISIS-MTT Test Specification: Introduction Version 1.1 Document History Page 3 of 19 Document History VERSION DATE CHANGES

ISIS-MTT Test Specification: Introduction Version 1.1

Abbreviations Page 18 of 19

Abbreviations

CA certification authority CCS component conformance statement CMS cryptographic message syntax CRL certificate revocation list CSP certificate service providers CTMF conformance testing methodology and framework CUT component under test EE end entity F forbidden capability, test result: FAIL LDAP lightweight directory access protocol OCSP online certificate status protocol P test result: PASS PCO point of control and observation PKI public key infrastructure PSE personal security environment TSA time stamping authority TSP time stamp protocol

Page 19: ISIS-MTT Test Specification - TeleTrusT · 2009-04-03 · ISIS-MTT Test Specification: Introduction Version 1.1 Document History Page 3 of 19 Document History VERSION DATE CHANGES

ISIS-MTT Test Specification: Introduction Version 1.1

References Page 19 of 19

References

[ISO/IEC 9646 94] ISO/IEC 9646: Information Technology – Open Systems Interconnection – Conformance Testing Methodology and Framework; 1994

[ISIS-MTT] T7 i.Gr., TeleTrusT e.V.: ISIS-MTT Specification, Common ISIS-MTT Specifications for Interoperable PKI Applications; Version 1.1, 16 March 2004

Page 20: ISIS-MTT Test Specification - TeleTrusT · 2009-04-03 · ISIS-MTT Test Specification: Introduction Version 1.1 Document History Page 3 of 19 Document History VERSION DATE CHANGES

COMMON ISIS-MTT SPECIFICATIONS FOR INTEROPERABLE PKI APPLICATIONS

FROM T7 & TELETRUST

TEST SPECIFICATION

PART 1

CERTIFICATE AND CRL PROFILES

VERSION 1.1 – 22 SEPTEMBER 2004

Page 21: ISIS-MTT Test Specification - TeleTrusT · 2009-04-03 · ISIS-MTT Test Specification: Introduction Version 1.1 Document History Page 3 of 19 Document History VERSION DATE CHANGES

ISIS-MTT Part 1: Certificate And CRL Profiles Version 1.1

Contact Information Page 2 of 32

Contact Information

ISIS-MTT Working Group of the TeleTrusT Deutschland e.V.: www.teletrust.de The up-to-date version of ISIS-MTT can be downloaded from the above web site, from www.isis-mtt.org or from www.isis-mtt.de Please send comments and questions to [email protected]

Editors:

Jürgen Brauckmann

Alfred Giessler

Tamás Horváth

Hans-Joachim Knobloch

© T7 e.V. i.G. and TeleTrusT e.V., 2002-2004

Page 22: ISIS-MTT Test Specification - TeleTrusT · 2009-04-03 · ISIS-MTT Test Specification: Introduction Version 1.1 Document History Page 3 of 19 Document History VERSION DATE CHANGES

ISIS-MTT Part 1: Certificate And CRL Profiles Version 1.1

Document History Page 3 of 32

Document History

VERSION DATE

CHANGES

1.0.1 February 1th 2002

First published version

1.0.2 July 19th 2002

Minor editorial changes, fixing a couple of bugs

1.0.2 August 11th 2003

Incorporated changes from Corrigenda version 1.2

1.1 September 22nd 2004

Several editorial changes and bug fixes. Modified test case TCGEXTENSIONS-1 to reflect the changes in ISIS-MTT specification part 1 (see document history there). Added a test step for the PolicyMappings extension in TCGEXTENSIONS-1. Added test case TCGDIRSTRING-1 for consistency with Test Specification of the SigG Profile. Added a test step for version in TCGCRL-1 and TCPCRL-1. Considered optional attributes in TCGAC-1 and TCPAC-1. Added test case TCGATTR-1 since the corresponding definition of attributes has been moved from the SigG-Profile into the ISIS-MTT Core, Part 1.

Page 23: ISIS-MTT Test Specification - TeleTrusT · 2009-04-03 · ISIS-MTT Test Specification: Introduction Version 1.1 Document History Page 3 of 19 Document History VERSION DATE CHANGES

ISIS-MTT Part 1: Certificate And CRL Profiles Version 1.1

Table of Contents Page 4 of 32

Table of Contents

1 Preface .......................................................................................................... 5

2 Test Case Specifications for ISIS-MTT Part 1......................................... 7

2.1 Test Group GEN-CERT (Generation of Certificates and CRLs)................... 7

2.2 Test Group PROC-CERT (Processing of Certificates and CRLs) ............... 24

References .......................................................................................................... 32

Page 24: ISIS-MTT Test Specification - TeleTrusT · 2009-04-03 · ISIS-MTT Test Specification: Introduction Version 1.1 Document History Page 3 of 19 Document History VERSION DATE CHANGES

ISIS-MTT Part 1: Certificate And CRL Profiles Version 1.1

Preface Page 5 of 32

1 Preface

This document specifies test cases that are to be performed to assess conformity with Part 1 “Certificate and CRL Profiles” of the ISIS-MTT Specification.

An overview of the test cases is provided in. The test group/subgroup names identify the position of test cases in the test suite hierarchy. The test case names uniquely identify individual test cases. Test cases are referenced by a character mnemonics string, consisting of the following parts:

• TC for test case, followed by

• G for generation, or

• P for processing, followed by

• PKC for public key certificates, or

• DNAMES for distinguished names, or

• DIRSTRING for directory strings, or

• GENNAMES for general names, or

• EXTENSIONS for certificate/CRL extensions, or

• AC for attribute certificates, or

• ATTR for attributes, or

• CRL for CRLs, or

• CROSS for cross-certificate pairs,

followed by a unique number that allows to add further identified test cases to this category.

Note: The current version of this part of the ISIS-MTT Test Specification does not contain test cases that check the behaviour of CUTs in response to invalid test events (e.g. invalid data objects) generated by the tester. The specification of test cases of this category will be provided in future versions, if required.

Page 25: ISIS-MTT Test Specification - TeleTrusT · 2009-04-03 · ISIS-MTT Test Specification: Introduction Version 1.1 Document History Page 3 of 19 Document History VERSION DATE CHANGES

ISIS-MTT Part 1: Certificate And CRL Profiles Version 1.1

Preface Page 6 of 32

Table 1: Test Cases corresponding to ISIS-MTT Part 1

TEST GROUP / SUBGROUP NAME

TEST CASE NAME

TABLE TEST GROUP OBJECTIVE / TEST PURPOSE

GEN-CERT/ Test Group for testing the generation of certificate and CRL objects

GEN-CERT/ TCGPKC-1 Table 2 Testing the Generation of Public Key Certificates GEN-CERT/ TCGDNAMES-1 Table 3 Testing general requirements on Distinguished Names GEN-CERT/ TCGDIRSTRING-1 Table 3a Testing general requirements on DirectoryStrings GEN-CERT/ TCGGENNAMES-1 Table 4 Testing general requirements on GeneralNames GEN-CERT/ TCGEXTENSIONS-1 Table 5 Testing Certificate/CRL-Extensions GEN-CERT/ TCGAC-1 Table 6 Testing the Generation of Attribute Certificates GEN-CERT/ TCGATTR-1 Table 6a Testing the Generation of certain attributes contained in an

Attribute Certificate GEN-CERT/ TCGCRL-1 Table 7 Testing the Generation of CRLs GEN-CERT/ TCGCROSS-1 Table 8 Testing the Generation of Cross-Certificate Pairs PROC-CERT/ Test Group for testing the processing of certificate and

CRL objects PROC-CERT/ TCPPKC-1 Table 9 Testing the Processing of Public Key Certificates PROC-CERT/ TCPAC-1 Table 10 Testing the Processing of Attributes Certificates PROC-CERT/ TCPCRL-1 Table 11 Testing the Processing of CRLs PROC-CERT/ TCPCROSS-1 Table 12 Testing the Processing of Cross-Certificate-Pairs

Page 26: ISIS-MTT Test Specification - TeleTrusT · 2009-04-03 · ISIS-MTT Test Specification: Introduction Version 1.1 Document History Page 3 of 19 Document History VERSION DATE CHANGES

ISIS-MTT Part 1: Certificate And CRL Profiles Version 1.1

Test Case Specifications for ISIS-MTT Part 1 Page 7 of 32

2 Test Case Specifications for ISIS-MTT Part 1

Test case specifications will be presented in tabular form. Conditions and constraints that must be tested will be described in easily readable text format. When all conditions and constraints are met then the test step is successfully passed. When all test steps are passed then the test case is passed (result = P), otherwise the test case fails (result = F).

2.1 Test Group GEN-CERT (Generation of Certificates and CRLs)

Table 2: Test Case TCGPKC-1: Testing the Generation of Public Key Certificates

TEST CASE NAME TCGPKC-1 TEST PURPOSE Testing syntax and contents of a public key certificate (PKC). TEST OBJECT (CUT) The DER-encoding of a signed ASN.1 Certificate object. PARAMETERS • certificate type: EE certificate, qualified EE signature certificate, CA, CRL-signing, OCSP-signing, TSP-signing

• certificate: issuer: this must be delivered to the testing tool in order to be able to verify certificate chaining and to verify the signature. • appropriate indirect CRL, if applicable

INSTRUCTIONS The component to be tested is to be triggered to generate the selected object type. For end entity certificates, this may imply submitting a certification request. The following general guidelines shall be followed while testing the generation of certificates: • All mandatory and possibly all optional fields shall be filled in in the request, so that all aspects of certificate generation can be tested. • Request information (subject names, attribute contents) shall contain possibly many or all characters permitted for the given string type. Use

the possible widest spectrum of special symbols, spaces, accents etc. • Request information shall use the entire permitted length of the individual fields.

TEST

STEP

NO.

FIELD OF DATA OBJECT

ISIS-MTT PART.TABLE.ENTRY#

CONDITIONS, CONSTRAINTS

EVALUATION OF THE TEST STEP, INSTRUCTION FOR TEST

OPERATOR 1 Certificate P1.T2 Test the correctness of the ASN.1 syntax, with special regard to correct tagging (IMPLICIT

or EXPLICIT tagging), and INTEGER encoding (signed representation!) Fail if any conditions not met.

2 signatureAlgorithm P1.T1.#3, P1.T2.#4

Content of inner and outer algorithm identifiers MUST be identical. Algorithm OID and parameters MUST indicate an algorithm permitted in ISIS-MTT Part 6.

Fail if any conditions not met.

Page 27: ISIS-MTT Test Specification - TeleTrusT · 2009-04-03 · ISIS-MTT Test Specification: Introduction Version 1.1 Document History Page 3 of 19 Document History VERSION DATE CHANGES

ISIS-MTT Part 1: Certificate And CRL Profiles Version 1.1

Test Case Specifications for ISIS-MTT Part 1 Page 8 of 32

3 signature P1.T1.#4 This field MUST contain a valid signature. Verify mathematical correctness using the issuer certificate.

fail if signature mathematically incorrect.

4 version P1.T2.#2 Value MUST be v3(2) Fail if any conditions not met. 5 serialNumber P1.T2.#3

P1.T2.[2], [8] The serial number must be a positive integer, not longer than 20 octets. Pay special attention to correct 2’s complement encoding as described in P1.T2.#[8]

Fail if any conditions not met.

6 issuer P1.T2.#5 P1.T2.[5] P1.T7

The issuer DName MUST be identical with the subject DName in the issuer’s certificate. Apply test case TCGDNAMES-1 (Table 3) The DName MUST be non-empty and MUST contain an appropriate subset of the following attributes: domainComponent, countryName, stateOrProvinceName, organizationName, localityName and serialNumber. Further attributes, listed in Table 7 of Part 1 may be present. (Find requirements in P1.T7, column GEN CA) Other attribute types MUST NOT occur. The issuer DName (i.e. the DName of a CA) MUST contain at least the attributes countryName and organizationName. CountryName MUST indicate the country where the issuer CA is established. OrganizationName SHOULD contain the name of the organization that operates the CA.

Fail if any ‘MUST’-condition is not met. Pass but give a warning if a ‘SHOULD’-condition is not met, (i.e. a not recommended attribute is used)

7 validity P1.T2.#6 P1.T3

Validity dates before and through 2049 MUST be encoded by CAs as UTCTime, dates in 2050 and later as GeneralizedTime. Date values MUST be given in the format YYMMDDhhmmssZ resp. YYYYMMDDhhmmssZ, i.e. always including seconds and expressed as Zulu time (Universal Coordinated Time)

Fail if any conditions not met.

8 subject P1.T2.#7 P1.T2.[6] P1.T7

Apply test case TCGDNAMES-1 (Table 3) PREPARATION: distinguish here according to cert.type (EE or CA) (Interpret requirements in P1.T7, column GEN EE or CA accordingly) The DName MUST be non-empty. The subject DName MUST contain an appropriate subset of the following attributes: countryName, commonName, surname, givenName, pseudonym, serialNumber, organizationName, organizationalUnitName, stateOrProvincename, localityName, postalAddress Further attributes, listed in P1.T7 may be present. Other attribute types MUST NOT occur. The subject name of an end entity MUST at least contain the attribute commonName. If a pseudonym is given, it MUST be put in the commonName attribute and marked with suffix “:PN”. surname and givenName MUST NOT be present in the DName in this case. Certificates MAY contain the same name (including suffix!) additionally in the pseudonym attribute too, accompanied by the OID {id-at 65}. If a pseudonym attribute is present, it MUST contain the same name (including suffix) as the commonName attribute.

Fail if any ‘MUST’-condition is not met. Pass but give warning if a ‘SHOULD’-condition is not met.

Page 28: ISIS-MTT Test Specification - TeleTrusT · 2009-04-03 · ISIS-MTT Test Specification: Introduction Version 1.1 Document History Page 3 of 19 Document History VERSION DATE CHANGES

ISIS-MTT Part 1: Certificate And CRL Profiles Version 1.1

Test Case Specifications for ISIS-MTT Part 1 Page 9 of 32

9 subjectPublicKeyInfo P1.T2.#8 Algorithm OID and parameters MUST indicate an algorithm permitted in ISIS-MTT Part 6.subjectPublicKey MUST be correctly encoded as specified in Part 6.

10 issuerUniqueID P1.T2.#9 This field MUST NOT be present. fail if not met 11 subjectUniqueID P1.T2.#10 This field MUST NOT be present. fail if not met 12 extensions P1.T2.#11 Supported standard extensions (i.e. extensions defined in PKIX or ETSI standards) are

listed in P1.T9. The critical-flagging of each extension MUST meet the requirements in P1.T9. Local communities may include private extensions with non-critical flagging. Apply test case TCGEXTENSIONS-1 (Table 5).

fail if non-supported standard extension or non-supported critical private extension found. issue a warning on non-supported private extensions.

Page 29: ISIS-MTT Test Specification - TeleTrusT · 2009-04-03 · ISIS-MTT Test Specification: Introduction Version 1.1 Document History Page 3 of 19 Document History VERSION DATE CHANGES

ISIS-MTT Part 1: Certificate And CRL Profiles Version 1.1

Test Case Specifications for ISIS-MTT Part 1 Page 10 of 32

Table 3: Test Case TCGDNAMES-1: Testing general requirements on Distinguished Names

TEST CASE NAME TCGDNAMES-1 TEST PURPOSE Testing syntax and contents of distinguished names or DNames (ASN.1 type ‘Name’) TEST OBJECT (CUT) The DER-encoding of an ASN.1 Name object. PARAMETERS none INSTRUCTIONS The Name type is a sequence of sets of DName attributes. Attributes of type DirectoryString TEST

STEP

NO.

TYPE OR FIELD OF ASN.1 DATA OBJECT

ISIS-MTT PART.TABLE.ENTRY/NOTE

CONDITIONS, CONSTRAINTS

EVALUATION OF THE TEST STEP, INSTRUCTION FOR TEST

OPERATOR 1 all attributes P1.T5.#4 Basically, only attribute types defined in Table 7 of Part 1 SHOULD be used.

Length limits and format requirements indicated in Table 7 of Part 1 MUST be met. give warning if an unknown attribute type is met. fail if length constraint or format requirement not met.

2 DirectoryString P1.T6 P1.T6.[1]

For all attributes with string type DirectoryString perform Test Case TCGDIRSTRING-1 with parameter maxLength according to Table 7 of Part 1.

fail if test case fails. give a warning if test case is passed with warning.

Page 30: ISIS-MTT Test Specification - TeleTrusT · 2009-04-03 · ISIS-MTT Test Specification: Introduction Version 1.1 Document History Page 3 of 19 Document History VERSION DATE CHANGES

ISIS-MTT Part 1: Certificate And CRL Profiles Version 1.1

Test Case Specifications for ISIS-MTT Part 1 Page 11 of 32

Table 3a: Test Case TCGDIRSTRING-1: Testing general requirements on DirectoryStrings

TEST CASE NAME TCGDIRSTRING-1 TEST PURPOSE Testing syntax and contents of elements of type DirectoryString. TEST OBJECT (CUT) The DER-encoding of an ASN.1 DirectoryString object. PARAMETERS • maxLength: maximal permitted size of the DirectoryString object INSTRUCTIONS The Name type is a sequence of sets of DName attributes. Attributes of type DirectoryString TEST

STEP

NO.

TYPE OR FIELD OF ASN.1 DATA OBJECT

ISIS-MTT PART.TABLE.ENTRY/NOTE

CONDITIONS, CONSTRAINTS

EVALUATION OF THE TEST STEP, INSTRUCTION FOR TEST

OPERATOR 1 DirectoryString P1.T6

P1.T6.[1] Strings SHOULD be encoded as UTF8String but also MAY be encoded as PrintableString . The encodings teletexString, bmpString and universalString MUST NOT be used. If a string cannot be represented in the PrintableString character set, UTF8String encoding MUST be used. If permitted by the applicable certificate policy, characters that are not in the PrintableStringcharacter set MAY be transcribed in Printable String characters according to local conventions for the transcription of national character sets in DNS domain names or E-Mail addresses (e.g. German umlaut “ä” to “ae”).

Before Dec.31,2003: test passes but warning given if not encoded as UTF8String After Dec.31,2003: fail if not encoded as UTF8String or PrintableString

2 UTF8String P1.T6.#4 P1.T6.[2]

Test correct string encoding according to [RFC2279]. Fields of type UTF8String SHOULD contain only characters of the ANSI/ISO 8859-1 character set (Unicode Latin-1 page)

give warning if condition non.Latin-1 characters found.

3 TeletexString P1.T6.#3 P1.T6.[3]

Fields of type TeletexString MUST contain only characters of the ANSI/ISO 8859-1 character set (Unicode Latin-1 page) If encoded according to T.61 (using floating diacritics), only characters present in the ANSI/ISO 8859-1 set MUST be used.

fail if condition not fulfilled give warning if T.61 encoded

Page 31: ISIS-MTT Test Specification - TeleTrusT · 2009-04-03 · ISIS-MTT Test Specification: Introduction Version 1.1 Document History Page 3 of 19 Document History VERSION DATE CHANGES

ISIS-MTT Part 1: Certificate And CRL Profiles Version 1.1

Test Case Specifications for ISIS-MTT Part 1 Page 12 of 32

Table 4: Test Case TCGGENNAMES-1: Testing general requirements on GeneralNames

TEST CASE NAME TCGGENNAMES-1 TEST PURPOSE Testing syntax and contents of general names (ASN.1 type ‘GeneralNames’). TEST OBJECT (CUT) The DER-encoding of an ASN.1 GeneralNames object. PARAMETERS none INSTRUCTIONS The GeneralNames type is a sequence (i.e. a list) of one of the GeneralName forms listed below. One of the following test steps must be applied

to each element of the GeneralNames sequence. TEST

STEP

NO.

FIELD OF DATA OBJECT

ISIS-MTT PART.TABLE.ENTRY#

CONDITIONS, CONSTRAINTS

EVALUATION OF THE TEST STEP, INSTRUCTION FOR TEST

OPERATOR 1 otherName P1.T8.#3 This general name form SHOULD NOT be used. pass, but give warning if present 2 rfc822Name P1.T8.#4 The format of the email address given in this field MUST conform with [RFC822] fail if format is wrong 3 dNSName P1.T8.#5 The format of the Internet domain name given in this field MUST conform with [RFC1034] fail if format is wrong 4 x400Address P1.T8.#6 This general name form is considered obsolete and is NOT any longer RECOMMENDED. pass, but give warning if present 5 directoryName P1.T8.#7 Apply test case TCGDNAMES-1 (Table 3) if this field is present. fail if test case fails 6 ediPartyName P1.T8.#8 This general name form is considered obsolete and is NOT any longer RECOMMENDED. pass, but give warning if present 7 uniformResourceIdentifi

er P1.T8.#9 URI as defined in [RFC1630], allowing uniform resource names (URNs) as well as URLs.

Permitted URL forms are specified in [RFC1738] and [RFC2255]. fail if format is wrong

8 ipAddress P1.T8.#10 IP address in IPv4 [RFC791] or in IPv6 [RFC1883] fail if format is wrong 9 registeredID P1.T8.#11 This general name form is considered obsolete and is NOT any longer RECOMMENDED. pass, but give warning if present

Page 32: ISIS-MTT Test Specification - TeleTrusT · 2009-04-03 · ISIS-MTT Test Specification: Introduction Version 1.1 Document History Page 3 of 19 Document History VERSION DATE CHANGES

ISIS-MTT Part 1: Certificate And CRL Profiles Version 1.1

Test Case Specifications for ISIS-MTT Part 1 Page 13 of 32

Table 5: Test Case TCGEXTENSIONS-1: Testing Certificate/CRL-Extensions

TEST CASE NAME TCGEXTENSIONS-1 TEST PURPOSE Testing syntax and contents of certificate extensions (ASN.1 type ‘Extensions’). TEST OBJECT (CUT) The DER-encoding of an ASN.1 Extensions object. PARAMETERS • type of embedding object: EE certificate, qualified EE signature certificate, CA, CRL-signing, OCSP-signing, TSP-signing, attribute

certificate (AC), complete CRL, delta CRL, CRL entry • issuer certificate • appropriate indirect CRL, if applicable

INSTRUCTIONS The Extensions type is a sequence (i.e. a list) of one of the GeneralName forms listed below. One of the following test steps must be applied to each element of the GeneralNames sequence.

TEST

STEP

NO.

FIELD OF DATA OBJECT

ISIS-MTT PART.TABLE.ENTRY#

CONDITIONS, CONSTRAINTS

EVALUATION OF THE TEST STEP, INSTRUCTION FOR TEST

OPERATOR 1 all extensions P1.T9.#2

P1.T10 SigP.T1

Only extensions listed in Table 10 of Part 1 – for SigG conforming certificates supplemented by Table 1 if the optional SigG Profile – SHOULD occur. Extensions of other types may still occur, they MUST be flagged non-critical. An extension type MUST NOT occur more than once.

pass but give a warning if a non-supported extension type occurs. fail if any ‘MUST’-condition not met

2 AuthorityKeyIdentifier P1.T11#1 P1.T11[1] P1.T33#1 P1.T33[1] P1.T33[2]

This extension MUST be present in all PKCs and ACs, except a self-signed CA cert. This extension MUST be present in all CRLs.

fail if extension not present, otherwise execute steps 2/a..c

2/a keyIdentifier P1.T11.#2 This field MUST be present. It MUST contain the SubjectKeyIdentifier of the issuer certificate.

pass and issue a warning if field not present in a PKC. fail if condition not met

2/b authorityCertIssuer P1.T11.#3 This field MAY be present. If present, it MUST contain exactly one directoryName element filled with the issuer DName of the issuer certificate.

fail if condition not met

2/c authorityCertSerialNumber

P1.T11.#4 This field MAY be present. If present, it MUST contain the serialNumber of the issuer certificate.

fail if condition not met

3 SubjectKeyIdentifier P1.T11.#5 P1.T11.[2]

This extension MUST be present in all CA and CRL-issuer certificates and SHOULD be present in EE certificates. Methods a) and b) are recommended to form the ID.

fail if condition not met

Page 33: ISIS-MTT Test Specification - TeleTrusT · 2009-04-03 · ISIS-MTT Test Specification: Introduction Version 1.1 Document History Page 3 of 19 Document History VERSION DATE CHANGES

ISIS-MTT Part 1: Certificate And CRL Profiles Version 1.1

Test Case Specifications for ISIS-MTT Part 1 Page 14 of 32

4 KeyUsage P1.T12.#1 This extension MUST always be included in PKCs and MUST be marked critical. The following usage flags must be set in the different certificate types: • CA certificates: the keyCertSign bit MUST be set. Additionally, the crlSign bit MAY be

set too. Other bits MUST NOT be set. • CRL-signing certificates: the crlSign bit MUST be set. Additionally, the keyCertSign bit

MAY be set too. Other bits MUST NOT be set. • OCSP-signing: the nonRepudiation bit MUST be set. • TSP-signing: the nonRepudiation bit MUST be set. • EE certificate: basically, any combination of nonRepudiation, signature, dataEncryption

and keyEncipherment is acceptable. It is however RECOMMENDED that CAs issue separate certificates for the purposes of non-repudiation (only nonRepudiation set), authentication (only ‘signature’ set) and encryption (only dataEncipherment and keyEncipherment set). Hence, a warning shall be given for mixed-purpose certificates.

• Qualified EE signature certificates: the nonRepudiation bit and only this bit MUST be set, if these certificates are to be used to validate commitment to signed content, such as electronic signatures on agreements or on transactions. The nonRepudiation and digitalSignature bits MAY be combined, if these certificates are to be used for other purposes.

• AC: the extension MUST NOT occur in an AC

Fail if any ‘MUST’-condition is not met. Pass but give a warning if a ‘SHOULD’-condition is not met

5 PrivateKeyUsagePeriod P1.T13.#1 This extension SHOULD NOT occur. If still present, it MUST be non-critical. Pass. but give a warning if present. Fail if flagged crtitical.

6 CertificatePolicies P1.T14.#1 This extension SHOULD be marked non-critical. Pass, but issue a warning if critical.

6a PolicyMappings P1.T15#1 • In CA certificate: this extension MAY be present. If present, it MUST be non-critical • In other certificate types: This extension MUST NOT be present.

Fail if any ‘MUST’-condition is not met.

7 SubjectAltNames P1.T16.#1 This extension MAY be present and SHOULD be marked non-critical. If the extension is present, the GeneralNames structure MUST be non-empty. Check format and content by performing test case TCGGENNAMES-1 (Table 4)

Fail if any ‘MUST’-condition is not met. Pass but give a warning if a ‘SHOULD’-condition is not met

8 IssuerAltNames P1.T16.#2 This extension MAY be present and SHOULD be marked non-critical. The GeneralNames structure MAY contain the LDAP-URL-address of the issuer’s certificate. This URL MAY include the DName (address within the directory), as described in [RFC2255]. Check format and content of the extension value (GeneralNames) by performing test case TCGGENNAMES-1 (Table 4)

Fail if any ‘MUST’-condition is not met. Pass but give a warning if a ‘SHOULD’-condition is not met

Page 34: ISIS-MTT Test Specification - TeleTrusT · 2009-04-03 · ISIS-MTT Test Specification: Introduction Version 1.1 Document History Page 3 of 19 Document History VERSION DATE CHANGES

ISIS-MTT Part 1: Certificate And CRL Profiles Version 1.1

Test Case Specifications for ISIS-MTT Part 1 Page 15 of 32

9 SubjectDirectoryAttributes

P1.T17.#1 In qualified EE certificates MAY include the following attributes: commonName, surname, givenName, title, postalAddress (with the address of permanent residence), dateOfBirth, placeOfBirth, gender, countryOfCitizenship, countryOfResidence, nameAtBirth. Constraints on length and format shall be checked against Table 7 of Part 1. Other attributes types SHOULD NOT occur. Other certificate types SHOULD NOT include this extension.

Fail if any ‘MUST’-condition is not met. Pass but give a warning if a ‘SHOULD’-condition is not met

10 BasicConstraints P1.T18.#1 P1.T18.[1]

• In a CA certificate: This extension MUST be present and MUST be marked critical. The cA-field MUST be set to TRUE. The pathLenConstraint-field MAY be present and MUST contain a natural number (≥0).

• In other certificate types: This extension MAY be present. If present, it MUST be marked critical and the cA-field MUST be absent (corresponding to the default value of FALSE.)

Fail if any ‘MUST’-condition is not met. Pass but give a warning if a ‘SHOULD’-condition is not met

11 NameConstraints P1.T19.#1 P1.T19.[1],[2]

• In CA certificate: This extension MAY be present. If present, it MUST be marked critical. Apply test case TCGGENNAMES-1 (Table 4) to the base field.

• In other certificate types: This extension MUST NOT be present.

Fail if any ‘MUST’-condition is not met. Pass but give a warning if a ‘SHOULD’-condition is not met

12 PolicyConstraints P1.T20.#1 P1.T20.[1]

• In CA certificate: this extension MAY be present. If present, at least one optional fields requireExplicitPolicy and inhibitPolicyMapping MUST be given.

• In other certificate types: This extension MUST NOT be present.

Fail if any ‘MUST’-condition is not met. Pass but give a warning if a ‘SHOULD’-condition is not met

13 ExtendedKeyUsage P1.T21.#1 P1.T21.[1]... [3]

• In CA certificate: this extension MUST NOT be present. (even if the respective CA key is used to sign OCSP responses too)

• In CRL-signing certificate: this extension MUST NOT be present. • In OCSP-signing certificate: the id-kp-OCSPSigning and no other OID MUST be present.• In TSP-signing certificate: the id-kp-timeStamping and no other OID MUST be present. • EE certificates: the extension MAY occur and the sequence of keyPurposeID OIDs

MUST NOT be empty. If the anyExtendedKeyUsage key purpose is present, the extension SHOULD NOT be critical.

Fail if any ‘MUST’-condition is not met. Pass but give a warning if a ‘SHOULD’-condition is not met

Page 35: ISIS-MTT Test Specification - TeleTrusT · 2009-04-03 · ISIS-MTT Test Specification: Introduction Version 1.1 Document History Page 3 of 19 Document History VERSION DATE CHANGES

ISIS-MTT Part 1: Certificate And CRL Profiles Version 1.1

Test Case Specifications for ISIS-MTT Part 1 Page 16 of 32

14 CRLDistributionPoints P1.T22.#1 P1.T22.[6]

This extension MUST be present in EE certificates, if the CA issues indirect CRLs (the issuer certificate has the crlSign bit NOT set) and SHOULD be present otherwise. It SHOULD be marked non-critical. One or more distribution points (CDPs) MAY be specified each containing at least the distributionPoint field (#3). If URL forms are present in the fullName (#7) field, it MUST contain the LDAP-URL of the LDAP server, including the DName of the CRL in the data information tree (DIT), as specified in [RFC2255]. Optionally, the fullName field MAY contain an FTP-URL and/or a HTTP-URL, if the CRL is available via FTP or HTTP. The nameRelativeToCRLIssuer filed MAY be present and MUST contain a directoryName (i.e. a DName). Call test case GEN-CERT/DNAMES to check this DName. If CRLs are segmented according to revocation reasons, the reasons of the individual CDPs MUST cover the entire reason set. If the issuer certificate has the crlSign bit NOT set (which is a sign that the CA issues indirect CRLs), the cRLIssuer field MUST contain a valid Dname, which MUST be identical with the issuer DName of the respective indirect CRL. Call test case GEN-CERT/TCGDNAMES-1 to check this DName.

Fail if any ‘MUST’-condition is not met. Pass but give a warning if a ‘SHOULD’-condition is not met

15 AuthorityInfoAccess P1.T23.#1 If present, this extension MUST be marked non-critical. The list of access methods (T23.#3) MUST contain at least one AccessDescription entry. If the id-ad-ocsp OID is present in theaccessMethod field, the accessLocation field MUST contain a HTTP-URL.

Fail if any ‘MUST’-condition is not met.

16 BiometricData P1.T24 If present, this extension MUST be marked non-critical. The use of this extension is free to local communities, hence, no further conformity checks are needed.

Fail if any ‘MUST’-condition is not met.

17 QCStatements P1.T25 The extension SHOULD NOT be marked critical. Pass but give a warning if a ‘SHOULD’-condition is not met

18 OCSPNocheck P1.T26 The extension SHLOULD NOT be present. If present, it SHOULD be marked non-critical. Pass but give a warning if a ‘SHOULD’-condition is not met

19 CRLNumber P1.T35 This extension MUST be present in all CRLs and MUST be non-critical. The CRL serial number MUST be a positive integer, not longer than 20 octets. Pay special attention to correct 2’s complement encoding as described in P1.T2.[8]

Fail if any ‘MUST’-condition is not met.

20 DeltaCRLIndicator P1.T36 This extension MUST be present in a delta CRL and MUST NOT be present in a complete CRL. If present, this extension MUST be critical.

Fail if any ‘MUST’-condition is not met.

21 IssuingDistribution Point

P1.T37 If present, this extension MUST be critical. If the issuer certificate is not a CA certificate (BasicConstraints.cA = TRUE), then the extension MUST be present and the indirectCRL flag MUST be present and MUST be set to TRUE. If the distributionPoint field is present, it MUST contain at least an LDAP-URL according to [RFC2255].

Fail if any ‘MUST’-condition is not met.

22 ReasonCode P1.T38 The extension SHOULD be present in all CRL entries and MUST be marked non-critical. The ReasonCode extension SHOULD be absent, instead of giving the code unspecified(0).

give warning if not present or present with value unspecified.

Page 36: ISIS-MTT Test Specification - TeleTrusT · 2009-04-03 · ISIS-MTT Test Specification: Introduction Version 1.1 Document History Page 3 of 19 Document History VERSION DATE CHANGES

ISIS-MTT Part 1: Certificate And CRL Profiles Version 1.1

Test Case Specifications for ISIS-MTT Part 1 Page 17 of 32

23 HoldInstructionCode P1.T39 If present, the extension MUST be marked non-critical. This CRL entry extension MUST be absent from the CRL entry rather than indicating the id-holdInstruction-none code, which is semantically the same.

give warning if present with value holdInstruction-none

24 InvalidityDate P1.T40 If present, this CRL entry extension MUST be marked non-critical. Date values MUST be given in the format YYYYMMDDhhmmssZ, i.e. always including seconds and expressed as Zulu time (Universal Coordinated Time).

Fail if any conditions not met.

25 CertificateIssuer P1.T41 This CRL entry extension MUST be present in the first item and may be present in further items of an indirect CRL, i.e. if the issuer certificate is not a CA certificate (BasicConstraints.cA = TRUE). If present, it MUST be marked critical and MUST contain a valid CA DName. Apply test of Step 6 of test case TCGPKC-1 (Table 2) to test this DName. Direct CRLs SHOULD omit this extension

Fail if any ‘MUST’-conditions not met. Give warning if present in a direct CRL.

Page 37: ISIS-MTT Test Specification - TeleTrusT · 2009-04-03 · ISIS-MTT Test Specification: Introduction Version 1.1 Document History Page 3 of 19 Document History VERSION DATE CHANGES

ISIS-MTT Part 1: Certificate And CRL Profiles Version 1.1

Test Case Specifications for ISIS-MTT Part 1 Page 18 of 32

Table 6: Test Case TCGAC-1: Testing the Generation of Attribute Certificates

TEST CASE NAME TCGAC-1 TEST PURPOSE Testing syntax and contents of an attribute certificate (AC). TEST OBJECT (CUT) The DER-encoding of a signed ASN.1 AttributeCertificate object. PARAMETERS • issuer certificate: this must be delivered to the testing tool in order to be able to prove certificate chaining and to verify the signature.

• base certificate, if applicable • appropriate indirect CRL, if applicable

INSTRUCTIONS The component to be tested is to be triggered to generate the selected object type. For end entity certificates, this may imply submitting a certification request. The following general guidelines shall be followed while testing the generation of certificates: • All mandatory and possibly all optional fields shall be filled in in the request, so that all aspects of certificate generation can be tested. • Request information (subject names, attribute contents) shall contain possibly many or all characters permitted for the given string type. Use

the possible widest spectrum of special symbols, spaces, accents etc. • Request information shall use the entire permitted length of the individual fields.

TEST

STEP

NO.

FIELD OF DATA OBJECT

ISIS-MTT PART.TABLE.ENTRY#

CONDITIONS, CONSTRAINTS

EVALUATION OF THE TEST STEP, INSTRUCTION FOR TEST

OPERATOR 1 AttributeCertificate P1.T27 Test the correctness of the ASN.1 syntax, with special regard to correct tagging (IMPLICIT or

EXPLICIT tagging), INTEGER encoding (signed representation!) Fail if any conditions not met.

2 signatureAlgorithm P1.T27.#3, P1.T28.#7

Content of inner and outer AlgorithmIdentifiers MUST be identical. Algorithm OID and parameters MUST indicate an algorithm permitted in ISIS-MTT Part 6.

Fail if any conditions not met.

3 signatureValue P1.T27.#4 This field MUST contain a valid signature. Verify mathematical correctness using the issuer certificate.

fail if signature mathematically incorrect.

4 version P1.T27.#2 Value MUST be v1(0) Fail if any conditions not met. 5 subject P1.T27.#3

P1.T27.[2] The baseCertificateID option SHOULD be used. The baseCertificateId.issuer field MUST contain exactly one directoryName that is identical to the issuer DName of the base certificate, passed as parameter to this test case. Other name forms are permitted and MAY contain alternative names, such as an LDAP-URL. As the use of the issuerUniqueID field of the base certificate is not permitted, the baseCertificateId.issuerUniqueID option MUST NOT be used. When the subjectName option is used, it SHOULD contain only one DName, which shall be tested according to Step Nr. 8 of test case TCGPKC.1 (Table 2).

Fail if any ‘MUST’-condition is not met. Pass but give a warning if a ‘SHOULD’-condition is not met

Page 38: ISIS-MTT Test Specification - TeleTrusT · 2009-04-03 · ISIS-MTT Test Specification: Introduction Version 1.1 Document History Page 3 of 19 Document History VERSION DATE CHANGES

ISIS-MTT Part 1: Certificate And CRL Profiles Version 1.1

Test Case Specifications for ISIS-MTT Part 1 Page 19 of 32

6 issuer P1.T27.#4 P1.T27.[4]

The issuer field MUST contain exactly one directoryName with the DName of the issuer. Apply tests of Step 6 of test case TCGPKC-1 (Table 2).

Fail if any conditions not met.

7 serialNumber P1.T27.#8 P1.T27.[7]

The serial number MUST be a positive integer, not longer than 20 octets. Pay special attention to correct 2’s complement encoding as described in P1.T2.[8]

Fail if any conditions not met.

8 attrCertValidityPeriod P1.T27.#9 P1.T27.[8]

Both GeneralizedTime fields MUST be encoded according to the format YYYYMMDDhhmmssZ, i.e. always including seconds and expressed as Zulu time (Universal Coordinated Time)

Fail if any conditions not met.

9 attributes P1.T27.#10 P1.T29

In the attributes SEQUENCE, each attributeType OID may occur only once. The attributes SEQUENCE MUST contain at least one attribute. Check that the constraints and recommendations for permitted attributes and single-/multi-valuedness as listed in P1.T29 are met. If an attribute of type Procuration is contained, perform test case TCGATTR-1 with parameter attributeType=Procuration on this attribute. If an attribute of type Admission is contained, perform test case TCGATTR-1 with parameter attributeType=Admission on this attribute. If an attribute of type MonetaryLimit is contained, perform test case TCGATTR-1 with parameter attributeType=MonetaryLimit on this attribute. If an attribute of type DeclarationOfMajority is contained, perform test case TCGATTR-1 with parameter attributeType= DeclarationOfMajority on this attribute. If an attribute of type Restriction is contained, perform test case TCGATTR-1 with parameter attributeType= Restriction on this attribute.f an attribute of type AdditionalInformation is contained, perform test case TCGATTR-1 with parameter attributeType= AdditionalInformation on this attribute. If an attribute of type SubjectDirectoryAttributes is contained, perform test case TCGATTR-1 with parameter attributeType= SubjectDirectoryAttributes on this attribute. If an attribute of type QcEuLumitValue is contained, perform test case TCGATTR-1 with parameter attributeType= QcEuLumitValue on this attribute.

Fail if any conditions not met. Pass but give a warning if a recommendation is not met. Fail if any test case fails

10 issuerUniqueID P1.T27.#11 This field MUST NOT be present. fail if not met 11 extensions P1.T27.#12 Supported standard extensions (i.e. extensions defined in PKIX or ETSI standards) are listed

in P1.T30. The critical-flagging of each extension MUST meet the requirements in P1.T30. Local communities may include private extensions with non-critical flagging. Apply test case TCGEXTENSIONS-1 (Table 5).

fail if non-supperted standard extension or non-supported critical private extension found. issue a warning on non-supported private extensions.

Page 39: ISIS-MTT Test Specification - TeleTrusT · 2009-04-03 · ISIS-MTT Test Specification: Introduction Version 1.1 Document History Page 3 of 19 Document History VERSION DATE CHANGES

ISIS-MTT Part 1: Certificate And CRL Profiles Version 1.1

Test Case Specifications for ISIS-MTT Part 1 Page 20 of 32

Table 6a: Test Case TCGATTR-1: Testing the Generation of Attributes

TEST CASE NAME TCGATTR-1 TEST PURPOSE Testing syntax and contents of the value of attributes. These contents may occur in PKCs as well as ACs. To avoid multiple implementation, the

corresponding testing procedure has been implemented here as a separate test case. TEST OBJECT (CUT) The DER-encoding of an attribute. PARAMETERS • attributeType: Procuration,Admission, MonetaryLimit, DeclarationOfMajority, Restriction, AdditionalInformation. INSTRUCTIONS This test procedure will be called from other test cases. Just as for the embedding PKC or AC, the following general guidelines shall be followed

while designing the tests: • In order to cover all aspects of certificate generation, a sufficiently large set of certificates shall be tested, where all mandatory and optional

fields are filled out in at least in one certificate. • Certificate contents (subject names, attribute contents) shall comprise many or all characters permitted for the given string type. Use the

possible widest spectrum of special symbols, spaces, accents etc. • Certificate contents shall utilize the entire permitted length of the individual fields.

TEST STEP NO.

DATA OBJECT OR DATA FIELD

ISIS-MTT PART.TABLE.ENTRY#

CONDITIONS, CONSTRAINTS

EVALUATION OF THE TEST STEP, INSTRUCTION FOR TEST OPERATOR

1 If attributeType=Procuration, then perform steps #2...#6. If attributeType=Admission, then perform steps #7...#12. If attributeType=MonetaryLimit, then perform steps #13...#15. If attributeType= DeclarationOfMajority, then perform steps #16...#19. If attributeType=Restriction, then perform step #20. If attributeType= AdditionalInformation, then perform step #21. If attributeType= SubjectDirectoryAttributes, then perform step #22. If attributeType= QcEuLumitValue, then perform step #23.

2 country P1.T29a.#3 The characters MUST be allowed for PrintableSting. The string length MUST be exactly 2.

Fail if not met.

3 typeOfSubstitution P1.T29a.#4 Perform the tests of test case TCGDIRSTRING-1 on this DirectoryString object with parameter maxLength=128

Fail if test case fails.

4 signingFor.thirdPerson P1.T29a.#7 Perform test case TCGGENNAMES-1 on this GeneralName object. Fail if test case fails. 5 signingFor.certRef.issuer P1.T29a.#8 certRef MUST designate a base certificate of the substituted person.

issuer MUST contain at least one directoryName item, identical to the the issuer name of the referenced PKC. Perform test case TCGGENNAMES-1 on this GeneralNames object.

Fail if test case fails.

6 signingFor.certRef.serial P1.T29a.#8 certRef MUST designate a base certificate of the substituted person, which need not be tested. The serial field MUST contain a natural number not larger than 20 octets.

Fail if not met.

Page 40: ISIS-MTT Test Specification - TeleTrusT · 2009-04-03 · ISIS-MTT Test Specification: Introduction Version 1.1 Document History Page 3 of 19 Document History VERSION DATE CHANGES

ISIS-MTT Part 1: Certificate And CRL Profiles Version 1.1

Test Case Specifications for ISIS-MTT Part 1 Page 21 of 32

7 admissionAuthority P1.T29b.#4, #7

If an admission authority is specified, perform test case TCGGENNAMES-1 for a GeneralNames-Objekt containing admissionAuthority as a single item.

Fail if test case fails.

8 namingAuthority P1.T29b.#8, #15, #10

The namingAuthority SHOULD contain at least one name form.

Warning if not met.

9 namingAuthorityUrl P1.T29b.#12 The string may contain only octets 20h...7fh (ASCII character, not including control chars) Fail if not met. 10 namingAuthorityText P1.T29b.#13 If present, perform test case TCGDIRSTRING-1 with parameter maxLength = 128. Fail if test case fails. 11 professionItems P1.T29b.#16 The SEQUENCE MUST contain at least one profession item.

For each item in the list, perform test case TCGDIRSTRING-1 with parameter maxLength = 128.

Fail if not met. Fail if test case fails.

12 registrationNumber P1.T29b.#18 The string may contain only printable characters. It MUST contain at least 1 and at most 128 characters.

Fail if not met.

13 currency P1.T29c.#3 The string MUST contain a valid ISO currency code Fail if not met. 14 amount P1.T29c.#4 amount MUST be non-negative, i.e. MSB MUST be 0. Fail if not met. 15 exponent P1.T29c.#5 exponent MUST be non-negative, i.e. MSB MUST be 0. Fail if not met. 16 notYoungerThen P1.T29d.#3 notYoungerThen MUST be positive (MSB MUST be 0). Fail if not met. 17 fullAge P1.T29d.#5 fullAge SHOULD only be encoded, if its value is FALSE. Warning if not met. 18 country P1.T29d.#6 country MUST contain a valid ISO country code

Fail if not met.

19 dateOfBirth P1.T29d.#7 The date MUST be given using Zulu time and the format YYYYMMDD000000Z. Fail if not met. 20 Restriction P1.T29e.#2 Perform test case TCGDIRSTRING-1 with parameter maxLength = 1024. Fail if test case fails. 21 AdditionalInformation P1.T29f.#2 Perform test case TCGDIRSTRING-1 with parameter maxLength = 2048.

Fail if test case fails.

22 SubjectDirectory Attributes

P1.T17 MAY include the following attributes: commonName, surname, givenName, title, postalAddress (with the address of permanent residence), dateOfBirth, placeOfBirth, gender, countryOfCitizenship, countryOfResidence, nameAtBirth. Constraints on length and format shall be checked against Table 7 of Part 1. Other attributes types SHOULD NOT occur.

Fail if not met.

23 QcEuLumitValue P1.T25.#13 Iso4217CurrencyCode MUST be a valid ISO currency code. It SHOULD be alphabetic. Fail if not met. Pass but give a warning if ‘SHOULD’-condition not met.

Page 41: ISIS-MTT Test Specification - TeleTrusT · 2009-04-03 · ISIS-MTT Test Specification: Introduction Version 1.1 Document History Page 3 of 19 Document History VERSION DATE CHANGES

ISIS-MTT Part 1: Certificate And CRL Profiles Version 1.1

Test Case Specifications for ISIS-MTT Part 1 Page 22 of 32

Table 7: Test Case TCGCRL-1: Testing the Generation of CRLs

TEST CASE NAME TCGCRL-1 TEST PURPOSE Testing syntax and contents of a certificate revocation list (CRL). TEST OBJECT (CUT) The DER-encoding of a signed ASN.1 CetificateList object. PARAMETERS • Delta-CRL flag: indicates whether this is a delta-CRL.

• issuer certificate: this must be delivered to the testing tool in order to be able to prove certificate chaining and to verify the signature. INSTRUCTIONS A couple of revoked certificates MUST be present in the directory when generating CRLs for the test case. TEST

STEP

NO.

FIELD OF DATA OBJECT

ISIS-MTT PART.TABLE.ENTRY#

CONDITIONS, CONSTRAINTS

EVALUATION OF THE TEST STEP, INSTRUCTION FOR TEST

OPERATOR 1 CertificateList P1.T31 Test the correctness of the ASN.1 syntax, with special regard to correct tagging (IMPLICIT or

EXPLICIT tagging), INTEGER encoding (signed representation!) Fail if any conditions not met.

2 signatureAlgorithm P1.T31.#3, P1.T32.#3

Content of inner and outer AlgorithmIdentifiers MUST be identical. Algorithm OID and parameters MUST indicate an algorithm permitted in ISIS-MTT Part 6.

Fail if any conditions not met.

3 signatureValue P1.T31.#4 This field MUST contain a valid signature. Verify mathematical correctness using the issuer certificate.

fail if signature mathematically incorrect.

3a version P1.T32.#2 Version MUST be v2(1). Fail if any conditions not met. 4 issuer P1.T32.#4 The issuer field contains the DName of the issuer.

Apply test of Step 6 of test case TCGPKC-1 (Table 2). Fail if any conditions not met.

5 thisUpdate P1.T32.#5 Apply test of Step 7 of test case TCGPKC-1 (Table 2). Fail if any conditions not met. 6 nextUpdate P1.T32.#6 The optional field nextUpdate MUST be included in all CRLs.

Apply test of Step 7 of test case TCGPKC-1 (Table 2). Fail if any conditions not met.

7 revokedCertificates P1.T32.#7 Check each element of the SEQUENCE as described in test steps 7 a) ... c) In real life, the list may be empty. However, tests MUST be performed with a CRL that contains at least one certificate item.

7 a) userCertificate P1.T32.#8 This field MUST contain the serialNumber of the revoked certificate which MUST be a positive integer, not longer than 20 octets. Pay special attention to correct 2’s complement encoding as described in P1.T2.[8]

Fail if any conditions not met.

7 b) revocationDate P1.T32.#9 Apply test of Step 7 of test TCGPKC-1 (Table 2). Fail if any conditions not met.

Page 42: ISIS-MTT Test Specification - TeleTrusT · 2009-04-03 · ISIS-MTT Test Specification: Introduction Version 1.1 Document History Page 3 of 19 Document History VERSION DATE CHANGES

ISIS-MTT Part 1: Certificate And CRL Profiles Version 1.1

Test Case Specifications for ISIS-MTT Part 1 Page 23 of 32

7 c) crlEntryExtensions P1.T32.#10 Supported standard extensions (i.e. extensions defined in PKIX or ETSI standards) are listed in P1.T37. The critical-flagging of each extension MUST meet the requirements in P1.T37. Local communities may include private extensions with non-critical flagging. Apply test case TCGEXTENSIONS-1 (Table 5).

fail if non-supperted standard extension or non-supported critical private extension found. issue a warning on non-supported private extensions.

8 crlExtensions P1.T32.#12 Supported standard extensions (i.e. extensions defined in PKIX or ETSI standards) are listed in P1.T33. The critical-flagging of each extension MUST meet the requirements in P1.T33. Local communities may include private extensions with non-critical flagging. Apply test case TCGEXTENSIONS-1 (Table 5).

fail if non-supperted standard extension or non-supported critical private extension found. issue a warning on non-supported private extensions.

Table 8: Test Case TCGCROSS-1: Testing the Generation of Cross-Certificate Pairs

TEST CASE NAME TCGCROSS-1 TEST PURPOSE Testing syntax and contents of a cross-certificate pair. TEST OBJECT (CUT) The DER-encoding of an ASN.1 CertificatePair object. PARAMETERS none INSTRUCTIONS none TEST

STEP

NO.

FIELD OF DATA OBJECT

ISIS-MTT PART.TABLE.ENTRY#

CONDITIONS, CONSTRAINTS

EVALUATION OF THE TEST STEP, INSTRUCTION FOR TEST

OPERATOR 1 CertificatePair P1.T42 Test the correctness of the ASN.1 syntax, with special regard to correct tagging (IMPLICIT or

EXPLICIT tagging), INTEGER encoding (signed representation!) Fail if any conditions not met.

2 forward P1.T42.#2 This element MUST always be present. It MUST contain a CA certificate (basicConstraints.cA = TRUE).

Fail if any conditions not met.

2 backward P1.T42.#3

This element is optional. If resent, it MUST contain a CA certificate (basicConstraints.cA = TRUE). The issuer name in the backward certificate shall match the subject name of the forward certificate and vice versa, and the subject public key in one certificate shall be capable of verifying the digital signature on the other certificate and vice versa. Only mathematical correctness of the signatures needs to be proven in this test step.

Fail if any conditions not met.

Page 43: ISIS-MTT Test Specification - TeleTrusT · 2009-04-03 · ISIS-MTT Test Specification: Introduction Version 1.1 Document History Page 3 of 19 Document History VERSION DATE CHANGES

ISIS-MTT Part 1: Certificate And CRL Profiles Version 1.1

Test Case Specifications for ISIS-MTT Part 1 Page 24 of 32

2.2 Test Group PROC-CERT (Processing of Certificates and CRLs)

The CUT of these tests may be software modules or products of diverse forms and implementations. Certificates need to be processed at almost all typical PKI components, such as CA component, OCSP responder, TSA server, signature verification module, email encryption/signature module. CRLs are typically processed in software components verifying signatures. Since such CUTs have no commonly defined interfaces, it is difficult to give a general description or guideline how to trigger them. Similarly, as these modules serve for various functions and may react in very different ways (e.g. displaying content of the certificate, being able to verify it, or being able to retrieve some specific information from it), it is difficult to give a general specification of what is to be observed.

In general, a certificate or CRL shall be submitted to the CUT (either directly, or by including it in a PKI message, or on a chip card), in which the following information shall be included.

• All mandatory and optional fields shall be filled in, so that all aspects of processing the certificate can be tested.

• Certificate/CRL information (subject names, attribute contents) shall contain possibly all permitted string types and all characters permitted for the given string type. The widest possible spectrum of special symbols, spaces, accents etc. shall be used.

• Certificate/CRL information shall use the entire permitted length of the individual fields.

• All extension and attribute types should be included, that are part of the ISIS-MTT profile, i.e. the support of which is mandatory, recommended or optional.

The CUT shall be considered to be compliant, if it is able to achieve the expected action, such as displaying certificate contents in the entire extent and in the correct form (full string length, characters correctly displayed, all mandatory attributes and extensions recognized, required information correctly retrieved). The following table list a couple of special aspects that are to be considered in the tests.

In a future version of this Test Specification, a set of test certificates and CRLs may be worked out that can be used in testing in order to achieve a possibly complete coverage of critical aspects.

Page 44: ISIS-MTT Test Specification - TeleTrusT · 2009-04-03 · ISIS-MTT Test Specification: Introduction Version 1.1 Document History Page 3 of 19 Document History VERSION DATE CHANGES

ISIS-MTT Part 1: Certificate And CRL Profiles Version 1.1

Test Case Specifications for ISIS-MTT Part 1 Page 25 of 32

Table 9: Test Case TCPPKC-1: Testing the Processing of Public Key Certificates

TEST CASE NAME TCPPKC-1 TEST PURPOSE Testing a CUT’s ability to process a public key certificate (PKC). TEST OBJECT (CUT) Product, software module, cryptographic token etc. processing public key certificates. PKCs need to be processed at almost all typical PKI

components, such as CA component, OCSP responder, TSA server, signature verification module, email encryption/signature module. PARAMETERS none INSTRUCTIONS The CUT shall be submitted a certificate (either directly, or by including it in a PKI message, or on a chip card). The CUT shall be considered to

be compliant, if it is able to achieve the expected action, such as displaying certificate contents in the entire extent and in the correct form (full string length, characters correctly displayed, all mandatory attributes and extensions recognized, required information correctly retrieved). This table lists special aspects that are to be considered in the tests.

TEST

STEP

NO.

FIELD OF DATA OBJECT

ISIS-MTT PART.TABLE.ENTRY#

CONDITIONS, CONSTRAINTS

EVALUATION OF THE TEST STEP, INSTRUCTION FOR TEST

OPERATOR 1 Certificate P1.T2 Test whether the CUT is able to parse the entire ASN.1 object. Fail if parsing fails. 2 signatureAlgorithm P1.T1.#3,

P1.T2.#4 The entire range of Algorithm OID and parameters permitted in ISIS-MTT Part 6 MUST be used in some test run.

Fail if any algorithm ID not recognized.

3 signature P1.T1.#4 no special tests pass 4 version P1.T2.#2 CUT MUST be able to process v3(2) certificates. Fail if any conditions not met. 5 serialNumber P1.T2.#3

P1.T2.[8] The CUT MUST be able to process serial numbers as long as 20 octets. The CUT SHOULD be able to process incorrectly (as unsigned) encoded numbers. (see P1.T2.#[8] for a description of the problem.)

Fail if any conditions not met.

6 issuer P1.T2.#5 P1.T7

The CUT MUST or SHOULD be able to process all DName attributes as listed in P1.T7. Verify that all permitted string types, characters and string lengths are appropriately processed.Find requirements in P1.T7, column PROC CA Also note that according to P1.T6 all the encodings printableString, teletexString, utf8string, bmpString and universalString MUST be supported on the processing side although partially forbidden for generation.

Fail if any mandatory attribute type is not recognized. Pass but give a warning if a recommended attribute type is not met. Fail if any mandatory encoding is not supported.

7 validity P1.T2.#6 P1.T3

The CUT MUST be able to process UTCTime as well as GeneralizedTime formats, including different time zones.

Fail if any conditions not met.

Page 45: ISIS-MTT Test Specification - TeleTrusT · 2009-04-03 · ISIS-MTT Test Specification: Introduction Version 1.1 Document History Page 3 of 19 Document History VERSION DATE CHANGES

ISIS-MTT Part 1: Certificate And CRL Profiles Version 1.1

Test Case Specifications for ISIS-MTT Part 1 Page 26 of 32

8 subject P1.T2.#7 P1.T7

The CUT MUST or SHOULD be able to process all DName attributes as listed in P1.T7. Verify that all permitted string types, characters and string lengths are appropriately processed.Find requirements in P1.T7, column PROC EE Also note that according to P1.T6 all the encodings printableString, teletexString, utf8string, bmpString and universalString MUST be supported on the processing side although partially forbidden for generation.

Fail if any mandatory attribute type is not recognized. Pass but give a warning if a recommended attribute type is not met. Fail if any mandatory encoding is not supported.

9 subjectPublicKeyInfo P1.T2.#8 The entire range of Algorithm OIDs, parameters and key encodings permitted in ISIS-MTT Part 6 MUST be used in some test run.

Fail if any algorithm ID not recognized.

10 issuerUniqueID P1.T2.#9 This field may be ignored by the CUT. pass 11 subjectUniqueID P1.T2.#10 This field may be ignored by the CUT. pass 12 extensions P1.T2.#11 The CUT MUST, SHOULD or MAY be able to process all extensions listed in P1.T10.

Fail if any mandatory extension type is not recognized. Pass but give a warning if a recommended extension type is not met.

Page 46: ISIS-MTT Test Specification - TeleTrusT · 2009-04-03 · ISIS-MTT Test Specification: Introduction Version 1.1 Document History Page 3 of 19 Document History VERSION DATE CHANGES

ISIS-MTT Part 1: Certificate And CRL Profiles Version 1.1

Test Case Specifications for ISIS-MTT Part 1 Page 27 of 32

Table 10: Test Case TCPAC-1: Testing the Processing of Attributes Certificates

TEST CASE NAME TCPAC-1 TEST PURPOSE Testing a CUT’s ability to process an attribute certificate (AC). TEST OBJECT (CUT) Product, software module, cryptographic token etc. processing attribute certificates. Attribute certificates may be processed at different PKI

components, such as CA component, server (to obtain authentication information), signature verification module, email encryption/signature module.

PARAMETERS none INSTRUCTIONS CUT shall be submitted a certificate (either directly or by including it in a PKI message, or on the chip card). The CUT shall be considered to be

compliant, if it is able to achieve the expected action, such as displaying certificate contents in the entire extent and in the correct form (full string length, characters correctly displayed, all mandatory attributes and extensions recognized, required information correctly retrieved). This table lists special aspects that are to be considered in the tests.

TEST

STEP

NO.

FIELD OF DATA OBJECT

ISIS-MTT PART.TABLE.ENTRY#

CONDITIONS, CONSTRAINTS

EVALUATION OF THE TEST STEP, INSTRUCTION FOR TEST

OPERATOR 1 AttributeCertificate P1.T27 Test whether the CUT is able to parse the entire ASN.1 object. Fail if parsing fails. 2 signatureAlgorithm P1.T27.#3,

P1.T28.#7 The entire range of Algorithm OID and parameters permitted in ISIS-MTT Part 6 MUST be used in some test run.

Fail if any algorithm ID not recognized.

3 signatureValue P1.T27.#4 no special tests pass 4 version P1.T27.#2 CUT MUST be able to process v1(0) certificates. Fail if any conditions not met. 5 subject P1.T27.#3

P1.T27.[2] The CUT MUST or SHOULD be able to process all DName attributes, occurring in the baseCertificateID.issuerSerial.issuer or in the subjectName fields, as listed in P1.T7 on any of the columns ‘PROC CA’ and ‘PROC EE’. Verify that all permitted string types, characters and string lengths are appropriately processed.The CUT MUST be able to process serial numbers as long as 20 octets, occurring in baseCertificateID.issuerSerial.serial. The baseCertificateId.issuerSerial.issuerUID field may be ignored by the CUT.

Fail if any mandatory attribute type is not recognized. Pass but give a warning if a recommended attribute type is not met.

6 issuer P1.T27.#4 P1.T27.[4]

The CUT MUST or SHOULD be able to process all DName attributes, occurring in a directoryName item, as listed in P1.T7 on Column ‘PROC CA’. Verify that all permitted string types, characters and string lengths are appropriately processed.Other GeneralName forms SHOULD be recognized as well.

Fail if any mandatory attribute type is not recognized. Pass but give a warning if a recommended attribute type is not met.

Page 47: ISIS-MTT Test Specification - TeleTrusT · 2009-04-03 · ISIS-MTT Test Specification: Introduction Version 1.1 Document History Page 3 of 19 Document History VERSION DATE CHANGES

ISIS-MTT Part 1: Certificate And CRL Profiles Version 1.1

Test Case Specifications for ISIS-MTT Part 1 Page 28 of 32

7 serialNumber P1.T27.#8 P1.T27.[7]

The CUT MUST be able to process serial numbers as long as 20 octets. The CUT SHOULD be able to process incorrectly (as unsigned) encoded numbers. (see P1.T2.#[8] for a description of the problem.)

Fail if any conditions not met.

8 attrCertValidityPeriod P1.T27.#9 P1.T27.[8]

The CUT MUST be able to process any GeneralizedTime formats, including different time zones.

Fail if any conditions not met.

9 attributes P1.T27.#10 P1.T29

The CUT MUST support or gracefully ignore the optional attributes as listed in P1.T29. Fail if any conditions not met.

10 issuerUniqueID P1.T27.#11 This field may be ignored by the CUT. pass 11 extensions P1.T27.#12 The CUT MUST, SHOULD or MAY be able to process all extension as listed in P1.T30.

Fail if any mandatory extension type is not recognized. Pass but give a warning if a recommended extension type is not met.

Page 48: ISIS-MTT Test Specification - TeleTrusT · 2009-04-03 · ISIS-MTT Test Specification: Introduction Version 1.1 Document History Page 3 of 19 Document History VERSION DATE CHANGES

ISIS-MTT Part 1: Certificate And CRL Profiles Version 1.1

Test Case Specifications for ISIS-MTT Part 1 Page 29 of 32

Table 11: Test Case TCPCRL-1: Testing the Processing of CRLs

TEST CASE NAME TCPCRL-1 TEST PURPOSE Testing a CUT’s ability to process a CRL. TEST OBJECT (CUT) Product, software module, cryptographic token etc. processing CRLs. CRLs are typically processed signature verification modules. PARAMETERS none INSTRUCTIONS CUT shall be submitted a non-empty CRL (directly or by including it in a message, token. The CUT shall be considered to be compliant, if it is

able to achieve the expected action, such as obtaining status information from the CRL. This table lists special aspects that are to be considered in the tests. This test case shall be performed with direct and indirect as well as complete and delta CRLs. Segmented CRLs should also be submitted to the CUT.

TEST

STEP

NO.

FIELD OF DATA OBJECT

ISIS-MTT PART.TABLE.ENTRY#

CONDITIONS, CONSTRAINTS

EVALUATION OF THE TEST STEP, INSTRUCTION FOR TEST

OPERATOR 1 CertificateList P1.T31 Test whether the CUT is able to parse the entire ASN.1 object. Fail if parsing fails. 2 signatureAlgorithm P1.T31.#3,

P1.T32.#3 The entire range of Algorithm OID and parameters permitted in ISIS-MTT Part 6 MUST be used in some test run.

Fail if any algorithm ID not recognized.

3 signatureValue P1.T31.#4 no special tests pass 3a version P1.T23.#2 CUT MUST be able to process v2(1) CRLs. Fail if any conditions not met. 4 issuer P1.T32.#4 The CUT MUST or SHOULD be able to process all DName attributes as listed in P1.T7.

Verify that all permitted string types, characters and string lengths are appropriately processed.

Fail if any mandatory attribute type is not recognized. Pass but give a warning if a recommended attribute type is not met.

5 thisUpdate P1.T32.#5 The CUT MUST be able to process UTCTime as well as GeneralizedTime formats, including different time zones.

Fail if any conditions not met.

6 nextUpdate P1.T32.#6 The CUT MUST be able to process UTCTime as well as GeneralizedTime formats, including different time zones.

Fail if any conditions not met.

7 revokedCertificates P1.T32.#7 Check each element of the SEQUENCE as described in test steps 7 a) ... c) 7 a) userCertificate P1.T32.#8 The CUT MUST be able to process serial numbers as long as 20 octets, occurring in this field. Fail if any conditions not met. 7 b) revocationDate P1.T32.#9 The CUT MUST be able to process UTCTime as well as GeneralizedTime formats, including

different time zones. Fail if any conditions not met.

Page 49: ISIS-MTT Test Specification - TeleTrusT · 2009-04-03 · ISIS-MTT Test Specification: Introduction Version 1.1 Document History Page 3 of 19 Document History VERSION DATE CHANGES

ISIS-MTT Part 1: Certificate And CRL Profiles Version 1.1

Test Case Specifications for ISIS-MTT Part 1 Page 30 of 32

7 c) crlEntryExtensions P1.T32.#10 The CUT MUST or MAY be able to process all extension as listed in P1.T37.

Fail if any mandatory extension type is not recognized. Pass but give a warning if a recommended extension type is not met.

8 crlExtensions P1.T32.#12 The CUT MUST or MAY be able to process all extension as listed in P1.T33.

Fail if any mandatory extension type is not recognized. Pass but give a warning if a recommended extension type is not met.

Page 50: ISIS-MTT Test Specification - TeleTrusT · 2009-04-03 · ISIS-MTT Test Specification: Introduction Version 1.1 Document History Page 3 of 19 Document History VERSION DATE CHANGES

ISIS-MTT Part 1: Certificate And CRL Profiles Version 1.1

Test Case Specifications for ISIS-MTT Part 1 Page 31 of 32

Table 12: Test Case TCPCROSS-1: Testing the Processing of Cross-Certificate-Pairs

TEST CASE NAME TCPCROSS-1 TEST PURPOSE Testing a CUT’s ability to process a cross-certificate pair. TEST OBJECT (CUT) Product, software module, cryptographic token etc. processing cross-certificate pairs. They are typically processed signature verification modules. PARAMETERS none INSTRUCTIONS CUT shall be submitted a cross-certificate pair (either directly or by including it in a PKI message, or on a chip card). The CUT shall be

considered to be compliant, if it is able to achieve the expected action, such as retrieving the required CA certificate from the object. This table lists special aspects that are to be considered in the tests.

TEST

STEP

NO.

FIELD OF DATA OBJECT

ISIS-MTT PART.TABLE.ENTRY#

CONDITIONS, CONSTRAINTS

EVALUATION OF THE TEST STEP, INSTRUCTION FOR TEST

OPERATOR 1 CertificatePair P1.T42 Test whether the CUT is able to parse the entire ASN.1 object. Fail if parsing fails. 2 forward P1.T42.#2 Test, if applies, whether the CUT is able to retrieve and use the forward certificate. 3 backward P1.T42.#3 Test, if applies, whether the CUT is able to retrieve and use the backward certificate.

Page 51: ISIS-MTT Test Specification - TeleTrusT · 2009-04-03 · ISIS-MTT Test Specification: Introduction Version 1.1 Document History Page 3 of 19 Document History VERSION DATE CHANGES

ISIS-MTT Part 1: Certificate And CRL Profiles Version 1.1

References Page 32 of 32

References

[RFC822] Standard for the format of ARPA Internet Messages, August 13, 1982 [RFC2279] UTF-8, a transformation format of ISO 10646, January 1998 [RFC1034] Domain Names – Concepts and facilities, November 1987 [RFC1630] Universal Resource Identifiers in WWW, June 1994 [RFC1738] Uniform Resource Locators (URL), December 1994 [RFC2255] An LDAP URL Format, June 1996

Page 52: ISIS-MTT Test Specification - TeleTrusT · 2009-04-03 · ISIS-MTT Test Specification: Introduction Version 1.1 Document History Page 3 of 19 Document History VERSION DATE CHANGES

COMMON ISIS-MTT SPECIFICATIONS FOR INTEROPERABLE PKI APPLICATIONS

FROM T7 & TELETRUST

TEST SPECIFICATION

PART 2

PKI MANAGEMENT

VERSION 1.1 – 22 SEPTEMBER 2004

Page 53: ISIS-MTT Test Specification - TeleTrusT · 2009-04-03 · ISIS-MTT Test Specification: Introduction Version 1.1 Document History Page 3 of 19 Document History VERSION DATE CHANGES

ISIS-MTT Test Specification Part 2: PKI Management Version 1.1

Contact Information Page 2 of 20

Contact Information

ISIS-MTT Working Group of the TeleTrusT Deutschland e.V.: www.teletrust.de The up-to-date version of ISIS-MTT can be downloaded from the above web site, from www.isis-mtt.org or from www.isis-mtt.de Please send comments and questions to [email protected]

Editors:

Jürgen Brauckmann

Alfred Giessler

Tamás Horváth

Hans-Joachim Knobloch

© T7 e.V. i.G. and TeleTrusT e.V., 2002-2004

Page 54: ISIS-MTT Test Specification - TeleTrusT · 2009-04-03 · ISIS-MTT Test Specification: Introduction Version 1.1 Document History Page 3 of 19 Document History VERSION DATE CHANGES

ISIS-MTT Test Specification Part 2: PKI Management Version 1.1

Document History Page 3 of 20

Document History

VERSION DATE

CHANGES

1.0.1 June 26th 2002

First published version

1.0.2 July 19th 2002

Editorial and stylistic changes, removal of bugs

1.0.2 August 11th 2003

Incorporated changes from Corrigenda version 1.2

1.1 September 22nd 2004

Several editorial changes and clarifications.

Page 55: ISIS-MTT Test Specification - TeleTrusT · 2009-04-03 · ISIS-MTT Test Specification: Introduction Version 1.1 Document History Page 3 of 19 Document History VERSION DATE CHANGES

ISIS-MTT Test Specification Part 2: PKI Management Version 1.1

Table of Contents Page 4 of 20

Table of Contents

1 Preface .......................................................................................................... 5

2 Test Case Specifications for ISIS-MTT Part 2......................................... 7

2.1 End Entity Components that Perform the Simple Enrollment Protocol ....... 7 2.1.1 Test Cases With Only Valid Test Events Generated by the

Tester......................................................................................................... 8 2.1.2 Test Cases With Invalid Test Events Generated by the Tester ............... 12

2.2 CA Components that Perform the Simple Enrollment Protocol .................. 14

2.2.1 Test Cases With Only Valid Test Events Generated by the Tester....................................................................................................... 15

2.2.2 Test Cases With Invalid Test Events Generated by the Tester ............... 18

Annexes............................................................................................................... 20

Annex A: Abbreviations ............................................................................................... 20

References .......................................................................................................... 20

Page 56: ISIS-MTT Test Specification - TeleTrusT · 2009-04-03 · ISIS-MTT Test Specification: Introduction Version 1.1 Document History Page 3 of 19 Document History VERSION DATE CHANGES

ISIS-MTT Test Specification Part 2: PKI Management Version 1.1

Preface Page 5 of 20

1 Preface

This part of the ISIS-MTT Test Specification covers the description of test cases for proving the generation and processing of PKCS#10 certification requests [RFC2314] and PKCS#7 certification responses [RFC2315] accordingly to the simple enrollment protocol defined in “Certificate Management Messages over CMS (CMC)” [RFC2797]. These test cases can be used to check the conformance of products with Part 2 of ISIS-MTT. An overview of the test cases corresponding to ISIS-MTT Part 2 is provided in Table 1. The structure of the related test suite is illustrated in Figure 1.

Table 1: Test Cases corresponding to ISIS-MTT Part 2

TEST GROUP / SUBGROUP NAME

TEST CASE NAME

TABLE TEST GROUP OBJECTIVE / TEST PURPOSE

SCMCEE/ Simple CMC enrollment protocol for end entities, including the generation and sending of PKCS#10 certification request message, followed by the processing of PKCS#7 certification response message

SCMCEE/VAL/ Processing of valid PKCS#7 certification response message

SCMCEE/VAL/ TCSCMCEEV-1

Table 2 Ensure that the CUT is able to generate and send a valid PKCS#10 certification request messages to the tester, and to process a valid PKCS#7 certification response message received from the tester.

SCMCEE/INV/ Processing of invalid PKCS#7 certification response message

SCMCEE/INV// TCSCMCEEI-1

Table 3 Ensure that the CUT is able to generate and send a valid PKCS#10 certification request messages to the tester, and to process (reject) an invalid PKCS#7 certification response message, generated by the tester and sent to the CUT, that does not contain the issued certificate.

SCMCCA/ Simple CMC enrollment protocol for CA entities, including the processing of PKCS#10 certification request message, followed by the generation and sending of PKCS#7 certification response message

SCMCCA/VAL/ Processing of valid PKCS#10 certification request message

SCMCCA/VAL/ TCSCMCCAV-1

Table 4 Ensure that the CUT is able to process a valid PKCS#10 certification request message received from the tester, and to generate and send a PKCS#7 certification response message to the tester.

Page 57: ISIS-MTT Test Specification - TeleTrusT · 2009-04-03 · ISIS-MTT Test Specification: Introduction Version 1.1 Document History Page 3 of 19 Document History VERSION DATE CHANGES

ISIS-MTT Test Specification Part 2: PKI Management Version 1.1

Preface Page 6 of 20

SCMCCA/INV/ Processing of invalid PKCS#10 certification request message

SCMCCA/INV// TCSCMCCAI-1

Table 5 Ensure that the CUT is able to process (reject) an invalid PKCS#10 certification request message with an invalid signature field value received from the tester.

Note: The abstract test case specifications combine the processing and generation of messages. Test case implementers have the option to realize these test cases as two separate test cases: one for controlling and observing the behaviour of the component under test regarding the generation, and one regarding the processing of messages.

Figure 1: Test Suite Structure for Simple CMC Enrollment Protocol

Test Suite: ISISMTT-TS

Test Group SCMCEE/

Category of CUT:

EE component that supports thesimple CMC enrollment protocol

Test SubgroupVAL/valid test events

TestCases

Test SubgroupINV/invalid test events

TestCases

Test Group SCMCCA/

Category of CUT:

CA component that supports thesimple CMC enrollment protocol

Test SubgroupVAL/valid test events

TestCases

Test SubgroupINV/invalid test events

TestCases

Test Suite: ISISMTT-TS

Test Group SCMCEE/

Category of CUT:

EE component that supports thesimple CMC enrollment protocol

Test SubgroupVAL/valid test events

TestCases

Test SubgroupINV/invalid test events

TestCases

Test Group SCMCCA/

Category of CUT:

CA component that supports thesimple CMC enrollment protocol

Test SubgroupVAL/valid test events

TestCases

Test SubgroupINV/invalid test events

TestCases

Test Suite: ISISMTT-TS

Test Group SCMCEE/

Category of CUT:

EE component that supports thesimple CMC enrollment protocol

Test SubgroupVAL/valid test events

TestCases

Test SubgroupINV/invalid test events

TestCases

Test Group SCMCCA/

Category of CUT:

CA component that supports thesimple CMC enrollment protocol

Test SubgroupVAL/valid test events

TestCases

Test SubgroupINV/invalid test events

TestCases

Page 58: ISIS-MTT Test Specification - TeleTrusT · 2009-04-03 · ISIS-MTT Test Specification: Introduction Version 1.1 Document History Page 3 of 19 Document History VERSION DATE CHANGES

ISIS-MTT Test Specification Part 2: PKI Management Version 1.1

Test Case Specifications for ISIS-MTT Part 2 Page 7 of 20

2 Test Case Specifications for ISIS-MTT Part 2

The keywords ERROR STOP, CONTINUE, PARAMETER, OPTION, and MODIFICATION are used in the following test case tables to provide instructions for test step evaluation and test operators. These keywords have the following meaning: ERROR A failure leading to a fail test result has been observed, which shall be

logged and documented in the test report.

STOP The test case shall be terminated.

CONTINUE The test case shall be continued with the next test step or test case.

PARAMETER The value of a field which can be used as a test case parameter. The test case parameter indicates that the test case can be run with different values of this parameter.

OPTION A field may be present or absent in a test event, generated by the tester. The test case can be run with or without this field.

MODIFICATION The value of a particular field of a referenced test case that has been modified in order to generate an invalid test event. All other fields of the referenced test case remain unchanged.

2.1 End Entity Components that Perform the Simple Enrollment Protocol

This section specifies test cases for checking the behaviour of components under test that provide the simple CMC protocol for end entities. The functionality of this kind of components under tests includes the generation and sending of PKCS#10 certification request messages, followed by the receipt and processing of PKCS#7 certification response messages. These test cases are used to prove the conformance of products with ISIS-MTT that claim to provide this functionality. Test cases of this test group are referenced by the 8-character mnemonics “TCSCMCEE” (TC for test case, SCMC- for simple CMC protocol, and EE for end entities), followed by the characters “V-” (for valid test events generated by the tester) or “I-” (for invalid test events generated by the tester), followed by a unique number that allows to add further identified test cases to this category. Test cases of this test group involve the following three kinds of test events. • The CUT has to generate and send a valid PKCS#10 message to the tester.

• The tester has to generate and sends a valid (or invalid) PKCS#7 message to the CUT.

• The CUT has to process the PKCS#7 message, and it must be able to extract and accept the included certificate, issued for the CUT, if it is a valid certificate. The related test event cannot be remotely observed by the tester. The acceptance of a valid certification response or the rejection of an invalid certification response can only locally be observed. Therefore, the outcome of this test event should be logged by the CUT operator, and reported to the test operator (the CUT and test operators could be the same person).

Page 59: ISIS-MTT Test Specification - TeleTrusT · 2009-04-03 · ISIS-MTT Test Specification: Introduction Version 1.1 Document History Page 3 of 19 Document History VERSION DATE CHANGES

ISIS-MTT Test Specification Part 2: PKI Management Version 1.1

Test Case Specifications for ISIS-MTT Part 2 Page 8 of 20

2.1.1 Test Cases With Only Valid Test Events Generated by the Tester

Table 2: Test Case TCSCMCEEV-1: Generation and Sending of PKCS#10 Certification Request Message, Followed by the Processing of a Valid PKCS#7 Certification Response Message

TEST CASE NAME TCSCMCEEV-1

TEST PURPOSE Ensure that the CUT is able to generate and send a valid PKCS#10 certification request to the tester, and to process a valid PKCS#7 certification response received from the tester.

TEST OBJECT (CUT) MIME entity that contains PKCS#10 certification request of the ASN.1 type CertificationRequest

PARAMETERS E-Mail address of tester to which the CUT shall send the PKCS#10 message, E-Mail address of CUT, subject DName of tester, public key algorithm identifier in subjectPublicKeyInfo, public key algorithm identifier in signatureAlgorithm

INSTRUCTIONS The component to be tested is to be triggered to generate and to send the selected object type. The following general guidelines shall be followed when testing the functionality of simple CMC EE components: • All mandatory fields shall be filled in the PKCS#10 certification request. As an option, X.509 standard

extensions may be included in the optional attributes field within certificationRequestInfo. • If the test result of the received PKCS#10 certification request is PASS, then the tester shall generate and send a

valid PKCS#7 certification response message to the CUT. • The acceptance of a valid certificate contained in the PKCS#7 certification response message shall be logged by

the CUT operator and reported to the test operator (the CUT and test operators could be the same person). TEST

STEP

NO.

FIELD OF DATA OBJECT ISIS-MTT PART.SECTION

ANDPART.TABLE.ENTR

Y#

CONDITIONS, CONSTRAINTS

EVALUATION OF THE TEST STEP, INSTRUCTION FOR TEST OPERATOR

Test event to be observed by the tester: PKCS#10 certification request message received from CUT 1 PKCS#10 Message P3.S2.2 Entity MUST be present. On failure ERROR 1.1 Content-Type P3.S2.1.3 Field MUST be present. Value MUST be

application/pkcs10 together with the parameter name with the extension ".p10".

On failure ERROR

Page 60: ISIS-MTT Test Specification - TeleTrusT · 2009-04-03 · ISIS-MTT Test Specification: Introduction Version 1.1 Document History Page 3 of 19 Document History VERSION DATE CHANGES

ISIS-MTT Test Specification Part 2: PKI Management Version 1.1

Test Case Specifications for ISIS-MTT Part 2 Page 9 of 20

1.2 Content-Transfer-Encoding

P3.S2.2 If present, value MUST be base64. On failure ERROR

1.3 Content-Disposition P3.S2.2 Field MUST be present. Value MUST be attachment together with the parameter filename having the same value as the parameter name in Content-Type. The parameter filename SHALL have the value smime.p10, if the source of the related object is not a file.

PARAMETER Source of related object which can be either a file or S/MIME itself On failure ERROR

1.4 MIME entity with PKCS#10 Request

P3.S2.2 Field MUST be present. Value MUST contain PKCS#10 Request

base64 decoding has to be performed, before the embedded certificationRequestInfo is analysed. On failure ERROR

2 certificationRequestInfo

P2.T1 Field MUST be present. On failure ERROR

2.1 version P2.T1.1.1 Field MUST be present with value v1(0). On failure ERROR 2.2 subject P2.T1.1.2 Field MUST be present with a non-empty DName

with attributes as defined in P1.T2.#7. On failure ERROR

2.3 subjectPublicKeyInfo P2.T1.1.3 Field MUST be present with public key algorithm identifier permitted in ISIS-MTT P6.S2.5, and bit string representation of the end entity's public key.

On failure ERROR

2.4 attributes P2.T1.1.4 Field MUST be present, but MAY contain an empty SET. Extensions observed in this field should be consistent with related information in CCS

On failure ERROR

2.4.1 ExtensionReq P2.T1.1.4.1 Field MAY be present with OID { 1 2 840 113549 1 9 14}. Other attribute types MUST NOT occur.

On failure ERROR

2.4.2 SEQUENCE OF Extension

P2.T1.1.4.1 Only extensions as specified in ISIS-MTT P1.T10 are permitted.

On failure ERROR

3 signatureAlgorithm P2.T1.2 Field MUST be present with public key algorithm identifier permitted in ISIS-MTT P6.S2.2

On failure ERROR

Page 61: ISIS-MTT Test Specification - TeleTrusT · 2009-04-03 · ISIS-MTT Test Specification: Introduction Version 1.1 Document History Page 3 of 19 Document History VERSION DATE CHANGES

ISIS-MTT Test Specification Part 2: PKI Management Version 1.1

Test Case Specifications for ISIS-MTT Part 2 Page 10 of 20

4 signature P2.T1.3 Field MUST be present with valid signature value. On failure ERROR, else generate certificate for CUT and CONTINUE with next test event

Test event to be controlled (i.e. to be generated and sent) by the tester: Generation and Sending of PKCS#7 certification response message to CUT 5 PKCS#7 Message P3.S2.1.3 Entity is present. 5.1 Content-Type P3.S2.1.3 Field is present with value be application/pkcs7-mime

together with the parameter smime-type set to the value certs-only and the parameter name with the extension ".p7c".

5.2 Content-Transfer-Encoding

P3.S2.2 Field is present with value base64.

5.3 Content-Disposition P3.S2.2 Field is present with value attachment together with the parameter filename having the same value as the parameter name in Content-Type.

6 MIME entity with signed data

P3.S2.2 Field is present with value that contains the related CMS object.

6.1 contentType P2.T2.#1 Field is present Value is signed-data { 1 2 840 113549 1 7 2 }

6.2 content P2.T2.#2 Field is present 6.2.1 version P2.T2.#2.1 Field is present, and value is 1 6.2.2 digestAlgorithms P3.T2.#2.2

P6.T1 Field is present Any hash algorithm, which MUST or SHOULD be supported for processing according to P6.T1

OPTION Type of hash algorithm

6.2.3 encapContentInfo P2.T2.#2.3 Field is present 6.3.1 eContentType P2.T2.#2.3 Field is present

Value is id-data { 1 2 840 113549 1 7 1 }

6.2.3.2

eContent P2.T2.#2.3 Field is absent

Page 62: ISIS-MTT Test Specification - TeleTrusT · 2009-04-03 · ISIS-MTT Test Specification: Introduction Version 1.1 Document History Page 3 of 19 Document History VERSION DATE CHANGES

ISIS-MTT Test Specification Part 2: PKI Management Version 1.1

Test Case Specifications for ISIS-MTT Part 2 Page 11 of 20

6.2.4 certificates P2.T2.#2.4 Field is present Value contains the set of certificates of the testers certification path, and the valid certificate generated by the tester and issued for the CUT

(see ISIS-MTT Test Specification, Part 1)

6.2.5 crls P2.T2.#2.5 Field is absent 6.2.6 signerInfos P2.T2.#2.6 Field is present, but value is empty SET Test event to be locally observed: Local inspection of CUT behaviour by CUT and/or test operator PASS, if certificate has been accepted

Page 63: ISIS-MTT Test Specification - TeleTrusT · 2009-04-03 · ISIS-MTT Test Specification: Introduction Version 1.1 Document History Page 3 of 19 Document History VERSION DATE CHANGES

ISIS-MTT Test Specification Part 2: PKI Management Version 1.1

Test Case Specifications for ISIS-MTT Part 2 Page 12 of 20

2.1.2 Test Cases With Invalid Test Events Generated by the Tester

Table 3: Test Case TCSCMCEEI-1: Generation and Sending of PKCS#10 Certification Request Message, Followed by the Processing of an Invalid PKCS#7 Certification Response Message With Missing Issued Certificate

TEST CASE NAME TCSCMCEEI-1

TEST PURPOSE Ensure that the CUT is able to generate and send a valid PKCS#10 certification request to the tester, and to and to reject an invalid PKCS#7 certification response message received from the tester that does not contain the requested certificate.

TEST OBJECT (CUT) PKCS#7 certification response as signed-data object with absent eContent field and empty signerInfos field.

PARAMETERS E-Mail address of CUT, subject DName of tester, public key algorithm identifier in subjectPublicKeyInfo, public key algorithm identifier in signatureAlgorithm

INSTRUCTIONS The component to be tested is to be triggered to generate and to send the selected object type. The following general guidelines shall be followed when testing the functionality of simple CMC EE components: • All mandatory fields shall be filled in the PKCS#10 certification request. As an option, X.509 standard

extensions may be included in the optional attributes field within certificationRequestInfo. • If the test result of the received PKCS#10 certification request is PASS, then the tester shall generate and send

an invalid PKCS#7 certification response message to the CUT that does not contain the requested certificate. • The rejection of an invalid certificate shall be logged by the CUT operator and reported to the test operator (the

CUT and test operators could be the same person). • The specification of this test case is based on test case TCSCMCEEV-1 with the modifications as specified

below. TEST

STEP

NO.

FIELD OF DATA OBJECT ISIS-MTT PART.TABLE.ENTRY#

CONDITIONS, CONSTRAINTS

EVALUATION OF THE TEST STEP, INSTRUCTION FOR TEST

OPERATOR

Test event to be controlled (i.e. to be generated and sent) by the tester: Generation and Sending of an invalid PKCS#7 certification response message to CUT

Page 64: ISIS-MTT Test Specification - TeleTrusT · 2009-04-03 · ISIS-MTT Test Specification: Introduction Version 1.1 Document History Page 3 of 19 Document History VERSION DATE CHANGES

ISIS-MTT Test Specification Part 2: PKI Management Version 1.1

Test Case Specifications for ISIS-MTT Part 2 Page 13 of 20

2.2.4 certificates P2.T2.#2.4 Field is present and contains the certification path of the tester

MODIFICATION of test case TCSCMCEEV-1 certificate to be issued for the CUT is not included in the PKCS#7 certification response.

Test event to be locally observed: Local inspection of CUT behaviour by CUT and/or test operator

MODIFICATION of test case TCSCMCEEV-1 PASS, if certificate has been rejected

Page 65: ISIS-MTT Test Specification - TeleTrusT · 2009-04-03 · ISIS-MTT Test Specification: Introduction Version 1.1 Document History Page 3 of 19 Document History VERSION DATE CHANGES

ISIS-MTT Test Specification Part 2: PKI Management Version 1.1

Test Case Specifications for ISIS-MTT Part 2 Page 14 of 20

2.2 CA Components that Perform the Simple Enrollment Protocol

This section specifies test cases for checking the behaviour of components under test that provide the simple CMC protocol for CA entities. The functionality of this kind of components under tests includes the receipt and processing of PKCS#10 certification request messages, and the generation and sending of PKCS#7 certification response messages. These test cases are used to prove the conformance of products with ISIS-MTT that claim to provide this functionality. Test cases of this test group are referenced by the 8-character mnemonics “TCSCMCCA-” (TC for test case, SCMC for simple CMC protocol, and CA for CA entities), followed by the characters “V-” (for valid test events generated by the tester) or “I-” (for invalid test events generated by the tester), and followed by a unique number that allows to add further identified test cases to this category. Test cases of this test group involve the following two test events: The tester has to generate and send a valid (or invalid) PKCS#10 certification request

message to the CUT.

The CUT has to process the valid (or invalid) PKCS#10 certification request message. In the case of a valid certification request, the CUT has to generate the certificate for the tester, and to generate and send a valid PKCS#7 certification response message to the tester. In the case of an invalid certification request there will be no externally observable test event, and the rejection of an invalid certification request can only locally observed at the site of the CUT. Therefore, the outcome of this local test event should be logged by the CUT operator, and reported to the test operator (the CUT and test operators could be the same person).

Page 66: ISIS-MTT Test Specification - TeleTrusT · 2009-04-03 · ISIS-MTT Test Specification: Introduction Version 1.1 Document History Page 3 of 19 Document History VERSION DATE CHANGES

ISIS-MTT Test Specification Part 2: PKI Management Version 1.1

Test Case Specifications for ISIS-MTT Part 2 Page 15 of 20

2.2.1 Test Cases With Only Valid Test Events Generated by the Tester

Table 4: Test Case TCSCMCCAV-1: Receipt and Processing of a Valid PKCS#10 Certification Request Message, and Generation and Sending of PKCS#7 Certification Response Message

TEST CASE NAME TCSCMCCAV-1

TEST PURPOSE Ensure that the CUT is able to process a valid PKCS#10 certification request, generated and sent by the tester to the CUT, by returning a valid PKCS#7 certification response to the tester.

TEST OBJECT (CUT) MIME entity that contains PKCS#7 certification response as signed-data object with absent eContent field and empty signerInfos field.

PARAMETERS E-Mail addresses of CUT and tester, subject distinguished name of tester, public key algorithm identifier in subjectPublicKeyInfo, public key algorithm identifier in signatureAlgorithm

INSTRUCTIONS The component to be tested is to be triggered to generate and to send the selected object type. The following general guidelines shall be followed when testing the functionality of simple CMC CA components: • The tester shall generate and send a valid PKCS#10 certification request message to the CUT. • The CUT shall return a PKCS#7 certification response message to the tester. The related test object shall be of the CMS content type

signed-data whose encapContent and signerInfos fields shall be absent.

TEST

STEP

NO.

FIELD OF DATA OBJECT ISIS-MTT PART.SECTION

ANDPART.TABLE.ENTR

Y#

CONDITIONS, CONSTRAINTS

EVALUATION OF THE TEST STEP, INSTRUCTION FOR TEST OPERATOR

Test event to be controlled (i.e. to be generated and sent) by the tester: Generation and Sending of PKCS#10 certification request message to CUT 1 PKCS#10 Message P3.S2.2 Entity is present. 1.1 Content-Type P3.S2.1.3 Field is present with value application/pkcs10 together with

the parameter name with the extension ".p10".

1.2 Content-Transfer-Encoding

P3.S2.2 Field is present with value base64.

Page 67: ISIS-MTT Test Specification - TeleTrusT · 2009-04-03 · ISIS-MTT Test Specification: Introduction Version 1.1 Document History Page 3 of 19 Document History VERSION DATE CHANGES

ISIS-MTT Test Specification Part 2: PKI Management Version 1.1

Test Case Specifications for ISIS-MTT Part 2 Page 16 of 20

1.3 Content-Disposition P3.S2.2 Field is present with value attachment together with the parameter filename having the same value as the parameter name in Content-Type. The parameter filename is used with the value smime.p10, if the source of the related object is not a file.

OPTION

1.4 MIME entity with PKCS#10 Request

P3.S2.2 Field is present with value that contains the PKCS#10 request

2 certificationRequestInfo

P2.T1 Field is present.

2.1 version P2.T1.#1.1 Field is present with value v1(0). 2.2 subject P2.T1.#1.2 Field is present with a non-empty DName of tester with

attributes as defined in P1.T2.#7.

2.3 subjectPublicKeyInfo P2.T1.#1.3 Field is present with public key algorithm identifier permitted in ISIS-MTT Part 6, section 2.5, and bit string representation of the end entity's public key.

PARAMETER public key algorithm identifier

2.4 attributes P2.T1.#1.4 OPTION 2.4.1 ExtensionReq P2.T1.#1.4.1 Field is present with OID { 1 2 840 113549 1 9 14}, if the

optional attributes field is present OPTION

2.4.2 SEQUENCE OF Extension

P2.T1.#1.4.1 Field is present with permitted extensions as specified in ISIS-MTT P10.T11, if the optional attributes field is present

OPTION

3 signatureAlgorithm P2.T1.#2 Field is present with public key algorithm identifier permitted in ISIS-MTT P6.S2.2.

PARAMETER public key algorithm identifier

4 signature P2.T1.#3 Field is present with valid signature value. CONTINUE with following test event

Test event to be observed by the tester: Receipt of PKCS#7 certification response message from CUT 5 PKCS#7 Message P3.S2.1.3 Entity MUST be present. On failure ERROR 5.1 Content-Type P3.S2.1.3 Field MUST be present. Value MUST be application/pkcs7-

mime together with the parameter smime-type set to the value certs-only and the parameter name with the extension ".p7c".

On failure ERROR

Page 68: ISIS-MTT Test Specification - TeleTrusT · 2009-04-03 · ISIS-MTT Test Specification: Introduction Version 1.1 Document History Page 3 of 19 Document History VERSION DATE CHANGES

ISIS-MTT Test Specification Part 2: PKI Management Version 1.1

Test Case Specifications for ISIS-MTT Part 2 Page 17 of 20

5.2 Content-Transfer-Encoding

P3.S2.2 If present, value MUST be base64. On failure ERROR

5.3 Content-Disposition P3.S2.2 Field MUST be present. Value MUST be attachment together with the parameter filename having the same value as the parameter name in Content-Type.

On failure ERROR

5.4 MIME entity with signed data

P3.S2.2 Field MUST be present. Value MUST contain the related CMS object.

On failure ERROR

6 contentType P2.T2.#1 Field MUST be present Value MUST be signed-data { 1 2 840 113549 1 7 2 }

On failure ERROR

7 content P2.T2.#2 Field MUST be present On failure ERROR 7.1 version P2.T2.#2.1 Field MUST be present, and value MUST be 1 On failure ERROR 7.2 digestAlgorithms P2.T2.#2.2

P6.T1 Field MUST be present and MAY be empty. Only hash algorithms according to P6.T1 are permitted.

PARAMETER Type of hash algorithm On failure ERROR Warn, if algorithm SHOULD NOT be used.

7.3 encapContentInfo P2.T2.#2.3 Field MUST be present On failure ERROR 7.3.1 eContentType P2.T2.#2.3 Field MUST be present

Value MUST be id-data { 1 2 840 113549 1 7 1 } On failure ERROR

7.3.2 eContent P2.T2.#2.3 Field MUST be absent On failure ERROR 7.4 certificates P2.T2.#2.4 Field MUST be present

Value MUST contain the set of certificates of the signers certification path, and the certificate generated by the CUT

On failure ERROR and STOP else CONTINUE with test case TCGPKC-1 (see ISIS-MTT Test Specification, Part 1)

7.5 crls P2.T2.#2.5 Field MUST be absent On failure ERROR 7.6 signerInfos P2.T2.#2.6 Field MUST be present, and value MUST be empty SET On failure ERROR

Page 69: ISIS-MTT Test Specification - TeleTrusT · 2009-04-03 · ISIS-MTT Test Specification: Introduction Version 1.1 Document History Page 3 of 19 Document History VERSION DATE CHANGES

ISIS-MTT Test Specification Part 2: PKI Management Version 1.1

Test Case Specifications for ISIS-MTT Part 2 Page 18 of 20

2.2.2 Test Cases With Invalid Test Events Generated by the Tester

Table 5: Test Case TCSCMCCAI-2: Processing (Rejection) of an Invalid PKCS#10 Certification Request Message With an Invalid Signature Value Field

TEST CASE NAME TCSCMCCAI-1

TEST PURPOSE Ensure that the CUT is able to reject an invalid PKCS#10 certification request with invalid signature field, generated and sent by the tester to the CUT.

TEST OBJECT (CUT) The expected, externally visible behaviour of the CUT after the processing of an invalid PKCS#10 certification request message received from the tester SHALL be no reaction.

PARAMETERS E-Mail addresses of CUT and tester, subject distinguished name of tester, public key algorithm identifier in subjectPublicKeyInfo, and public key algorithm identifier in signatureAlgorithm.

INSTRUCTIONS The following general guidelines shall be followed when testing the functionality of simple CMC CA entities: • The tester shall generate an invalid PKCS#10 certification request with an invalid signature field. • The rejection of an invalid PKCS#10 certification request message shall be logged by the CUT operator and

reported to the test operator (the CUT and test operators could be the same person). • The specification of this test case is based on test case TCSCMCCAV-1 with the modifications as specified

below. TEST

STEP

NO.

FIELD OF DATA OBJECT ISIS-MTT PART.TABLE.ENTRY#

CONDITIONS, CONSTRAINTS

EVALUATION OF THE TEST STEP, INSTRUCTION FOR TEST

OPERATOR

2.4 attributes P2.T1.#1.4 Field is empty. MODIFICATION of test case TCSCMCCAV-1 X.509 standard extensions are not included in the optional attributes field within certificationRequestInfo.

4 signature P2.T1.#3 Field is present with invalid signature value.

MODIFICATION of test case TCSCMCCAV-1 signature field within CertificationRequest with invalid values

Page 70: ISIS-MTT Test Specification - TeleTrusT · 2009-04-03 · ISIS-MTT Test Specification: Introduction Version 1.1 Document History Page 3 of 19 Document History VERSION DATE CHANGES

ISIS-MTT Test Specification Part 2: PKI Management Version 1.1

Test Case Specifications for ISIS-MTT Part 2 Page 19 of 20

Test event to be observed by the tester: MODIFICATION of test case TCSCMCCAV-1 No reaction expected from CUT, instead receipt of PKCS#7 certification response message from CUT

Test event to be locally observed: Local inspection of CUT behaviour by CUT and/or test operator

MODIFICATION of test case TCSCMCCAV-1 PASS, if certificate has been rejected

Page 71: ISIS-MTT Test Specification - TeleTrusT · 2009-04-03 · ISIS-MTT Test Specification: Introduction Version 1.1 Document History Page 3 of 19 Document History VERSION DATE CHANGES

ISIS-MTT Test Specification Part 2: PKI Management Version 1.1

References Page 20 of 20

Annexes

Annex A: Abbreviations

CA certification authority CCS component conformance statement CMC certificate management messages over CMS CMS cryptographic message syntax CRL certificate revocation list CUT component under test EE end entity F forbidden capability, test result: FAIL ISIS industrial signature interoperability specification MIME multipurpose internet mail extension MTT MailTrusT P test result: PASS PKI public key infrastructure S/MIME Secure MIME References

[ISIS-MTT SPEC] T7 i.Gr., TeleTrust: ISIS-MTT Specification, Version 1.1, February 2004 [RFC 2314] B. Kaliski: PKCS#10: Certification Request Syntax; October 1997 [RFC 2315] B. Kaliski: PKCS#7: Cryptographic Message Syntax; October 1997 [RFC 2630] R. Housley: Cryptographic Message Syntax; June 1999 [RFC 2633] B. Ramsdell: S/MIME Version 3 Message Specification; June 1999 [RFC 2797] M. Myers, X. Liu, J. Weinstein: Certificate Management Messages over

CMS, <draft-ietf-pkix-rfc2797-bis-01.txt>; July 2001

Page 72: ISIS-MTT Test Specification - TeleTrusT · 2009-04-03 · ISIS-MTT Test Specification: Introduction Version 1.1 Document History Page 3 of 19 Document History VERSION DATE CHANGES

COMMON ISIS-MTT SPECIFICATIONS FOR INTEROPERABLE PKI APPLICATIONS

FROM T7 & TELETRUST

TEST SPECIFICATION

PART 3

MESSAGE FORMATS

VERSION 1.1 – 22 SEPTEMBER 2004

Page 73: ISIS-MTT Test Specification - TeleTrusT · 2009-04-03 · ISIS-MTT Test Specification: Introduction Version 1.1 Document History Page 3 of 19 Document History VERSION DATE CHANGES

ISIS-MTT Part 3: Message Formats Version 1.1

Contact Information Page 2 of 120

Contact Information

ISIS-MTT Working Group of the TeleTrusT Deutschland e.V.: www.teletrust.de The up-to-date version of ISIS-MTT can be downloaded from the above web site, from www.isis-mtt.org or from www.isis-mtt.de Please send comments and questions to [email protected]

Editors:

Jürgen Brauckmann

Alfred Giessler

Tamás Horváth

Hans-Joachim Knobloch

© T7 e.V. i.G. and TeleTrusT e.V., 2002-2004

Page 74: ISIS-MTT Test Specification - TeleTrusT · 2009-04-03 · ISIS-MTT Test Specification: Introduction Version 1.1 Document History Page 3 of 19 Document History VERSION DATE CHANGES

ISIS-MTT Part 3: Message Formats Version 1.1

Document History Page 3 of 120

Document History

VERSION DATE

CHANGES

1.0.1 February 1th 2002

First published version

1.0.2 July 19th 2002

Feedback from test bed designers has been taken into account Editorial and stylistic changes, removal of bugs

1.0.2 August 11th 2003

Incorporated changes from Corrigenda version 1.2

1.1 September 22nd 2004

Several editorial changes. Adapted to changes in the ISIS-MTT Specification Part 3 and 6 (see document history there). New Test Groups G-CMSFILE and P-CMSFILE.

Page 75: ISIS-MTT Test Specification - TeleTrusT · 2009-04-03 · ISIS-MTT Test Specification: Introduction Version 1.1 Document History Page 3 of 19 Document History VERSION DATE CHANGES

ISIS-MTT Part 3: Message Formats Version 1.1

Table of Contents Page 4 of 120

Table of Contents

1 Preface .......................................................................................................... 5

2 Test Case Specifications for ISIS-MTT Part 3....................................... 11

2.1 Components that Generate S/MIME Messages.............................................. 12

2.2 Components that Process S/MIME Messages ................................................ 27

2.3 Components that Generate CMS-protected Files ........................................ 102

2.4 Components that Process CMS-protected Files ........................................... 111

Annexes............................................................................................................. 120

Annex A: Abbreviations ........................................................................ 120

References ........................................................................................................ 120

Page 76: ISIS-MTT Test Specification - TeleTrusT · 2009-04-03 · ISIS-MTT Test Specification: Introduction Version 1.1 Document History Page 3 of 19 Document History VERSION DATE CHANGES

ISIS-MTT Part 3: Message Formats Version 1.1

Preface Page 5 of 120

1 Preface

This part of the ISIS-MTT Test Specification covers the description of test cases for proving message formats based on S/MIME with included CMS objects used for digital signatures and encryption. These test cases can be used to check the conformance of products with Part 3 of ISIS-MTT regarding the generation and processing of S/MIME messages including CMS data objects for

• encrypted emails with and without attachments,

• signed emails with and without attachments,

• encrypted and signed emails with and without attachments,

• encrypted files,

• signed files with and without attachments, and

• encrypted and signed files with and without attachments. An overview of the test cases corresponding to ISIS-MTT Part 3 is provided in Table 1.

Table 1: Test Cases corresponding to ISIS-MTT Part 3

TEST GROUP / SUBGROUP NAME

TEST CASE NAME

TABLE TEST GROUP OBJECTIVE / TEST PURPOSE

G-SM/ Generation of S/MIME messages G-SM/ED/ Generation of S/MIME messages for enveloped data G-SM/ED/ TCGSMED-1 Table 2 Ensure that the CUT is able to generate an S/MIME message

for enveloped data G-SM/ED/CMS/ TCGED-1

Table 6 Ensure that the CUT is able to generate a CMS enveloped-data object

G-SM/SD/ Generation of S/MIME messages for signed data G-SM/SD/ TCGSMSD-1 Table 3 Ensure that the CUT is able to generate an S/MIME message

for signed data G-SM/SD/CMS/ TCGSD-1 Table 7 Ensure that the CUT is able to generate a CMS signed-data

object with present eContent field G-SM/CO/ TCGSMCO-1 Table 4 Ensure that the CUT is able to generate an S/MIME message

for transporting certificates in certification responses (certs-only)

G-SM/CO/CMS/ TCGSD-2 Table 8

Ensure that the CUT is able to generate a CMS signed-data object with absent eContent field and empty signerInfos field

G-SM/MS/ TCGSMMS-1 Table 5 Ensure that the CUT is able to generate a Multipart/Signed S/MIME message with separated data to be signed and control information in two MIME entities

G-SM/MS/CMS/ TCGSD-3 Table 9 Ensure that the CUT is able to generate a CMS signed-data object with absent eContent field

P-SM/ Processing of S/MIME messages P-SM/ED/ Processing of S/MIME messages with enveloped data

Page 77: ISIS-MTT Test Specification - TeleTrusT · 2009-04-03 · ISIS-MTT Test Specification: Introduction Version 1.1 Document History Page 3 of 19 Document History VERSION DATE CHANGES

ISIS-MTT Part 3: Message Formats Version 1.1

Preface Page 6 of 120

TEST GROUP / SUBGROUP NAME

TEST CASE NAME

TABLE TEST GROUP OBJECTIVE / TEST PURPOSE

P-SM/ED/ TCPSMED-1 Table 10 Ensure that the CUT is able to process a valid S/MIME message for enveloped data generated by the tester

P-SM/ED/CMS/ TCPED-1 Table 11 Ensure that the CUT is able to process a valid CMS enveloped-data object generated by the tester

P-SM/ED/INV/ TCPSMED-1.1 Table 12 Ensure that the CUT is able to process an S/MIME message with enveloped data that contains a particular invalid field generated by the tester

P-SM/ED/INV/CMS/ TCPED-1.1 Table 13 Ensure that the CUT is able to process an invalid CMS object generated by the tester that contains an unknown content type

P-SM/ED/INV/CMS/ TCPED-1.2 Table 14 Ensure that the CUT is able to process an invalid enveloped-data CMS object generated by the tester that contains an unknown version

P-SM/ED/INV/CMS/ TCPED-1.3 Table 15 Ensure that the CUT is able to process an invalid enveloped-data CMS object generated by the tester that does not contain recipient information

P-SM/ED/INV/CMS/ TCPED-1.4 Table 16 Ensure that the CUT is able to process an invalid enveloped-data CMS object generated by the tester unknown RecipientInfo choice tag

P-SM/ED/INV/CMS/ TCPED-1.5 Table 17 Ensure that the CUT is able to process an invalid enveloped-data CMS object generated by the tester with invalid content encryption key version

P-SM/ED/INV/CMS/ TCPED-1.6 Table 18 Ensure that the CUT is able to process an invalid enveloped-data CMS object generated by the tester with invalid RecipientIdentifier choice tag

P-SM/ED/INV/CMS/ TCPED-1.7 Table 19 Ensure that the CUT is able to process an invalid enveloped-data CMS object generated by the tester with invalid identification of the recipients key encryption certificate

P-SM/ED/INV/CMS/ TCPED-1.8 Table 20

Ensure that the CUT is able to process an invalid enveloped-data CMS object generated by the tester with invalid key encryption algorithm

P-SM/ED/INV/CMS/ TCPED-1.9 Table 21

Ensure that the CUT is able to process an invalid enveloped-data CMS object generated by the tester with invalid content encryption key

P-SM/ED/INV/CMS/ TCPED-1.10 Table 22

Ensure that the CUT is able to process an invalid enveloped-data CMS object generated by the tester with unknown content type in content.encryptedContentInfo

P-SM/ED/INV/CMS/ TCPED-1.11 Table 23 Ensure that the CUT is able to process an invalid enveloped-data CMS object generated by the tester with unknown contentencryption algorithm

P-SM/ED/INV/CMS/ TCPED-1.12 Table 24 Ensure that the CUT is able to process an invalid enveloped-data CMS object generated by the tester with unknown content encryption algorithm

P-SM/SD/ Processing of S/MIME messages with signed data P-SM/SD/ TCPSMSD-1 Table 25 Ensure that the CUT is able to process a valid S/MIME

message for signed data generated by the tester P-SM/SD/CMS/ TCPSD-1 Table 26 Ensure that the CUT is able to process a valid CMS signed-

data object with present eContent field generated by the tester P-SM/SD/INV/ TCPSMSD-1.1 Table 27 Ensure that the CUT is able to process an S/MIME message

with signed data that contains a particular invalid field generated by the tester

Page 78: ISIS-MTT Test Specification - TeleTrusT · 2009-04-03 · ISIS-MTT Test Specification: Introduction Version 1.1 Document History Page 3 of 19 Document History VERSION DATE CHANGES

ISIS-MTT Part 3: Message Formats Version 1.1

Preface Page 7 of 120

TEST GROUP / SUBGROUP NAME

TEST CASE NAME

TABLE TEST GROUP OBJECTIVE / TEST PURPOSE

P-SM/SD/INV/CMS/ TCPSD-1.1 Table 28 Ensure that the CUT is able to process an invalid CMS object generated by the tester that contains an unknown content type

P-SM/SD/INV/CMS/ TCPSD-1.2 Table 29 Ensure that the CUT is able to process an invalid signed-data CMS object generated by the tester that contains an unknown version

P-SM/SD/INV/CMS/ TCPSD-1.3 Table 30 Ensure that the CUT is able to process an invalid signed-data CMS object generated by the tester that contains an unknown digest algorithm identifier

P-SM/SD/INV/CMS/ TCPSD-1.4 Table 31 Ensure that the CUT is able to process an invalid signed-data CMS object generated by the tester that contains an unknown encapsulated content type

P-SM/SD/INV/CMS/ TCPSD-1.5 Table 32 Ensure that the CUT is able to process an invalid signed-data CMS object generated by the tester that contains a modified encapsulated content

P-SM/SD/INV/CMS/ TCPSD-1.6 Table 33 Ensure that the CUT is able to process an invalid signed-data CMS object generated by the tester that does not contain the set of certificates of the testers certification path

P-SM/SD/INV/CMS/ TCPSD-1.7 Table 34 Ensure that the CUT is able to process an invalid signed-data CMS object generated by the tester that does not contain signer info

P-SM/SD/INV/CMS/ TCPSD-1.8 Table 35 Ensure that the CUT is able to process an invalid signed-data CMS object generated by the tester that contain an invalid signer info version

P-SM/SD/INV/CMS/ TCPSD-1.9 Table 36 Ensure that the CUT is able to process an invalid signed-data CMS object generated by the tester with invalid SignerIdentifier choice tag

P-SM/SD/INV/CMS/ TCPSD-1.10 Table 37 Ensure that the CUT is able to process an invalid signed-data CMS object generated by the tester with invalid identification of the testers signature certificate

P-SM/SD/INV/CMS/ TCPSD-1.11 Table 38 Ensure that the CUT is able to process an invalid signed-data CMS object generated by the tester with unknown digest algorithm identifier

P-SM/SD/INV/CMS/ TCPSD-1.12 Table 39 Ensure that the CUT is able to process an invalid signed-data CMS object generated by the tester which contains an empty signed attributes set

P-SM/SD/INV/CMS/ TCPSD-1.13 Table 40 Ensure that the CUT is able to process an invalid signed-data CMS object generated by the tester which contains an unknown signed attribute type

P-SM/SD/INV/CMS/ TCPSD-1.14 Table 41

Ensure that the CUT is able to process an invalid signed-data CMS object generated by the tester which contains an invalid value of the signed attribute content-type

P-SM/SD/INV/CMS/ TCPSD-1.15 Table 42 Ensure that the CUT is able to process an invalid signed-data CMS object generated by the tester which contains an unknown signature algorithm identifier

P-SM/SD/INV/CMS/ TCPSD-1.16 Table 43 Ensure that the CUT is able to process an invalid signed-data CMS object generated by the tester which contains an invalid signature

P-SM/CO/ TCPSMCO-1 Table 44 Ensure that the CUT is able to process a valid S/MIME message for transporting certificates in certification responses generated by the tester (certs-only)

Page 79: ISIS-MTT Test Specification - TeleTrusT · 2009-04-03 · ISIS-MTT Test Specification: Introduction Version 1.1 Document History Page 3 of 19 Document History VERSION DATE CHANGES

ISIS-MTT Part 3: Message Formats Version 1.1

Preface Page 8 of 120

TEST GROUP / SUBGROUP NAME

TEST CASE NAME

TABLE TEST GROUP OBJECTIVE / TEST PURPOSE

P-SM/CO/CMS/ TCPSD-2 Table 45 Ensure that the CUT is able to process a valid CMS signed-data object with absent eContent field and empty signerInfos field

P-SM/CO/INV/ TCPSMCO-1.1

Table 46 Ensure that the CUT is able to process an S/MIME message with signed data for transporting certificates in certification responses that contains a particular invalid field generated by the tester

P-SM/CO/INV/CMS/ TCPSD-2.1 Table 47 Ensure that the CUT is able to process an invalid CMS object generated by the tester that contains an unknown content type

P-SM/CO/INV/CMS/ TCPSD-2.2 Table 48 Ensure that the CUT is able to process an invalid CMS object generated by the tester that does not contain version v1(0)

P-SM/CO/INV/CMS/ TCPSD-2.3 Table 49 Ensure that the CUT is able to process an invalid CMS object generated by the tester that contains an unknown digest algorithm identifier

P-SM/CO/INV/CMS/ TCPSD-2.4 Table 50 Ensure that the CUT is able to process an invalid CMS object generated by the tester that does not contain the id-data content type

P-SM/CO/INV/CMS/ TCPSD-2.5 Table 51 Ensure that the CUT is able to process an invalid CMS object generated by the tester that contains an encapsulated content field

P-SM/CO/INV/CMS/ TCPSD-2.6 Table 52 Ensure that the CUT is able to process an invalid CMS object generated by the tester that does not contain the requested certificate

P-SM/CO/INV/CMS/ TCPSD-2.7 Table 53 Ensure that the CUT is able to process an invalid CMS object generated by the tester that contains SignerInfo

P-SM/MS/ TCPSMMS-1 Table 54 Ensure that the CUT is able to process a Multipart/Signed S/MIME message with separated data to be signed and control information in two MIME entities generated by the tester

P-SM/MS/CMS/ TCPSD-3 Table 55 Ensure that the CUT is able to process a valid CMS signed-data object with absent eContent field generated by the tester

P-SM/MS/INV/ TCPSMMS-1.1

Table 56 Ensure that the CUT is able to process a Multipart/Signed S/MIME message with separated data to be signed and control information in two MIME entities that contains a particular invalid field generated by the tester

P-SM/MS/INV/CMS/ TCPSD-3.1 Table 57 Ensure that the CUT is able to process an invalid CMS object generated by the tester that contains an unknown content type

P-SM/MS/INV/CMS/ TCPSD-3.2 Table 58 Ensure that the CUT is able to process an invalid CMS object generated by the tester that contains an unknown version

P-SM/MS/INV/CMS/ TCPSD-3.3 Table 59 Ensure that the CUT is able to process an invalid CMS object generated by the tester that contains an unknown digest algorithm identifier

P-SM/MS/INV/CMS/ TCPSD-3.4 Table 60

Ensure that the CUT is able to process an invalid CMS object generated by the tester that contains an invalid content type of the encapsulated data

P-SM/MS/INV/CMS/ TCPSD-3.5 Table 61 Ensure that the CUT is able to process an invalid CMS object generated by the tester that contains an encapsulated content field

P-SM/MS/INV/CMS/ TCPSD-3.6 Table 62 Ensure that the CUT is able to process an invalid signed-data CMS object generated by the tester that contain an invalid signer info version

Page 80: ISIS-MTT Test Specification - TeleTrusT · 2009-04-03 · ISIS-MTT Test Specification: Introduction Version 1.1 Document History Page 3 of 19 Document History VERSION DATE CHANGES

ISIS-MTT Part 3: Message Formats Version 1.1

Preface Page 9 of 120

TEST GROUP / SUBGROUP NAME

TEST CASE NAME

TABLE TEST GROUP OBJECTIVE / TEST PURPOSE

P-SM/MS/INV/CMS/ TCPSD-3.7 Table 63 Ensure that the CUT is able to process an invalid signed-data CMS object generated by the tester with invalid SignerIdentifier choice tag

P-SM/MS/INV/CMS/ TCPSD-3.8 Table 64 Ensure that the CUT is able to process an invalid signed-data CMS object generated by the tester with invalid identification of the testers signature certificate

P-SM/MS/INV/CMS/ TCPSD-3.9 Table 65 Ensure that the CUT is able to process an invalid signed-data CMS object generated by the tester with unknown digest algorithm identifier

P-SM/MS/INV/CMS/ TCPSD-3.10 Table 66 Ensure that the CUT is able to process an invalid signed-data CMS object generated by the tester with an digest algorithm identifier in SignerInfo that is not contained in content.digestAlgorithms

P-SM/MS/INV/CMS/ TCPSD-3.11 Table 67 Ensure that the CUT is able to process an invalid signed-data CMS object generated by the tester which contains an empty signed attributes set

P-SM/MS/INV/CMS/ TCPSD-3.12 Table 68 Ensure that the CUT is able to process an invalid signed-data CMS object generated by the tester which contains an invalid format identifier

P-SM/MS/INV/CMS/ TCPSD-3.13 Table 69 Ensure that the CUT is able to process an invalid signed-data CMS object generated by the tester which does not contain the signed attribute content-type

P-SM/MS/INV/CMS/ TCPSD-3.14 Table 70 Ensure that the CUT is able to process an invalid signed-data CMS object generated by the tester which does not contain the signed attribute content-type

P-SM/MS/INV/CMS/ TCPSD-3.15 Table 71 Ensure that the CUT is able to process an invalid signed-data CMS object generated by the tester which contains an invalid value in the signed attribute message-digest

P-SM/MS/INV/CMS/ TCPSD-3.16 Table 72 Ensure that the CUT is able to process an invalid signed-data CMS object generated by the tester which does not contain the signed attribute signing-time

P-SM/MS/INV/CMS/ TCPSD-3.17 Table 73 Ensure that the CUT is able to process an invalid signed-data CMS object generated by the tester which contains an invalid value in the signed attribute signing-time

P-SM/MS/INV/CMS/ TCPSD-3.18 Table 74

Ensure that the CUT is able to process an invalid signed-data CMS object generated by the tester which contains an unknown signature algorithm identifier

P-SM/MS/INV/CMS/ TCPSD-3.19 Table 75 Ensure that the CUT is able to process an invalid signed-data CMS object generated by the tester which contains an invalid signature value

G-CMSFILE TCGFED-1 Table 76 Ensure that the CUT is able to generate a CMS enveloped-data file

G-CMSFILE TCGFSD-1 Table 77 Ensure that the CUT is able to generate a CMS signed-data file with present eContent field

G-CMSFILE TCGFSD-2 Table 78 Ensure that the CUT is able to generate a CMS signed-data file with absent eContent field

P-CMSFILE TCPFED-1 Table 79 Ensure that the CUT is able to process a valid CMS enveloped-data file generated by the tester

P-CMSFILE TCPFSD-1 Table 80 Ensure that the CUT is able to process a valid CMS signed-data file with present eContent field generated by the

Page 81: ISIS-MTT Test Specification - TeleTrusT · 2009-04-03 · ISIS-MTT Test Specification: Introduction Version 1.1 Document History Page 3 of 19 Document History VERSION DATE CHANGES

ISIS-MTT Part 3: Message Formats Version 1.1

Preface Page 10 of 120

P-CMSFILE TCPFSD-2 Table 81 Ensure that the CUT is able to process a valid CMS signed-data file with absent eContent field generated by the

Page 82: ISIS-MTT Test Specification - TeleTrusT · 2009-04-03 · ISIS-MTT Test Specification: Introduction Version 1.1 Document History Page 3 of 19 Document History VERSION DATE CHANGES

ISIS-MTT Part 3: Message Formats Version 1.1

Test Case Specifications for ISIS-MTT Part 3 Page 11 of 120

2 Test Case Specifications for ISIS-MTT Part 3

This chapter provides the description of test cases for proving message formats based on S/MIME with included CMS objects used for digital signatures and encryption. These test cases can be used to check the conformance of products with Part 3 of ISIS-MTT regarding the generation and processing of encrypted emails with and without attachments,

signed emails with and without attachments,

encrypted and signed emails with and without attachments,

encrypted files,

signed files with and without attachments, and

encrypted and signed files with and without attachments. The keywords PREPARATION, NOTICE, ERROR STOP, CONTINUE, PARAMETER, and MODIFICATION are used in the following test case tables to provide instructions for test step evaluation and test operators. These keywords have the following meaning: PREPARATION The value of a field which must be known by the test operator or test

client, prior to execution of a test case.

NOTICE The absence of recommended or optional fields not leading to a fail test result has been observed, which shall be logged and documented in the test report.

ERROR A failure leading to a fail test result has been observed, which shall be logged and documented in the test report.

STOP The test case shall be terminated.

CONTINUE The test case shall be continued with the next test step or test case.

PARAMETER The value of a field which can be used as a test case parameter. The test case parameter indicates that the test case can be run with different values of this parameter.

MODIFICATION The value of a particular field of a referenced test case that has been modified in order to generate an invalid test event. All other fields of the referenced test case remain unchanged.

Page 83: ISIS-MTT Test Specification - TeleTrusT · 2009-04-03 · ISIS-MTT Test Specification: Introduction Version 1.1 Document History Page 3 of 19 Document History VERSION DATE CHANGES

ISIS-MTT Part 3: Message Formats Version 1.1

Test Case Specifications for ISIS-MTT Part 3 Page 12 of 120

2.1 Components that Generate S/MIME Messages

This section specifies test cases for checking the behaviour of components under test that generate S/MIME messages. These test cases are used to prove the conformance of products with ISIS-MTT that claim to provide this functionality. Test cases of this test group are referenced by the 5-character mnemonics “TCGSM” (TC for test case, G for generation, and SM for S/MIME message), followed by the 3-character mnemonics (“ED-”, “SD-”, “CO-”, or “SD-”) that indicate the type of the S/MIME message (enveloped-data, signed-data, certs-only, or multipart-signed), followed by a unique number that allows to add further identified test cases to this category. For the purpose of modularisation, the test cases for checking the structure and contents of CMS objects embedded in S/MIME are specified in separate tables. These test cases are referenced by the 3-character mnemonics “TCG” (TC for test case, G for generation of CMS object), followed by the 2-character mnemonics (“ED-”, or “SD-”, that indicate the type of the CMS object (enveloped-data, or signed-data), followed by a unique number that allows to add further identified test cases to this category.

Page 84: ISIS-MTT Test Specification - TeleTrusT · 2009-04-03 · ISIS-MTT Test Specification: Introduction Version 1.1 Document History Page 3 of 19 Document History VERSION DATE CHANGES

ISIS-MTT Test Specification Part 3: Message Formats Version 1.1

Test Case Specifications for ISIS-MTT Part 3 Page 13 of 120

Table 2: Test Case TCGSMED-1: Generation of an S/MIME Message for Enveloped Data

TEST CASE NAME TCGSMED-1

TEST PURPOSE Ensure that the CUT is able to generate an S/MIME message for enveloped data

TEST OBJECT (CUT) S/MIME message for enveloped data

PARAMETERS E-Mail address of tester to which the CUT shall send the S/MIME message

INSTRUCTIONS The CUT is to be triggered to generate and to send the S/MIME message to the tester. The following general guidelines shall be followed when performing the test: • All mandatory fields shall be contained in the S/MIME message.

TEST

STEP FIELD OF DATA OBJECT ISIS-MTT

PART.SECTION CONDITIONS, CONSTRAINTS

EVALUATION OF THE TEST STEP, INSTRUCTION

FOR TEST OPERATOR

Test event to be observed by the tester: S/MIME message for enveloped data received from the CUT 1 Content-Type P3.S2.1.1 Field MUST be present / Value MUST be application/pkcs7-

mime or application/x-pkcs7-mime together with the parameters smime-type set to the value enveloped-data, and name with the extension ".p7m".

On failure ERROR and STOP

2 Content-Transfer-Encoding

P3.S2.2 If present, value MUST be from the allowed set of transfer encoding variants as specified in P3.S2.2

PARAMETER Type of transfer encoding variant On failure ERROR and STOP

3 Content-Disposition P3.S2.2 Field MUST be present / Value MUST be attachment together with the parameter filename having the same value as the parameter name in Content-Type. The parameter filename SHALL have the value smime.p7m, if the source of the related CMS object is not a file.

PARAMETER source of the related CMS object which can be either a file or S/MIME itself On failure ERROR and STOP

4 MIME entity with enveloped-data

P3.S2.1.1 Field MUST be present / Value MUST contain the related CMS object with the content type enveloped-data { 1 2 840 113549 1 7 3 }

On failure ERROR and STOP else continue with test case TCGED-1 for proving the contents of the enveloped-data CMS object.

Page 85: ISIS-MTT Test Specification - TeleTrusT · 2009-04-03 · ISIS-MTT Test Specification: Introduction Version 1.1 Document History Page 3 of 19 Document History VERSION DATE CHANGES

ISIS-MTT Test Specification Part 3: Message Formats Version 1.1

Test Case Specifications for ISIS-MTT Part 3 Page 14 of 120

Table 3: Test Case TCGSMSD-1: Generation of an S/MIME Message for Signed Data

TEST CASE NAME TCGSMSD-1

TEST PURPOSE Ensure that the CUT is able to generate an S/MIME message for signed data

TEST OBJECT (CUT) S/MIME message for signed data

PARAMETERS E-Mail address of tester to which the CUT shall send the S/MIME message

INSTRUCTIONS The component to be tested is to be triggered to generate and to send the S/MIME message. The following general guidelines shall be followed when performing the test: • All mandatory fields shall be contained in the S/MIME message.

TEST

STEP FIELD OF DATA OBJECT ISIS-MTT

PART.SECTION CONDITIONS, CONSTRAINTS

EVALUATION OF THE TEST STEP, INSTRUCTION

FOR TEST OPERATOR

Test event to be observed by the tester: S/MIME message for signed data received from the CUT 1 Content-Type P3.S2.1.2 Field MUST be present / Value MUST be application/pkcs7-

mime or application/x-pkcs7-mime together with the parameters smime-type set to the value signed-data, and name with the extension ".p7m".

On failure ERROR and STOP

2 Content-Transfer-Encoding

P3.S2.2 If present, value MUST be from the allowed set of transfer encoding variants as specified in P3.S2.2

On failure ERROR and STOP

3 Content-Disposition P3.S2.2 Field MUST be present / Value MUST be attachment together with the parameter filename having the same value as the parameter name in Content-Type. The parameter filename SHALL have the value smime.p7m, if the source of the related CMS object is not a file.

PARAMETER source of the related CMS object which can be either a file or S/MIME itself On failure ERROR and STOP

4 MIME entity with signed-data

P3.S2.1.2 Field MUST be present / Value MUST contain the related CMS object with the content type signed-data { 1 2 840 113549 1 7 2 }

On failure ERROR and STOP else CONTINUE with test case TCGSD-1 for proving the contents of the signed-data CMS object with present eContent field.

Page 86: ISIS-MTT Test Specification - TeleTrusT · 2009-04-03 · ISIS-MTT Test Specification: Introduction Version 1.1 Document History Page 3 of 19 Document History VERSION DATE CHANGES

ISIS-MTT Test Specification Part 3: Message Formats Version 1.1

Test Case Specifications for ISIS-MTT Part 3 Page 15 of 120

Table 4: Test Case TCGSMCO-1: Generation of an S/MIME Message for transporting certificates in certification responses

TEST CASE NAME TCGSMCO-1

TEST PURPOSE Ensure that the CUT is able to generate an S/MIME message for transporting certificates in certification responses

TEST OBJECT (CUT) S/MIME message for transporting certificates in certification responses

PARAMETERS E-Mail address of tester to which the CUT shall send the S/MIME message

INSTRUCTIONS The CUT is to be triggered to generate and to send the S/MIME message. The following general guidelines shall be followed when performing the test: • All mandatory fields shall be contained in the S/MIME message.

TEST

STEP FIELDS OF DATA OBJECT ISIS-MTT

PART.SECTION CONDITIONS / CONSTRAINTS TEST STEP EVALUATION / INSTRUCTIONS FOR

TEST OPERATOR

Test event to be observed by the tester: S/MIME message transporting certificates in certification responses received from the CUT 1 Content-Type P3.S2.1.3 Field must be present / Value must be application/pkcs7-mime or

application/x-pkcs7-mime together with the parameter smime-type set to the value certs-only, and the parameter name with the extension ".p7c".

On failure ERROR and STOP

2 Content-Transfer-Encoding

P3.S2.2 If present, value MUST be from the allowed set of transfer encoding variants as specified in P3.S2.2

On failure ERROR and STOP

3 Content-Disposition P3.S2.2 Field must be present / Value must be attachment together with the parameter filename having the same value as the parameter name in Content-Type.

On failure ERROR and STOP

4 MIME entity with signed-data

P3.S2.1.3 Field must be present / Value must contain the related CMS object with the content type signed-data { 1 2 840 113549 1 7 2 }

On failure ERROR and STOP else CONTINUE with test case TCGSD-2

Evaluation of local interface Is it possible for the user to cause the signing of specific data or the attachment of a specific file that contains the signed data? Is the access to the private signature key is protected, i.e. is it only possible by the owner of the private key?

Page 87: ISIS-MTT Test Specification - TeleTrusT · 2009-04-03 · ISIS-MTT Test Specification: Introduction Version 1.1 Document History Page 3 of 19 Document History VERSION DATE CHANGES

ISIS-MTT Test Specification Part 3: Message Formats Version 1.1

Test Case Specifications for ISIS-MTT Part 3 Page 16 of 120

Table 5: Test Case TCGSMMS-1: Generation of a Multipart/Signed S/MIME Message

TEST CASE NAME TCGSMMS-1

TEST PURPOSE Ensure that the CUT is able to generate a Multipart/Signed S/MIME message with separated data to be signed and control information in two MIME entities

TEST OBJECT (CUT) Multipart/Signed S/MIME message

PARAMETERS E-Mail address of tester to which the CUT shall send the S/MIME message

INSTRUCTIONS The component to be tested is to be triggered to generate and to send the S/MIME message. The following general guidelines shall be followed when performing the test: • All mandatory fields shall be contained in the S/MIME message.

TEST

STEP FIELD OF DATA OBJECT ISIS-MTT

PART.SECTION CONDITIONS, CONSTRAINTS

EVALUATION OF THE TEST STEP, INSTRUCTION

FOR TEST OPERATOR

Test event to be observed by the tester: multipart/signed S/MIME message received from the CUT 1 Content-Type P3.S2.1.4 Field MUST be present / Value MUST be multipart/signed

together with the parameters protocol set to the value "application/pkcs7-signature" or “application/x-pkcs7-signature”, micalg set according to the digest algorithm(s) used in the signed-data CMS object, and boundary set to an arbitrary value

On failure ERROR and STOP

2 Boundary (Start of MIME entity to be signed)

P3.S2.1.4 Field MUST be present / Value MUST equal the value of the parameter --boundary

On failure ERROR and STOP

3 Content-Type P3.S2.1.4 Field MUST be present / Value MUST be text/plain On failure ERROR and STOP 4 Data to be signed P3.S2.1.4 Field MUST be present / Value MUST contain arbitrary

clear-signing data On failure ERROR and STOP

5 Boundary (Start of signature control information)

P3.S2.1.4 Field MUST be present / Value MUST equal the value of the parameter --boundary

On failure ERROR and STOP

6 Content-Type P3.S2.1.4 Field MUST be present / Value MUST be application/pkcs7-signature or application/x-pkcs7-signature together with the parameter name set to the value smime.p7s

On failure ERROR and STOP

7 Content-Transfer-Encoding

P3.S2.2 If present, value MUST be from the allowed set of transfer encoding variants as specified in P3.S2.2

On failure ERROR and STOP

Page 88: ISIS-MTT Test Specification - TeleTrusT · 2009-04-03 · ISIS-MTT Test Specification: Introduction Version 1.1 Document History Page 3 of 19 Document History VERSION DATE CHANGES

ISIS-MTT Test Specification Part 3: Message Formats Version 1.1

Test Case Specifications for ISIS-MTT Part 3 Page 17 of 120

8 Content-Disposition P3.S2.2 Field MUST be present / Value MUST be attachment together with the parameter filename set to the value smime.p7s

On failure ERROR and STOP

9 MIME entity with signed-data

P3.S2.1.4 Field MUST be present / Value MUST contain the related CMS object with the content type signed-data { 1 2 840 113549 1 7 2 }

On failure ERROR and STOP else CONTINUE with test case TCGSD-3 for proving the contents of the signed-data CMS object, whose encapContenInfo.eContent field MUST be absent.

10 Boundary (end of multipart/signed message)

P3.S2.1.4 Field MUST be present / Value MUST equal the value of the parameter boundary--

On failure ERROR and STOP

Page 89: ISIS-MTT Test Specification - TeleTrusT · 2009-04-03 · ISIS-MTT Test Specification: Introduction Version 1.1 Document History Page 3 of 19 Document History VERSION DATE CHANGES

ISIS-MTT Test Specification Part 3: Message Formats Version 1.1

Test Case Specifications for ISIS-MTT Part 3 Page 18 of 120

Table 6: Test Case TCGED-1: Generation of a CMS Enveloped-Data Object

TEST CASE NAME TCGED-1

TEST PURPOSE Ensure that the CUT is able to generate a CMS enveloped-data object

TEST OBJECT (CUT) CMS enveloped-data object

PARAMETERS

INSTRUCTIONS The tester shall extract the CMS enveloped-data object from the related S/MIME message. The following general guidelines shall be followed when performing the test: • This test case is the continuation of test case TCGSMED-1. • All mandatory fields shall be contained in the S/MIME message.

TEST

STEP FIELD OF DATA OBJECT ISIS-MTT

PART/SECTION AND PART.TABLE.ENTRY#

CONDITIONS, CONSTRAINTS

EVALUATION OF THE TEST STEP, INSTRUCTION

FOR TEST OPERATOR

Test event to be observed by the tester: CMS enveloped data object generated by the CUT 1 contentType P3.T1.#1 Field MUST be present / Value MUST be enveloped-data

{ 1 2 840 113549 1 7 3 } On failure ERROR and STOP

2 content.version P3.T6.#1 Field MUST be present / Value MUST be 0 On failure ERROR and STOP 3 content.originatorInfo P3.T6.#2 Field MUST be absent / On failure ERROR and STOP 4 content.recipientInfos P3.T3.#3 Field MUST be present / Value MUST at least contain

one element in the SET OF RecipientInfo The recepientInfos alternative “ktri” MUST be used. All other alternatives MUST NOT be used.

On failure ERROR and CONTINUE

5 content.recipient-Infos.ktri

P3.T7.#1 Field MUST be present / Value MUST contain the data structure KeyTransRecipentInfo

On failure ERROR and STOP

6 content.recipient-Infos.ktri.version

P3.T8.#1 Field MUST be present / Value MUST be 0 On failure ERROR and CONTINUE

7 content.recipient-Infos.ktri.rid

P3.T8.#2 Field MUST be present / Value MUST contain the issuerAndSerialNumber choice which identifies the issuer and serial number of the testers certificate for key transport

PREPARATION This information MUST be known by the CUT On failure ERROR and STOP

Page 90: ISIS-MTT Test Specification - TeleTrusT · 2009-04-03 · ISIS-MTT Test Specification: Introduction Version 1.1 Document History Page 3 of 19 Document History VERSION DATE CHANGES

ISIS-MTT Test Specification Part 3: Message Formats Version 1.1

Test Case Specifications for ISIS-MTT Part 3 Page 19 of 120

8 content.recipient-Infos.ktri.key-EncryptionAlgorithm

P3.T8.#3 P6.T4

Field MUST be present / Value MUST be from the set of key encryption algorithms which are permitted for generation according to P6.T5.

PARAMETER Key encryption algorithm On failure ERROR and STOP

9 content.recipient-Infos.ktri.encryptedKey

P3.T8.#4 Field MUST be present / Value MUST contain the encrypted content-encryption key

On failure ERROR and STOP

10 content.encrypted-ContentInfo.contentType

P3.T6.#4 P3.T9.1

Field MUST be present / Value MUST be id-data { 1 2 840 113549 1 7 1 } if non-interpreted binary data have been encrypted. The support of other values for the type of encrypted data is OPTIONAL.

PARAMETER Type of encrypted data On failure ERROR and CONTINUE

11 content.encrypted-ContentInfo.content-EncryptionAlgorithm

P3.T9.#2 P6.T3

Field MUST be present / Value MUST be a permitted content encryption algorithm according to P6.T3.

PARAMETER Content encryption algorithm On failure ERROR and STOP Warn if algorithm SHOULD NOT be used

12 content.encrypted-ContentInfo. encryptedContent

P3.T9.#3 Field MUST be present / Value MUST contain the encrypted data

On failure ERROR and STOP

13 content.unprotectedAttrs P3.T6.#5 Field MUST be absent / On failure ERROR

Page 91: ISIS-MTT Test Specification - TeleTrusT · 2009-04-03 · ISIS-MTT Test Specification: Introduction Version 1.1 Document History Page 3 of 19 Document History VERSION DATE CHANGES

ISIS-MTT Test Specification Part 3: Message Formats Version 1.1

Test Case Specifications for ISIS-MTT Part 3 Page 20 of 120

Table 7: Test Case TCGSD-1: Generation of a CMS Signed-Data Object With Present eContent Field

TEST CASE NAME TCGSD-1

TEST PURPOSE Ensure that the CUT is able to generate a CMS signed-data object with present eContent field

TEST OBJECT (CUT) CMS signed-data object with present eContent field

PARAMETERS

INSTRUCTIONS The tester shall extract the CMS signed-data object from the related S/MIME message. The following general guidelines shall be followed when performing the test: • This test case is the continuation of test case TCGSMSD-1. • All mandatory fields shall be contained in the signed-data object.

TEST

STEP FIELD OF DATA OBJECT ISIS-MTT

PART.SECTION AND PART.TABLE.ENTRY#

CONDITIONS / CONSTRAINTS EVALUATION OF THE TEST STEP, INSTRUCTION

FOR TEST OPERATOR

Test event to be observed by the tester: CMS signed data object generated by the CUT 1 contentType P3.T1.#1 Field MUST be present / Value MUST be signed-data { 1

2 840 113549 1 7 2 } On failure ERROR and STOP

2 content.version P3.T2.#1 Field MUST be present / Value MUST be 1 if non-interpreted binary data shall be protected, or 3 if data with content type other than id-data SHALL be protected

PARAMETER Type of protected data On failure ERROR and STOP

3 content.digestAlgorithms P3.T2.#2 P6.T1

Field MUST be present / Value MUST be a permitted hash algorithm according to P6.T1

PARAMETER Type of hash algorithm On failure ERROR and STOP Warn, if algorithm SHOULD NOT be used

4 content.encap-ContentInfo. eContentType

P3.T3.#1 Field MUST be present / Value MUST be id-data { 1 2 840 113549 1 7 1 }, if version 1 is used, or SHALL contain the format identifier, if version 3 is used

PARAMETER Type of protected data On failure ERROR and STOP

5 content.encap-ContentInfo.eContent

P3.T3.#2 Field MUST be present / Value MUST contain the data to be protected

On failure ERROR and STOP

6 content.certificates P3.T2.#4 Field SHOULD be present / Value SHOULD at least provide the signer's certificate, and optionally further certificates of the signer's certification path

If field is absent NOTICE and CONTINUE If field is present, perform basic path validation On failure ERROR and STOP

Page 92: ISIS-MTT Test Specification - TeleTrusT · 2009-04-03 · ISIS-MTT Test Specification: Introduction Version 1.1 Document History Page 3 of 19 Document History VERSION DATE CHANGES

ISIS-MTT Test Specification Part 3: Message Formats Version 1.1

Test Case Specifications for ISIS-MTT Part 3 Page 21 of 120

7 content.crls P3.T2.#5 Field MAY be present / Value MAY provide a relevant set of CRLs

If field is absent NOTICE and CONTINUE If field is present, determine validation of certificates On failure ERROR and STOP

8 content.signerInfos. version

P3.T4.#1 Field MUST be present / Value MUST be 1 On failure ERROR and CONTINUE

9 content.signerInfos. sid

P3.T4.#2 Field MUST be present / Value MUST be issuerAndSerialNumber choice

On failure ERROR and CONTINUE

10 content.signerInfos. digestAlgorithm

P3.T4.#3 Field MUST be present / Value MUST be contained in content.digestAlgorithms

On failure ERROR and CONTINUE

11 content.signerInfos. signedAttrs

P3.T4.#4 Field MUST be present, if field content.encapContent-Info.eContent-Type is not id-data /

PARAMETER Type of protected data On failure ERROR and STOP else CONTINUE

12 content.signerInfos. signedAttrs.attrType

P3.T5.#1 Field MUST be present, if content.signerInfos.signedAttrs is present / Value MUST be content-type { 1 2 840 113549 1 9 3 }

On failure ERROR and STOP

13 content.signerInfos. signedAttrs.attrValues

P3.T5.#1 Field MUST be present, if content.signerInfos.signedAttrs is present / Value MUST equal value in content.encapContentInfo.eContent-Type

On failure ERROR and CONTINUE

14 content.signerInfos. signedAttrs.attrType

P3.T5.#2 Field MUST be present, if content.signerInfos.signedAttrs is present / Value MUST be message-digest { 1 2 840 113549 1 9 4 }

On failure ERROR and CONTINUE

15 content.signerInfos. signedAttrs.attrValues

P3.T5.#2 Field MUST be present, if content.signerInfos.signedAttrs is present / Value MUST equal hash value of data to be signed in content.encap-ContentInfo.eContent

On failure ERROR and CONTINUE

16 content.signerInfos. signedAttrs.attrType

P3.T5.#3 Field MAY be present if content.signerInfos.signedAttrs is present / Value MUST be signing-time { 1 2 840 113549 1 9 5 }

On failure ERROR and CONTINUE

17 content.signerInfos. signedAttrs.attrValues

P3.T5.#3 Field MUST be present, if signing-time is used/ Value MUST contain signing time in UTCTime format for dates until 2049 and GeneralizedTime otherwise.

On failure ERROR and CONTINUE

18 content.signerInfos. signedAttrs.attrType

P3.T5.#4 Field MAY be present if content.signerInfos.signedAttrs is present / Value MUST be otherSigCert { 1 2 840 113549 1 9 16 2 19 }

On failure ERROR and CONTINUE

Page 93: ISIS-MTT Test Specification - TeleTrusT · 2009-04-03 · ISIS-MTT Test Specification: Introduction Version 1.1 Document History Page 3 of 19 Document History VERSION DATE CHANGES

ISIS-MTT Test Specification Part 3: Message Formats Version 1.1

Test Case Specifications for ISIS-MTT Part 3 Page 22 of 120

19 content.signerInfos. signedAttrs.attrValues

P3.T5.#4 Field MUST be present, if otherSigCert is used/ Value MUST contain the sequence of certificate identifiers starting with the signers certificate.

On failure ERROR and CONTINUE

20 content.signerInfos. signedAttrs.attrType

P3.T5.#8 Field MAY be present if content.signerInfos. signedAttrs is present / Value MUST be signingCertificate { 1 2 840 113549 1 9 16 2 12 }

On failure ERROR and CONTINUE

21 content.signerInfos. signedAttrs.attrValues

P3.T5.#8 Field MUST be present, if signingCertificate is used/ Value MUST contain the sequence of certificate identifiers starting with the signers certificate.

On failure ERROR and CONTINUE

22 content.signerInfos. signatureAlgorithm

P3.T4.#5 P6.T2

Field MUST be present / Value MUST be from the set of signature algorithms which are permitted for generation according to P6.T2.

On failure ERROR and CONTINUE

23 content.signerInfos. signature

P3.T4.#6 Field MUST be present / Value MUST contain the digital signature of the signer over the data to be signed and the signed attributes

On failure ERROR and CONTINUE

24 content.signerInfos. unsignedAttrs

P3.T4.#7 Field MAY be present / If field is present CONTINUE

25 content.signerInfos. unsignedAttrs.attrType

P3.T5.#5 Field MAY be present, if content.signerInfos.unsigned-Attrs is present / Value MAY be certificateRefs { 1 2 840 113549 1 9 16 2 21 }

On failure ERROR and CONTINUE

26 content.signerInfos. unsignedAttrs.attrValues

P3.T5.#5 Field MUST be present, if certificateRefs is used / Value MUST contain references to the full set of CA certificates.

On failure ERROR and CONTINUE

27 content.signerInfos. unsignedAttrs.attrType

P3.T5.#6 Field MAY be present, if content.signerInfos.unsigned-Attrs is present / Value MAY be revocationRefs { 1 2 840 113549 1 9 16 2 22 }

On failure ERROR and CONTINUE

28 content.signerInfos. unsignedAttrs.attrValues

P3.T5.#6 Field MUST be present, if revocationRefs is used / Value MUST contain references to the full set of CRL or OCSP responses

On failure ERROR and CONTINUE

29 content.signerInfos. unsignedAttrs.attrType

P3.T5.#7 Field MAY be present, if content.signerInfos.unsigned-Attrs is present / Value MAY be escTimeStamp { 1 2 840 113549 1 9 16 2 25 }

On failure ERROR and CONTINUE

30 content.signerInfos. unsignedAttrs.attrValues

P3.T5.#7 Field MUST be present, if escTimeStamp is used / Value MUST contain timestamp

On failure ERROR

Page 94: ISIS-MTT Test Specification - TeleTrusT · 2009-04-03 · ISIS-MTT Test Specification: Introduction Version 1.1 Document History Page 3 of 19 Document History VERSION DATE CHANGES

ISIS-MTT Test Specification Part 3: Message Formats Version 1.1

Test Case Specifications for ISIS-MTT Part 3 Page 23 of 120

Table 8: Test Case TCGSD-2: Generation of a CMS Signed-Data Object With Absent eContent Field and Empty signerInfos Field

TEST CASE NAME TCGSD-2

TEST PURPOSE Ensure that the CUT is able to generate a CMS signed-data object with absent eContent field and empty signerInfos field

TEST OBJECT (CUT) CMS signed-data object with absent eContent field and empty signerInfos field

PARAMETERS

INSTRUCTIONS The tester shall extract the CMS signed-data object from the related S/MIME message. The following general guidelines shall be followed when performing the test: • All mandatory fields shall be contained in the signed-data object.

TEST

STEP FIELD OF DATA OBJECT ISIS-MTT

PART/SECTION AND PART.TABLE.ENTRY#

CONDITIONS, CONSTRAINTS

EVALUATION OF THE TEST STEP, INSTRUCTION

FOR TEST OPERATOR

Test event to be observed by the tester: CMS signed data object generated by the CUT 1 contentType P3.T1.#1 Field MUST be present / Value MUST be signed-data { 1

2 840 113549 1 7 2 } On failure ERROR and STOP

2 content.version P3.T2.#1 Field MUST be present / Value MUST be 1 On failure ERROR and STOP 3 content.digestAlgorithms P3.T2.#2

P6.T.1 Field MUST be present / Value MUST be a permitted hash algorithm according to P6.T1

PARAMETER Type of hash algorithm On failure ERROR and STOP Warn, if algorithm SHOULD NOT be used.

4 content.encap-ContentInfo. eContentType

P3.T3.#1 Field MUST be present / Value MUST be id-data { 1 2 840 113549 1 7 1 }

On failure ERROR and STOP

5 content.encap-ContentInfo.eContent

P3.T3.#2 Field MUST be absent / On failure ERROR and STOP

6 content.certificates P3.T2.#4 Field MUST be present / Value MUST at least contain the signer's certificate, and optionally further certificates of the signer's certification path

On failure ERROR and STOP

7 content.crls P3.T2.#5 Field MUST be absent / On failure ERROR and STOP 8 content.signerInfos P3.T2.#6 Field MUST be present / Value MUST be empty SET On failure ERROR

Page 95: ISIS-MTT Test Specification - TeleTrusT · 2009-04-03 · ISIS-MTT Test Specification: Introduction Version 1.1 Document History Page 3 of 19 Document History VERSION DATE CHANGES

ISIS-MTT Test Specification Part 3: Message Formats Version 1.1

Test Case Specifications for ISIS-MTT Part 3 Page 24 of 120

Table 9: Test Case TCGSD-3: Generation of a CMS Signed-Data Object With Absent eContent Field

TEST CASE NAME TCGSD-3

TEST PURPOSE Ensure that the CUT is able to generate a CMS signed-data object with absent eContent field

TEST OBJECT (CUT) CMS signed-data object with absent eContent field

PARAMETERS

INSTRUCTIONS The tester shall extract the CMS signed-data object from the related S/MIME message. The following general guidelines shall be followed when performing the test: • This test case is the continuation of test case TCGSMMS-1. • All mandatory fields shall be contained in the signed-data object.

TEST

STEP FIELD OF DATA OBJECT ISIS-MTT

PART.SECTION AND PART.TABLE.ENTRY#

CONDITIONS, CONSTRAINTS

EVALUATION OF THE TEST STEP, INSTRUCTION

FOR TEST OPERATOR

Test event to be observed by the tester: CMS signed data object generated by the CUT 1 contentType P3.T1.#1 Field MUST be present / Value MUST be signed-data { 1

2 840 113549 1 7 2 } On failure ERROR and STOP

2 content.version P3.T2.#1 Field MUST be present / Value MUST be 1 if non-interpreted binary data shall be protected, or 3 if data with content type other than id-data SHALL be protected

PARAMETER Type of protected data On failure ERROR and STOP

3 content.digestAlgorithms P3.T2.#2 P6.T1

Field MUST be present / Value MUST be a permitted hash algorithm according to P6.T1.

PARAMETER Type of hash algorithm On failure ERROR and STOP Warn, if algorithm SHOULD NOT be used.

4 content.encap-ContentInfo. eContentType

P3.T3.#1 Field MUST be present / Value MUST be id-data { 1 2 840 113549 1 7 1 }, if version 1 is used, or SHALL contain the format identifier, if version 3 is used

PARAMETER Type of protected data On failure ERROR and STOP

5 content.encap-ContentInfo.eContent

P3.T3.#2 Field MUST be absent / On failure ERROR and STOP

6 content.certificates P3.T2.#4 Field SHOULD be present / Value SHOULD provide the set of certificates of the signers certification path

If field is absent NOTICE and CONTINUE If field is present, perform basic path validation On failure ERROR and STOP

Page 96: ISIS-MTT Test Specification - TeleTrusT · 2009-04-03 · ISIS-MTT Test Specification: Introduction Version 1.1 Document History Page 3 of 19 Document History VERSION DATE CHANGES

ISIS-MTT Test Specification Part 3: Message Formats Version 1.1

Test Case Specifications for ISIS-MTT Part 3 Page 25 of 120

7 content.crls P3.T2.#5 Field MAY be present / Value MAY provide a relevant set of CRLs

If field is absent NOTICE and CONTINUE If field is present, determine validation of certificates On failure ERROR and STOP

8 content.signerInfos. version

P3.T4.#1 Field MUST be present / Value MUST be 1 On failure ERROR and CONTINUE

9 content.signerInfos. sid

P3.T4.#2 Field MUST be present / Value MUST be issuerAndSerialNumber choice

On failure ERROR and CONTINUE

10 content.signerInfos. digestAlgorithm

P3.T4.#3 Field MUST be present / Value MUST be contained in content.digestAlgorithms

On failure ERROR and CONTINUE

11 content.signerInfos. signedAttrs

P3.T4.#4 Field MUST be present, if field content.encapContentInfo.eContent-Type is not id-data /

PARAMETER Type of protected data On failure ERROR and STOP else CONTINUE

12 content.signerInfos. signedAttrs.attrType

P3.T5.#1 Field MUST be present, if content.signerInfos. signedAttrs is present / Value MUST be content-type { 1 2 840 113549 1 9 3 }

On failure ERROR and STOP

13 content.signerInfos. signedAttrs.attrValues

P3.T5.#1 Field MUST be present, if content.signerInfos. signedAttrs is present / Value MUST equal value in content.encapContentInfo.eContent-Type

On failure ERROR and CONTINUE

14 content.signerInfos. signedAttrs.attrType

P3.T5.#2 Field MUST be present, if content.signerInfos. signedAttrs is present / Value MUST be message-digest { 1 2 840 113549 1 9 4 }

On failure ERROR and CONTINUE

15 content.signerInfos. signedAttrs. attrValues

P3.T5.#2 Field MUST be present, if content.signerInfos. signedAttrs is present / Value MUST equal hash value of data to be signed in content.encap-ContentInfo.eContent

On failure ERROR and CONTINUE

16 content.signerInfos. signedAttrs.attrType

P3.T5.#3 Field MAY be present if content.signerInfos.signedAttrs is present / Value MUST be signing-time { 1 2 840 113549 1 9 5 }

On failure ERROR and CONTINUE

17 content.signerInfos. signedAttrs.attrValues

P3.T5.#3 Field MUST be present, if signing-time is used/ Value MUST contain signing time in UTCTime format for dates until 2049 and GeneralizedTime otherwise.

On failure ERROR and CONTINUE

18 content.signerInfos. signedAttrs.attrType

P3.T5.#4 Field MAY be present if content.signerInfos.signedAttrs is present / Value MUST be otherSigCert { 1 2 840 113549 1 9 16 2 19 }

On failure ERROR and CONTINUE

Page 97: ISIS-MTT Test Specification - TeleTrusT · 2009-04-03 · ISIS-MTT Test Specification: Introduction Version 1.1 Document History Page 3 of 19 Document History VERSION DATE CHANGES

ISIS-MTT Test Specification Part 3: Message Formats Version 1.1

Test Case Specifications for ISIS-MTT Part 3 Page 26 of 120

19 content.signerInfos. signedAttrs.attrValues

P3.T5.#4 Field MUST be present, if otherSigCert is used/ Value MUST contain the sequence of certificate identifiers starting with the signers certificate.

On failure ERROR and CONTINUE

20 content.signerInfos. signedAttrs.attrType

P3.T5.#8 Field MAY be present if content.signerInfos. signedAttrs is present / Value MUST be signingCertificate { 1 2 840 113549 1 9 16 2 12 }

On failure ERROR and CONTINUE

21 content.signerInfos. signedAttrs.attrValues

P3.T5.#8 Field MUST be present, if signingCertificate is used/ Value MUST contain the sequence of certificate identifiers starting with the signers certificate.

On failure ERROR and CONTINUE

22 content.signerInfos. signatureAlgorithm

P3.T4.#5 P6.T2

Field MUST be present / Value MUST be from the set of signature algorithms which are permitted for generation according to P6.T2.

On failure ERROR and CONTINUE

23 content.signerInfos. signature

P3.T4.#6 Field MUST be present / Value MUST contain the digital signature of the signer over the data to be signed and the signed attributes

On failure ERROR and CONTINUE

24 content.signerInfos. unsignedAttrs

P3.T4.#7 Field MAY be present / If field is present CONTINUE

25 content.signerInfos. unsignedAttrs.attrType

P3.T5.#5 Field MUST be present, if content.signerInfos.unsigned-Attrs is present / Value MAY be certificateRefs { 1 2 840 113549 1 9 16 2 21 }

On failure ERROR and CONTINUE

26 content.signerInfos. unsignedAttrs.attrValues

P3.T5.#5 Field MUST be present, if certificateRefs is used / Value MUST contain references to the full set of CA certificates.

On failure ERROR and CONTINUE

27 content.signerInfos. unsignedAttrs.attrType

P3.T5.#6 Field MUST be present, if content.signerInfos.unsigned-Attrs is present / Value MAY be revocationRefs { 1 2 840 113549 1 9 16 2 22 }

On failure ERROR and CONTINUE

28 content.signerInfos. unsignedAttrs.attrValues

P3.T5.#6 Field MUST be present, if revocationRefs is used / Value MUST contain references to the full set of CRL or OCSP responses

On failure ERROR and CONTINUE

29 content.signerInfos. unsignedAttrs.attrType

P3.T5.#7 Field MUST be present, if content.signerInfos.unsigned-Attrs is present / Value MAY be escTimeStamp { 1 2 840 113549 1 9 16 2 25 }

On failure ERROR and CONTINUE

30 content.signerInfos. unsignedAttrs.attrValues

P3.T5.#7 Field MUST be present, if escTimeStamp is used / Value MUST contain timestamp

On failure ERROR

Page 98: ISIS-MTT Test Specification - TeleTrusT · 2009-04-03 · ISIS-MTT Test Specification: Introduction Version 1.1 Document History Page 3 of 19 Document History VERSION DATE CHANGES

ISIS-MTT Test Specification Part 3: Message Formats Version 1.1

Test Case Specifications for ISIS-MTT Part 3 Page 27 of 120

2.2 Components that Process S/MIME Messages

This section specifies test cases for checking the behaviour of products that process S/MIME messages. These test cases are used to prove the conformance of products with ISIS-MTT that claim to provide this functionality. Test cases of this test group are referenced by the 5-character mnemonics “TCPSM” (TC for test case, P for processing, and SM for S/MIME message), followed by the 3-character mnemonics (“ED-”, “SD-”, “CO-”, or “SD-”) that indicate the type of the S/MIME message (enveloped-data, signed-data, certs-only, or multipart-signed), followed by a unique number that allows to add further identified test cases to this category. For the purpose of modularisation, the test cases for checking the structure and contents of CMS objects embedded in S/MIME are specified in separate tables. These test cases are referenced by the 3-character mnemonics “TCP” (TC for test case, P for processing of CMS object), followed by the 2-character mnemonics (“ED-”, or “SD-”, that indicate the type of the CMS object (enveloped-data, or signed-data), followed by a unique number that allows to add further identified test cases to this category. Test cases that are used to check the behaviour of a CUT after the receipt of an invalid test event, generated by the tester, focus on objects that contain a single particular invalidated field. Related test case specifications for invalid and valid test events are identical with the exception of the value of a single particular field. This relationship is expressed in test case names that identify test cases for invalid test events by using the test case names of the related valid test events and a name extension (“.”unique number). The combination of errors within CMS objects is currently not considered in this test specification.

Page 99: ISIS-MTT Test Specification - TeleTrusT · 2009-04-03 · ISIS-MTT Test Specification: Introduction Version 1.1 Document History Page 3 of 19 Document History VERSION DATE CHANGES

ISIS-MTT Test Specification Part 3: Message Formats Version 1.1

Test Case Specifications for ISIS-MTT Part 3 Page 28 of 120

Table 10: Test Case TCPSMED-1: Processing of a valid S/MIME message for enveloped data

TEST CASE NAME TCPSMED-1

TEST PURPOSE Ensure that the CUT is able to process a valid S/MIME message for enveloped data generated by the tester

TEST OBJECT (CUT) Product, software module, cryptographic token, etc. processing S/MIME message for enveloped data

PARAMETERS E-Mail address of CUT to which the tester shall send the S/MIME message

INSTRUCTIONS The tester shall send a valid S/MIME message with enveloped data to the CUT. The component to be tested is to be triggered to receive and to process the S/MIME message. The following general guidelines shall be followed when performing the test: The behaviour of the CUT shall be observed at its local interface regarding the following questions: • Is the receipt of encrypted data indicated to the user? • Is the content disposition information passed to the user? • Has the user a choice to accept or to reject a proposed file name? • Can the encrypted data indicated to the user or stored in a file with an accepted file name? • Can the encrypted data be decrypted? • Is the result of the decryption (which SHOULD be valid encryption) indicated to the user?

TEST

STEP

NO.

FIELD OF DATA OBJECT ISIS-MTT PART.SECTION

CONDITIONS, CONSTRAINTS

EVALUATION OF THE TEST STEP, INSTRUCTION

FOR TEST OPERATOR

Test event to be controlled (i.e. to be generated and sent) from the tester to the CUT: S/MIME message for enveloped data 1 Content-Type P3.S2.1.1 application/pkcs7-mime; smime-type=enveloped-data,

name =*.p7m application/x-pkcs7-mime instead of application/pkcs7-mime SHOULD be supported

PARAMETER name=smime.p7m (source is S/MIME) name=<filename>.p7m (source is file)

2 Content-Transfer-Encoding

P3.S2.2 PARAMETER Transfer encoding variant, e.g. base64

3 Content-Disposition P3.S2.2 attachment; filename =*.p7m PARAMETER With the same value as in Content-Type

4 MIME entity with enveloped-data

P3.S2.1.1 enveloped-data { 1 2 840 113549 1 7 3 } CONTINUE With contents of the enveloped-data CMS object in test case TCPED-1

Page 100: ISIS-MTT Test Specification - TeleTrusT · 2009-04-03 · ISIS-MTT Test Specification: Introduction Version 1.1 Document History Page 3 of 19 Document History VERSION DATE CHANGES

ISIS-MTT Test Specification Part 3: Message Formats Version 1.1

Test Case Specifications for ISIS-MTT Part 3 Page 29 of 120

Table 11: Test Case TCPED-1: Processing of a valid CMS enveloped-data object

TEST CASE NAME TCPED-1

TEST PURPOSE Ensure that the CUT is able to process a valid CMS enveloped-data object generated by the tester

TEST OBJECT (CUT) Product, software module, cryptographic token, etc. processing CMS enveloped-data object

PARAMETERS

INSTRUCTIONS This test case is a continuation of test case TCPSMED-1. The component to be tested is to be triggered to process the CMS enveloped-data object. The behaviour of the CUT shall be observed at its local interface regarding the following questions: • Is the receipt of encrypted data indicated to the user? • Is the content disposition information passed to the user? • Has the user a choice to accept or to reject a proposed file name? • Can the encrypted data indicated to the user or stored in a file with an accepted file name? • Can the encrypted data be decrypted? • Is the result of the decryption (which SHOULD be valid encryption) indicated to the user?

TEST

STEP FIELD OF DATA OBJECT ISIS-MTT

PART.SECTION AND PART.TABLE.ENTRY#

CONDITIONS, CONSTRAINTS

EVALUATION OF THE TEST STEP, INSTRUCTION FOR TEST OPERATOR

Test event to be controlled (i.e. to be generated and sent) from the tester to the CUT: CMS enveloped data object 1 contentType P3.T1.#1 enveloped-data { 1 2 840 113549 1 7 3 } 2 content.version P3.T6.#1 v1(0) 3 content.originatorInfo P3.T6.#2 Field is absent 4 content.recipientInfos P3.T6.#3 SET OF RecipientInfo Field with one element in the SET OF

RecipientInfo. Alternative “ktri” must be used.

5 content.recipientInfos.ktri P3.T7.#1 KeyTransRecipentInfo 6 content.recipient-

Infos.ktri.version P3.T8.#1 v1(0)

7 content.recipient-Infos.ktri.rid P3.T8.#2 issuerAndSerialNumber PREPARATION This information MUST be known by the tester

Page 101: ISIS-MTT Test Specification - TeleTrusT · 2009-04-03 · ISIS-MTT Test Specification: Introduction Version 1.1 Document History Page 3 of 19 Document History VERSION DATE CHANGES

ISIS-MTT Test Specification Part 3: Message Formats Version 1.1

Test Case Specifications for ISIS-MTT Part 3 Page 30 of 120

8 content.recipient-Infos.ktri .key-EncryptionAlgorithm

P3.T8.#3 P6.T4

Any key encryption algorithm, which MUST or SHOULD be supported for processing according to P6.T4.

PARAMETER Key encryption algorithm

9 content.recipient-Infos.ktri.encryptedKey

P3.T8.#4 OCTET STRING Contains the encrypted content-encryption key

10 content.encryptedContentInfo. contentType

P3.T6.#4 P3.T9.#1

id-data { 1 2 840 113549 1 7 1 }

11 content.encryptedContentInfo. contentEncryptionAlgorithm

P3.T9.#2 P6.T3

Any content encryption algorithm, which MUST or SHOULD be supported for processing according to P6.T3.

PARAMETER Content encryption algorithm

11 content.encryptedContentInfo. encryptedContent

P3.T9.#3 OCTET STRING Contains the encrypted data

12 content.unprotectedAttrs P3.T6.#5 Field is absent

Page 102: ISIS-MTT Test Specification - TeleTrusT · 2009-04-03 · ISIS-MTT Test Specification: Introduction Version 1.1 Document History Page 3 of 19 Document History VERSION DATE CHANGES

ISIS-MTT Test Specification Part 3: Message Formats Version 1.1

Test Case Specifications for ISIS-MTT Part 3 Page 31 of 120

Table 12: Test Case TCPSMED-1.1: Processing of an S/MIME message with enveloped data containing a particular invalid field

TEST CASE NAME TCPSMED-1.1

TEST PURPOSE Ensure that the CUT is able to process an S/MIME message with enveloped data that contains a particular invalid field generated by the tester

TEST OBJECT (CUT) Product, software module, cryptographic token, etc. processing CMS enveloped-data object

PARAMETERS E-Mail address of CUT to which the tester shall send the S/MIME message

INSTRUCTIONS The tester shall send an S/MIME message with enveloped-data object that contains a particular invalid field to the CUT. The component to be tested is to be triggered to receive and to process the S/MIME message. The behaviour of the CUT shall be observed at its local interface regarding the following questions: • Is the receipt of encrypted data indicated to the user? • Is the content disposition information passed to the user? • Has the user a choice to accept or to reject a proposed file name? • Can the encrypted data indicated to the user or stored in a file with an accepted file name? • Can the encrypted data be decrypted? • Is the result of the decryption (which SHOULD be invalid encryption) indicated to the user?

TEST

STEP FIELD OF DATA OBJECT ISIS-MTT

PART.SECTION CONDITIONS, CONSTRAINTS

EVALUATION OF THE TEST STEP, INSTRUCTION FOR TEST

OPERATOR

Test event to be controlled (i.e. to be generated and sent) from the tester to the CUT: CMS enveloped data object 1 Content-Type P3.S2.1.1 application/pkcs7-mime;

smime-type=enveloped-data, name =*.p7m application/x-pkcs7-mime instead of application/pkcs7-mime SHOULD be supported

PARAMETER name=smime.p7m (source is S/MIME) name=<filename>.p7m (source is file)

2 Content-Transfer-Encoding

P3.S2.2 PARAMETER Transfer encoding variant, e.g. base64

3 Content-Disposition P3.S2.2 attachment; filename =*.p7m PARAMETER With the same value as in Content-Type

Page 103: ISIS-MTT Test Specification - TeleTrusT · 2009-04-03 · ISIS-MTT Test Specification: Introduction Version 1.1 Document History Page 3 of 19 Document History VERSION DATE CHANGES

ISIS-MTT Test Specification Part 3: Message Formats Version 1.1

Test Case Specifications for ISIS-MTT Part 3 Page 32 of 120

4 MIME entity with invalid enveloped-data CMS object

P3.S2.1.1 CONTINUE With CMS object specified in test cases TCPED-1.1, TCPED-1.2, TCPED-1.3, TCPED-1.4, TCPED-1.5, TCPED-1.6, TCPED-1.7, TCPED-1.8, TCPED-1.9, TCPED-1.10, TCPED-1.11, and TCPED-1.12

Page 104: ISIS-MTT Test Specification - TeleTrusT · 2009-04-03 · ISIS-MTT Test Specification: Introduction Version 1.1 Document History Page 3 of 19 Document History VERSION DATE CHANGES

ISIS-MTT Test Specification Part 3: Message Formats Version 1.1

Test Case Specifications for ISIS-MTT Part 3 Page 33 of 120

Table 13: Test Case TCPED-1.1: Processing of an invalid CMS object that contains an unknown content type

TEST CASE NAME TCPED-1.1

TEST PURPOSE Ensure that the CUT is able to process an invalid CMS object generated by the tester that contains an unknown content type

TEST OBJECT (CUT) Product, software module, cryptographic token, etc. processing CMS enveloped-data object

PARAMETERS

INSTRUCTIONS This test case is a continuation of test case TCPSMED-1.1. The component to be tested is to be triggered to process the CMS enveloped-data object. The behaviour of the CUT shall be observed at its local interface regarding the following questions: • Is the receipt of encrypted data indicated to the user? • Is the content disposition information passed to the user? • Has the user a choice to accept or to reject a proposed file name? • Can the encrypted data indicated to the user or stored in a file with an accepted file name? • Can the encrypted data be decrypted? • Is the result of the processing indicated to the user?

TEST

STEP

NO.

FIELD OF DATA OBJECT ISIS-MTT PART.TABLE.ENTRY#

CONDITIONS, CONSTRAINTS

EVALUATION OF THE TEST STEP, INSTRUCTION FOR

TEST OPERATOR

Test event to be controlled (i.e. to be generated and sent) from the tester to the CUT: invalid CMS object 1 contentType P3.T1.#1 { 1 2 840 113549 1 7 99 } MODIFICATION of TCPED-1

contentType different from enveloped-data

Page 105: ISIS-MTT Test Specification - TeleTrusT · 2009-04-03 · ISIS-MTT Test Specification: Introduction Version 1.1 Document History Page 3 of 19 Document History VERSION DATE CHANGES

ISIS-MTT Test Specification Part 3: Message Formats Version 1.1

Test Case Specifications for ISIS-MTT Part 3 Page 34 of 120

Table 14: Test Case TCPED-1.2: Processing of an invalid enveloped-data CMS object that contains an unknown version

TEST CASE NAME TCPED-1.2

TEST PURPOSE Ensure that the CUT is able to process an invalid enveloped-data CMS object generated by the tester that contains an unknown version

TEST OBJECT (CUT) Product, software module, cryptographic token, etc. processing CMS enveloped-data object

PARAMETERS

INSTRUCTIONS This test case is a continuation of test case TCPSMED-1.1. The component to be tested is to be triggered to process the CMS enveloped-data object. The behaviour of the CUT shall be observed at its local interface regarding the following questions: • Is the receipt of encrypted data indicated to the user? • Is the content disposition information passed to the user? • Has the user a choice to accept or to reject a proposed file name? • Can the encrypted data indicated to the user or stored in a file with an accepted file name? • Can the encrypted data be decrypted? • Is the result of the processing indicated to the user?

TEST

STEP FIELD OF DATA OBJECT ISIS-MTT

PART.TABLE.ENTRY# CONDITIONS, CONSTRAINTS

EVALUATION OF THE TEST STEP, INSTRUCTION

FOR TEST OPERATOR

Test event to be controlled (i.e. to be generated and sent) from the tester to the CUT: invalid enveloped data CMS object 1 content.version P3.T6.#1 v9(8) MODIFICATION of TCPED-1

content.version different from v1(0)

Page 106: ISIS-MTT Test Specification - TeleTrusT · 2009-04-03 · ISIS-MTT Test Specification: Introduction Version 1.1 Document History Page 3 of 19 Document History VERSION DATE CHANGES

ISIS-MTT Test Specification Part 3: Message Formats Version 1.1

Test Case Specifications for ISIS-MTT Part 3 Page 35 of 120

Table 15: Test Case TCPED-1.3: Processing of an invalid enveloped-data CMS object that does not contain content recipient information

TEST CASE NAME TCPED-1.3

TEST PURPOSE Ensure that the CUT is able to process an invalid enveloped-data CMS object generated by the tester that does not contain recipient information

TEST OBJECT (CUT) Product, software module, cryptographic token, etc. processing CMS enveloped-data object

PARAMETERS

INSTRUCTIONS This test case is a continuation of test case TCPSMED-1.1. The component to be tested is to be triggered to process the CMS enveloped-data object. The behaviour of the CUT shall be observed at its local interface regarding the following questions: • Is the receipt of encrypted data indicated to the user? • Is the content disposition information passed to the user? • Has the user a choice to accept or to reject a proposed file name? • Can the encrypted data indicated to the user or stored in a file with an accepted file name? • Can the encrypted data be decrypted? • Is the result of the processing indicated to the user?

TEST

STEP FIELD OF DATA OBJECT ISIS-MTT

PART.TABLE.ENTRY# CONDITIONS, CONSTRAINTS

EVALUATION OF THE TEST STEP, INSTRUCTION

FOR TEST OPERATOR

Test event to be controlled (i.e. to be generated and sent) from the tester to the CUT: invalid enveloped data CMS object 1 content.recipientInfos P3.T6.#3 SET OF { } MODIFICATION of TCPED-1

content.recipientInfos with empty RecipientInfo

Page 107: ISIS-MTT Test Specification - TeleTrusT · 2009-04-03 · ISIS-MTT Test Specification: Introduction Version 1.1 Document History Page 3 of 19 Document History VERSION DATE CHANGES

ISIS-MTT Test Specification Part 3: Message Formats Version 1.1

Test Case Specifications for ISIS-MTT Part 3 Page 36 of 120

Table 16: Test Case TCPED-1.4: Processing of an invalid enveloped-data CMS object with unknown RecipientInfo choice tag

TEST CASE NAME TCPED-1.4

TEST PURPOSE Ensure that the CUT is able to process an invalid enveloped-data CMS object generated by the tester with unknown RecipientInfo choice tag

TEST OBJECT (CUT) Product, software module, cryptographic token, etc. processing CMS enveloped-data object

PARAMETERS

INSTRUCTIONS This test case is a continuation of test case TCPSMED-1.1. The component to be tested is to be triggered to process the CMS enveloped-data object. The behaviour of the CUT shall be observed at its local interface regarding the following questions: • Is the receipt of encrypted data indicated to the user? • Is the content disposition information passed to the user? • Has the user a choice to accept or to reject a proposed file name? • Can the encrypted data indicated to the user or stored in a file with an accepted file name? • Can the encrypted data be decrypted? • Is the result of the processing indicated to the user?

TEST

STEP

NO.

FIELD OF DATA OBJECT ISIS-MTT PART.TABLE.ENTRY#

CONDITIONS, CONSTRAINTS

EVALUATION OF THE TEST STEP, INSTRUCTION

FOR TEST OPERATOR

Test event to be controlled (i.e. to be generated and sent) from the tester to the CUT: invalid enveloped data CMS object 1 content.recipient-

Infos.ktri P3.T7.#1 [3] MODIFICATION of TCPED-1

content.recipientInfos.ktri replaced with unknown RecipientInfo choice tag

Page 108: ISIS-MTT Test Specification - TeleTrusT · 2009-04-03 · ISIS-MTT Test Specification: Introduction Version 1.1 Document History Page 3 of 19 Document History VERSION DATE CHANGES

ISIS-MTT Test Specification Part 3: Message Formats Version 1.1

Test Case Specifications for ISIS-MTT Part 3 Page 37 of 120

Table 17: Test Case TCPED-1.5: Processing of an invalid enveloped-data CMS object with invalid content encryption key version

TEST CASE NAME TCPED-1.5

TEST PURPOSE Ensure that the CUT is able to process an invalid enveloped-data CMS object generated by the tester with invalid content encryption key version

TEST OBJECT (CUT) Product, software module, cryptographic token, etc. processing CMS enveloped-data object

PARAMETERS

INSTRUCTIONS This test case is a continuation of test case TCPSMED-1.1. The component to be tested is to be triggered to process the CMS enveloped-data object. The behaviour of the CUT shall be observed at its local interface regarding the following questions: • Is the receipt of encrypted data indicated to the user? • Is the content disposition information passed to the user? • Has the user a choice to accept or to reject a proposed file name? • Can the encrypted data indicated to the user or stored in a file with an accepted file name? • Can the encrypted data be decrypted? • Is the result of the processing indicated to the user?

TEST

STEP FIELD OF DATA OBJECT ISIS-MTT

PART.TABLE.ENTRY# CONDITIONS, CONSTRAINTS

EVALUATION OF THE TEST STEP, INSTRUCTION

FOR TEST OPERATOR

Test event to be controlled (i.e. to be generated and sent) from the tester to the CUT: invalid enveloped data CMS object 1 content.recipient-

Infos.ktri.version P3.T7.#1 v9(8) MODIFICATION of TCPED-1

content.recipientInfos.ktri.version replaced with unknown version

Page 109: ISIS-MTT Test Specification - TeleTrusT · 2009-04-03 · ISIS-MTT Test Specification: Introduction Version 1.1 Document History Page 3 of 19 Document History VERSION DATE CHANGES

ISIS-MTT Test Specification Part 3: Message Formats Version 1.1

Test Case Specifications for ISIS-MTT Part 3 Page 38 of 120

Table 18: Test Case TCPED-1.6: Processing of an invalid enveloped-data CMS object with invalid RecipientIdentifier choice tag

TEST CASE NAME TCPED-1.6

TEST PURPOSE Ensure that the CUT is able to process an invalid enveloped-data CMS object generated by the tester with invalid RecipientIdentifier choice tag

TEST OBJECT (CUT) Product, software module, cryptographic token, etc. processing CMS enveloped-data object

PARAMETERS

INSTRUCTIONS This test case is a continuation of test case TCPSMED-1.1. The component to be tested is to be triggered to process the CMS enveloped-data object. The behaviour of the CUT shall be observed at its local interface regarding the following questions: • Is the receipt of encrypted data indicated to the user? • Is the content disposition information passed to the user? • Has the user a choice to accept or to reject a proposed file name? • Can the encrypted data indicated to the user or stored in a file with an accepted file name? • Can the encrypted data be decrypted? • Is the result of the processing (which SHOULD be missing recipient information) indicated to the user?

TEST

STEP FIELD OF DATA OBJECT ISIS-MTT

PART.TABLE.ENTRY# CONDITIONS, CONSTRAINTS

EVALUATION OF THE TEST STEP, INSTRUCTION

FOR TEST OPERATOR

Test event to be controlled (i.e. to be generated and sent) from the tester to the CUT: invalid enveloped data CMS object 1 content.recipient-

Infos.ktri.rid P3.T8.#2 [1] MODIFICATION of TCPED-1

content.recipientInfos.ktri.rid replaced with unknown RecipientIdentifier choice tag

Page 110: ISIS-MTT Test Specification - TeleTrusT · 2009-04-03 · ISIS-MTT Test Specification: Introduction Version 1.1 Document History Page 3 of 19 Document History VERSION DATE CHANGES

ISIS-MTT Test Specification Part 3: Message Formats Version 1.1

Test Case Specifications for ISIS-MTT Part 3 Page 39 of 120

Table 19: Test Case TCPED-1.7: Processing of an invalid enveloped-data CMS object with invalid identification of the recipients key encryption certificate

TEST CASE NAME TCPED-1.7

TEST PURPOSE Ensure that the CUT is able to process an invalid enveloped-data CMS object generated by the tester with invalid identification of the recipients key encryption certificate

TEST OBJECT (CUT) Product, software module, cryptographic token, etc. processing CMS enveloped-data object

PARAMETERS

INSTRUCTIONS This test case is a continuation of test case TCPSMED-1.1. The component to be tested is to be triggered to process the CMS enveloped-data object. The behaviour of the CUT shall be observed at its local interface regarding the following questions: • Is the receipt of encrypted data indicated to the user? • Is the content disposition information passed to the user? • Has the user a choice to accept or to reject a proposed file name? • Can the encrypted data indicated to the user or stored in a file with an accepted file name? • Can the encrypted data be decrypted? • Is the result of the processing indicated to the user?

TEST

STEP FIELD OF DATA OBJECT ISIS-MTT

PART.TABLE.ENTRY# CONDITIONS, CONSTRAINTS

EVALUATION OF THE TEST STEP, INSTRUCTION

FOR TEST OPERATOR

Test event to be controlled (i.e. to be generated and sent) from the tester to the CUT: invalid enveloped data CMS object 1 content.recipient-

Infos.ktri.rid P3.T8.#2 issuerAndSerialNumber MODIFICATION of TCPED-1

content.recipientInfos.ktri.rid value does not identify recipients key encryption certificate

Page 111: ISIS-MTT Test Specification - TeleTrusT · 2009-04-03 · ISIS-MTT Test Specification: Introduction Version 1.1 Document History Page 3 of 19 Document History VERSION DATE CHANGES

ISIS-MTT Test Specification Part 3: Message Formats Version 1.1

Test Case Specifications for ISIS-MTT Part 3 Page 40 of 120

Table 20: Test Case TCPED-1.8: Processing of an invalid enveloped-data CMS object with invalid key encryption algorithm

TEST CASE NAME TCPED-1.8

TEST PURPOSE Ensure that the CUT is able to process an invalid enveloped-data CMS object generated by the tester with invalid key encryption algorithm

TEST OBJECT (CUT) Product, software module, cryptographic token, etc. processing CMS enveloped-data object

PARAMETERS

INSTRUCTIONS This test case is a continuation of test case TCPSMED-1.1. The component to be tested is to be triggered to process the CMS enveloped-data object. The behaviour of the CUT shall be observed at its local interface regarding the following questions: • Is the receipt of encrypted data indicated to the user? • Is the content disposition information passed to the user? • Has the user a choice to accept or to reject a proposed file name? • Can the encrypted data indicated to the user or stored in a file with an accepted file name? • Can the encrypted data be decrypted? • Is the result of the processing indicated to the user?

TEST

STEP FIELD OF DATA OBJECT ISIS-MTT

PART.SECTION AND PART.TABLE.ENTRY#

CONDITIONS, CONSTRAINTS

EVALUATION OF THE TEST STEP, INSTRUCTION

FOR TEST OPERATOR

Test event to be controlled (i.e. to be generated and sent) from the tester to the CUT: invalid enveloped data CMS object 1 content.recipient-

Infos.ktri .key-EncryptionAlgorithm

P3.T8.#3 P6.S2.4

{ 1 2 840 113549 1 1 99 } MODIFICATION of TCPED-1 unknown keyEncryptionAlgorithm

Page 112: ISIS-MTT Test Specification - TeleTrusT · 2009-04-03 · ISIS-MTT Test Specification: Introduction Version 1.1 Document History Page 3 of 19 Document History VERSION DATE CHANGES

ISIS-MTT Test Specification Part 3: Message Formats Version 1.1

Test Case Specifications for ISIS-MTT Part 3 Page 41 of 120

Table 21: Test Case TCPED-1.9: Processing of an invalid enveloped-data CMS object with invalid content encryption key

TEST CASE NAME TCPED-1.9

TEST PURPOSE Ensure that the CUT is able to process an invalid enveloped-data CMS object generated by the tester with invalid content encryption key

TEST OBJECT (CUT) Product, software module, cryptographic token, etc. processing CMS enveloped-data object

PARAMETERS

INSTRUCTIONS This test case is a continuation of test case TCPSMED-1.1. The component to be tested is to be triggered to process the CMS enveloped-data object. The behaviour of the CUT shall be observed at its local interface regarding the following questions: • Is the receipt of encrypted data indicated to the user? • Is the content disposition information passed to the user? • Has the user a choice to accept or to reject a proposed file name? • Can the encrypted data indicated to the user or stored in a file with an accepted file name? • Can the encrypted data be decrypted? • Is the result of the processing indicated to the user?

TEST

STEP FIELD OF DATA OBJECT ISIS-MTT

PART.TABLE.ENTRY# CONDITIONS, CONSTRAINTS

EVALUATION OF THE TEST STEP, INSTRUCTION

FOR TEST OPERATOR

Test event to be controlled (i.e. to be generated and sent) from the tester to the CUT: invalid enveloped data CMS object 1 content.recipient-

Infos.ktri.encryptedKey P3.T8.#4 OCTET STRING MODIFICATION of TCPED-1

encryptedKey replaced with invalid value of encrypted content-encryption key

Page 113: ISIS-MTT Test Specification - TeleTrusT · 2009-04-03 · ISIS-MTT Test Specification: Introduction Version 1.1 Document History Page 3 of 19 Document History VERSION DATE CHANGES

ISIS-MTT Test Specification Part 3: Message Formats Version 1.1

Test Case Specifications for ISIS-MTT Part 3 Page 42 of 120

Table 22: Test Case TCPED-1.10: Processing of an invalid enveloped-data CMS object with unknown content type in content.encryptedContentInfo

TEST CASE NAME TCPED-1.10

TEST PURPOSE Ensure that the CUT is able to process an invalid enveloped-data CMS object generated by the tester with unknown content type in content.encryptedContentInfo

TEST OBJECT (CUT) Product, software module, cryptographic token, etc. processing CMS enveloped-data object

PARAMETERS

INSTRUCTIONS This test case is a continuation of test case TCPSMED-1.1. The component to be tested is to be triggered to process the CMS enveloped-data object. The behaviour of the CUT shall be observed at its local interface regarding the following questions: • Is the receipt of encrypted data indicated to the user? • Is the content disposition information passed to the user? • Has the user a choice to accept or to reject a proposed file name? • Can the encrypted data indicated to the user or stored in a file with an accepted file name? • Can the encrypted data be decrypted? • Is the result of the processing (indicated to the user?

TEST

STEP FIELD OF DATA OBJECT ISIS-MTT

PART.TABLE.ENTRY# CONDITIONS, CONSTRAINTS

EVALUATION OF THE TEST STEP, INSTRUCTION

FOR TEST OPERATOR

Test event to be controlled (i.e. to be generated and sent) by the tester: Generation and Sending of PKCS#7 certification response message to CUT 1 content.encrypted-

ContentInfo.contentType P3.T6.#4 P3.T9.#1

{ 1 2 840 113549 1 7 99 } MODIFICATION of TCPED-1 Value different from id-data { 1 2 840 113549 1 7 1 }

Page 114: ISIS-MTT Test Specification - TeleTrusT · 2009-04-03 · ISIS-MTT Test Specification: Introduction Version 1.1 Document History Page 3 of 19 Document History VERSION DATE CHANGES

ISIS-MTT Test Specification Part 3: Message Formats Version 1.1

Test Case Specifications for ISIS-MTT Part 3 Page 43 of 120

Table 23: Test Case TCPED-1.11: Processing of an invalid enveloped-data CMS object with unknown content encryption algorithm

TEST CASE NAME TCPED-1.11

TEST PURPOSE Ensure that the CUT is able to process an invalid enveloped-data CMS object generated by the tester with unknown content encryption algorithm

TEST OBJECT (CUT) Product, software module, cryptographic token, etc. processing CMS enveloped-data object

PARAMETERS

INSTRUCTIONS This test case is a continuation of test case TCPSMED-1.1. The component to be tested is to be triggered to process the CMS enveloped-data object. The behaviour of the CUT shall be observed at its local interface regarding the following questions: • Is the receipt of encrypted data indicated to the user? • Is the content disposition information passed to the user? • Has the user a choice to accept or to reject a proposed file name? • Can the encrypted data indicated to the user or stored in a file with an accepted file name? • Can the encrypted data be decrypted? • Is the result of the processing indicated to the user?

TEST

STEP FIELD OF DATA OBJECT ISIS-MTT

PART.SECTION AND PART.TABLE.ENTRY#

CONDITIONS, CONSTRAINTS

EVALUATION OF THE TEST STEP, INSTRUCTION

FOR TEST OPERATOR

Test event to be controlled (i.e. to be generated and sent) from the tester to the CUT: invalid enveloped data CMS object 1 content.encrypted-

ContentInfo. contentEncryption-Algorithm

P3.T9.#2 P6.S2.3

{ 1 3 14 3 2 99 } MODIFICATION of TCPED-1 content encryption algorithm different from DES-CBC { 1 3 14 3 2 7 }, or Triple-DES { 1 3 36 3 1 3 2 1 }

Page 115: ISIS-MTT Test Specification - TeleTrusT · 2009-04-03 · ISIS-MTT Test Specification: Introduction Version 1.1 Document History Page 3 of 19 Document History VERSION DATE CHANGES

ISIS-MTT Test Specification Part 3: Message Formats Version 1.1

Test Case Specifications for ISIS-MTT Part 3 Page 44 of 120

Table 24: Test Case TCPED-1.12: Processing of an invalid enveloped-data CMS with invalid value of encrypted content

TEST CASE NAME TCPED-1.12

TEST PURPOSE Ensure that the CUT is able to process an invalid enveloped-data CMS object generated by the tester with invalid value of encrypted content

TEST OBJECT (CUT) Product, software module, cryptographic token, etc. processing CMS enveloped-data object

PARAMETERS

INSTRUCTIONS This test case is a continuation of test case TCPSMED-1.1. The component to be tested is to be triggered to process the CMS enveloped-data object. The behaviour of the CUT shall be observed at its local interface regarding the following questions: • Is the receipt of encrypted data indicated to the user? • Is the content disposition information passed to the user? • Has the user a choice to accept or to reject a proposed file name? • Can the encrypted data indicated to the user or stored in a file with an accepted file name? • Can the encrypted data be decrypted? • Is the result of the processing indicated to the user?

TEST

STEP FIELD OF DATA OBJECT ISIS-MTT

PART.TABLE.ENTRY# CONDITIONS, CONSTRAINTS

EVALUATION OF THE TEST STEP, INSTRUCTION

FOR TEST OPERATOR

Test event to be controlled (i.e. to be generated and sent) from the tester to the CUT: invalid enveloped data CMS object 1 content.encrypted-

ContentInfo. encryptedContent

P3.T9.#3 OCTET STRING MODIFICATION of TCPED-1 EncryptedContent replaced with invalid value of encrypted content

Page 116: ISIS-MTT Test Specification - TeleTrusT · 2009-04-03 · ISIS-MTT Test Specification: Introduction Version 1.1 Document History Page 3 of 19 Document History VERSION DATE CHANGES

ISIS-MTT Test Specification Part 3: Message Formats Version 1.1

Test Case Specifications for ISIS-MTT Part 3 Page 45 of 120

Table 25: Test Case TCPSMSD-1: Processing of a valid S/MIME message for signed data

TEST CASE NAME TCPSMSD-1

TEST PURPOSE Ensure that the CUT is able to process a valid S/MIME message for signed data generated by the tester

TEST OBJECT (CUT) Product, software module, cryptographic token, etc. processing S/MIME message for signed data

PARAMETERS E-Mail address of CUT to which the tester shall send the S/MIME message

INSTRUCTIONS The tester shall send a valid S/MIME message for signed-data to the CUT. The CUT is to be triggered to receive and to process the S/MIME message. The behaviour of the CUT shall be observed at its local interface regarding the following questions: • Is the receipt of signed data indicated to the user? • Is the content disposition information passed to the user? • Has the user a choice to accept or to reject a proposed file name? • Can the signed data indicated to the user or stored in a file with an accepted file name? • Can the signed data be verified? • Is the result of the verification indicated to the user?

TEST

STEP FIELD OF DATA OBJECT ISIS-MTT

PART.SECTION AND PART.TABLE.ENTRY#

CONDITIONS, CONSTRAINTS

EVALUATION OF THE TEST STEP, INSTRUCTION

FOR TEST OPERATOR

Test event to be controlled (i.e. to be generated and sent) from the tester to the CUT: S/MIME message for signed data 1 Content-Type P3.S2.1.2 application/pkcs7-mime; smime-type=signed-data;

name=*.p7m application/x-pkcs7-mime instead of application/pkcs7-mime SHOULD be supported

PARAMETER name=smime.p7m (source is S/MIME) name=<filename>.p7m (source is file)

2 Content-Transfer-Encoding

P3.S2.2 PARAMETER Transfer encoding variant, e.g. base64

3 Content-Disposition P3.S2.2 attachment; filename =*.p7m PARAMETER With the same value as in Content-Type

4 MIME entity with signed-data

P3.S2.1.1 signed-data { 1 2 840 113549 1 7 2 } CONTINUE With CMS object specified in test case TCPSD-1

Page 117: ISIS-MTT Test Specification - TeleTrusT · 2009-04-03 · ISIS-MTT Test Specification: Introduction Version 1.1 Document History Page 3 of 19 Document History VERSION DATE CHANGES

ISIS-MTT Test Specification Part 3: Message Formats Version 1.1

Test Case Specifications for ISIS-MTT Part 3 Page 46 of 120

Table 26: Test Case TCPSD-1: Processing of a valid CMS signed-data object with present eContent field

TEST CASE NAME TCPSD-1

TEST PURPOSE Ensure that the CUT is able to process a valid CMS signed-data object with present eContent field generated by the tester

TEST OBJECT (CUT) Product, software module, cryptographic token, etc. processing CMS signed-data object with present eContent field

PARAMETERS

INSTRUCTIONS This test case is a continuation of test case TCPSMSD-1. The component to be tested is to be triggered to process the CMS signed-data object. The behaviour of the CUT shall be observed at its local interface regarding the following questions: • Is the receipt of signed data indicated to the user? • Is the content disposition information passed to the user? • Has the user a choice to accept or to reject a proposed file name? • Can the signed data indicated to the user or stored in a file with an accepted file name? • Can the signed data be verified? • Is the result of the verification indicated to the user?

TEST

STEP FIELD OF DATA OBJECT ISIS-MTT

PART.SECTION AND PART.TABLE.ENTRY#

CONDITIONS, CONSTRAINTS

EVALUATION OF THE TEST STEP, INSTRUCTION

FOR TEST OPERATOR

Test event to be controlled (i.e. to be generated and sent) from the tester to the CUT: CMS signed data object 1 contentType P3.T1.#1 signed-data { 1 2 840 113549 1 7 2 } 2 content.version P3.T2.#1 v1(0), or v3(2) PARAMETER

Type of protected data v1(0), if non-interpreted binary data are used, or v3(2), if data with assigned format identifiers are used

3 content.digest-Algorithms P3.T2.#2 P6.T1

Any hash algorithm, which MUST or SHOULD be supported for processing according to P6.T1.

PARAMETER Type of hash algorithm

Page 118: ISIS-MTT Test Specification - TeleTrusT · 2009-04-03 · ISIS-MTT Test Specification: Introduction Version 1.1 Document History Page 3 of 19 Document History VERSION DATE CHANGES

ISIS-MTT Test Specification Part 3: Message Formats Version 1.1

Test Case Specifications for ISIS-MTT Part 3 Page 47 of 120

4 content.encap-ContentInfo. eContentType P3.T3.#1 id-data { 1 2 840 113549 1 7 1 }, or format identifier

PARAMETER Type of protected data, format identifier if version v1 is used if version v3 is used

5 content.encap-ContentInfo.eContent P3.T3.#2 OCTET STRING contains the data to be protected 6 content.certificates P3.T2.#4 CertificateSet Set of certificates of the testers certification path 7 content.crls P3.T2.#5 Field is absent 8 content.signerInfos.version P3.T4.#1 v1(0) 9 content.signerInfos.sid P3.T4.#2 issuerAndSerialNumber 10 content.signerInfos.digestAlgorithm P3.T4.#3

P6.T1 Any hash algorithm, which MUST or SHOULD be supported for processing according to P6.T1.

PARAMETER Type of hash algorithm, which SHOULD be contained in content.digestAlgorithms

11 content.signerInfos.signedAttrs P3.T4.#4 SignedAttributes 12 content.signerInfos.signedAttrs.attrType P3.T5.#1 content-type { 1 2 840 113549 1 9 3 } 13 content.signerInfos.signedAttrs.attrValues P3.T5.#1 id-data { 1 2 840 113549 1 7 1 }, or

format identifier Value MUST equal the value in content.encap-ContentInfo. eContentType

14 content.signerInfos.signedAttrs.attrType P3.T5.#2 message-digest { 1 2 840 113549 1 9 4 } 15 content.signerInfos.signedAttrs.attrValues P3.T5.#2 OCTET STRING Contains the hash value of data to be signed in

content.encapContentInfo. eContent 16 content.signerInfos.signedAttrs.attrType P3.T5.#3 signing-time { 1 2 840 113549 1 9 5 } 17 content.signerInfos.signedAttrs.attrValues P3.T5.#3 UTCTime (MUST be accepted for dates

until 2049) or GeneralizedTime (Must be accepted for dates from 2050 on and SHOULD be accepted before)

18 content.signerInfos.signedAttrs.attrType P3.T5.#4 otherSignCert { 1 2 840 113549 1 9 16 2 19 }

19 content.signerInfos.signedAttrs.attrValues P3.T5.#4 Sequence of certificate identifiers 20 content.signerInfos.signedAttrs.attrType P3.T5.#8 signingCertificate { 1 2 840 113549 1 9 16

2 12 }

21 content.signerInfos.signedAttrs.attrValues P3.T5.#8 Sequence of certificate identifiers

Page 119: ISIS-MTT Test Specification - TeleTrusT · 2009-04-03 · ISIS-MTT Test Specification: Introduction Version 1.1 Document History Page 3 of 19 Document History VERSION DATE CHANGES

ISIS-MTT Test Specification Part 3: Message Formats Version 1.1

Test Case Specifications for ISIS-MTT Part 3 Page 48 of 120

22 content.signerInfos. signatureAlgorithm

P3.T4.#5 P6.T2

Any signature algorithm, which MUST or SHOULD be supported for processing according to P6.T2.

Fail if any of the mandatory algorithms is not supported. Pass but give a warning, if any of the optional algorithms is not supported.

23 content.signerInfos.signature P3.T4.#6 OCTET STRING Contains the digital signature of the tester over the data to be signed and the signed attributes

24 content.signerInfos.unsignedAttrs P3.T4.#7 SET OF Attribute 25 content.signerInfos.unsignedAttrs.attrType P3.T5.#5 certificateRefs { 1 2 840 113549 1 9 16 2

21 }

26 content.signerInfos.unsignedAttrs.attrValues P3.T5.#5 References to full set of CA certificates 27 content.signerInfos.unsignedAttrs.attrType P3.T5.#6 revocationRefs { 1 2 840 113549 1 9 16 2

22 }

28 content.signerInfos.unsignedAttrs.attrValues P3.T5.#6 References to full set of CRL and OCSP responses

29 content.signerInfos.unsignedAttrs.attrType P3.T5.#7 escTimeStamp { 1 2 840 113549 1 9 16 2 25 }

30 content.signerInfos.unsignedAttrs.attrValues P3.T5.#7 timestamp

Page 120: ISIS-MTT Test Specification - TeleTrusT · 2009-04-03 · ISIS-MTT Test Specification: Introduction Version 1.1 Document History Page 3 of 19 Document History VERSION DATE CHANGES

ISIS-MTT Test Specification Part 3: Message Formats Version 1.1

Test Case Specifications for ISIS-MTT Part 3 Page 49 of 120

Table 27: Test Case TCPSMSD-1.1: Processing of an S/MIME message with signed data that contains a particular invalid field

TEST CASE NAME TCPSMSD-1.1

TEST PURPOSE Ensure that the CUT is able to process an S/MIME message with signed data that contains a particular invalid field generated by the tester

TEST OBJECT (CUT) Product, software module, cryptographic token, etc. processing S/MIME message with signed-data object with particular invalid field

PARAMETERS E-Mail address of CUT to which the tester shall send the S/MIME message

INSTRUCTIONS The test shall send an S/MIME message with signed-data to the CUT that contains a particular invalid field. The CUT is to be triggered to receive and to process the S/MIME message. The behaviour of the CUT shall be observed at its local interface regarding the following questions: • Is the receipt of signed data indicated to the user? • Is the content disposition information passed to the user? • Has the user a choice to accept or to reject a proposed file name? • Can the signed data indicated to the user or stored in a file with an accepted file name? • Can the signed data be verified? • Is the result of the verification indicated to the user?

TEST

STEP FIELD OF DATA OBJECT ISIS-MTT

PART.SECTION CONDITIONS, CONSTRAINTS

EVALUATION OF THE TEST STEP, INSTRUCTION FOR TEST OPERATOR

Test event to be controlled (i.e. to be generated and sent) from the tester to the CUT: S/MIME message with invalid CMS signed data object 1 Content-Type P3.S2.1.2 application/pkcs7-mime;

smime-type=signed-data; name=*.p7m application/x-pkcs7-mime instead of application/pkcs7-mime SHOULD be supported

PARAMETER name=smime.p7m (source is S/MIME) name=<filename>.p7m (source is file)

2 Content-Transfer-Encoding

P3.S2.2 PARAMETER Transfer encoding variant, e.g. base64

3 Content-Disposition P3.S2.2 attachment; filename =*.p7m PARAMETER With the same value as in Content-Type

4 MIME entity with invalid signed-data CMS object

P3.S2.1.2 CONTINUE with contents of the signed-data CMS object in test cases TCPSD-1.1, TCPSD-1.2, TCPSD-1.3, TCPSD-1.4, TCPSD-1.5, TCPSD-1.6, TCPSD-1.7, TCPSD-1.8, TCPSD-1.9, TCPSD-1.10, TCPSD-1.11, TCPSD-1.12, TCPSD-1.13, TCPSD-1.14, TCPSD-1.15, and TCPSD-1.16

Page 121: ISIS-MTT Test Specification - TeleTrusT · 2009-04-03 · ISIS-MTT Test Specification: Introduction Version 1.1 Document History Page 3 of 19 Document History VERSION DATE CHANGES

ISIS-MTT Test Specification Part 3: Message Formats Version 1.1

Test Case Specifications for ISIS-MTT Part 3 Page 50 of 120

Table 28: Test Case TCPSD-1.1: Processing of an invalid CMS object that contains an unknown content type

TEST CASE NAME TCPSD-1.1

TEST PURPOSE Ensure that the CUT is able to process an invalid CMS object generated by the tester that contains an unknown content type

TEST OBJECT (CUT) Product, software module, cryptographic token, etc. processing CMS object with signed-data object with unknown content type

PARAMETERS

INSTRUCTIONS This test case is a continuation of the test case TCPSMSD-1.1. The CUT is to be triggered to process the CMS signed-data object. The behaviour of the CUT shall be observed at its local interface regarding the following questions: • Is the receipt of signed data indicated to the user? • Is the content disposition information passed to the user? • Has the user a choice to accept or to reject a proposed file name? • Can the signed data indicated to the user or stored in a file with an accepted file name? • Can the signed data be verified? • Is the result of the verification indicated to the user?

TEST

STEP FIELD OF DATA OBJECT ISIS-MTT

PART.TABLE.ENTRY# CONDITIONS, CONSTRAINTS

EVALUATION OF THE TEST STEP, INSTRUCTION FOR

TEST OPERATOR

Test event to be controlled (i.e. to be generated and sent) from the tester to the CUT: invalid CMS signed data object 1 contentType P3.T1.#1 { 1 2 840 113549 1 7 9 } MODIFICATION of TCPSD-1

contentType different from signed-data

Page 122: ISIS-MTT Test Specification - TeleTrusT · 2009-04-03 · ISIS-MTT Test Specification: Introduction Version 1.1 Document History Page 3 of 19 Document History VERSION DATE CHANGES

ISIS-MTT Test Specification Part 3: Message Formats Version 1.1

Test Case Specifications for ISIS-MTT Part 3 Page 51 of 120

Table 29: Test Case TCPSD-1.2: Processing of an invalid signed-data CMS object that contains an unknown version

TEST CASE NAME TCPSD-1.2

TEST PURPOSE Ensure that the CUT is able to process an invalid signed-data CMS object generated by the tester that contains an unknown version

TEST OBJECT (CUT) Product, software module, cryptographic token, etc. processing CMS object with signed-data object with unknown version

PARAMETERS

INSTRUCTIONS This test case is a continuation of the test case TCPSMSD-1.1. The CUT is to be triggered to process the CMS signed-data object. The behaviour of the CUT shall be observed at its local interface regarding the following questions: • Is the receipt of signed data indicated to the user? • Is the content disposition information passed to the user? • Has the user a choice to accept or to reject a proposed file name? • Can the signed data indicated to the user or stored in a file with an accepted file name? • Can the signed data be verified? • Is the result of the verification indicated to the user?

TEST

STEP FIELD OF DATA OBJECT ISIS-MTT

PART.TABLE.ENTRY# CONDITIONS, CONSTRAINTS

EVALUATION OF THE TEST STEP, INSTRUCTION

FOR TEST OPERATOR

Test event to be controlled (i.e. to be generated and sent) from the tester to the CUT: invalid CMS signed data object 1 content.version P3.T2.#1 v9(8) MODIFICATION of TCPSD-1

content.version different from v1(0), or v3(2)

Page 123: ISIS-MTT Test Specification - TeleTrusT · 2009-04-03 · ISIS-MTT Test Specification: Introduction Version 1.1 Document History Page 3 of 19 Document History VERSION DATE CHANGES

ISIS-MTT Test Specification Part 3: Message Formats Version 1.1

Test Case Specifications for ISIS-MTT Part 3 Page 52 of 120

Table 30: Test Case TCPSD-1.3: Processing of an invalid signed-data CMS object that contains an unknown digest algorithm identifier

TEST CASE NAME TCPSD-1.3

TEST PURPOSE Ensure that the CUT is able to process an invalid signed-data CMS object generated by the tester that contains an unknown digest algorithm identifier

TEST OBJECT (CUT) Product, software module, cryptographic token, etc. processing CMS object with signed-data object with unknown digest algorithm identifier

PARAMETERS

INSTRUCTIONS This test case is a continuation of the test case TCPSMSD-1.1. The CUT is to be triggered to process the CMS signed-data object. The behaviour of the CUT shall be observed at its local interface regarding the following questions: • Is the receipt of signed data indicated to the user? • Is the content disposition information passed to the user? • Has the user a choice to accept or to reject a proposed file name? • Can the signed data indicated to the user or stored in a file with an accepted file name? • Can the signed data be verified? • Is the result of the verification indicated to the user?

TEST

STEP FIELD OF DATA

OBJECT ISIS-MTT PART.SECTION AND PART.TABLE.ENTRY#

CONDITIONS, CONSTRAINTS

EVALUATION OF THE TEST STEP, INSTRUCTION

FOR TEST OPERATOR

Test event to be controlled (i.e. to be generated and sent) by the tester: Generation and Sending of PKCS#7 certification response message to CUT 1 content.digest-

Algorithms P3.T2.2 P6.S2.1

{ 1 3 14 3 2 99 } MODIFICATION of TCPSD-1

unknown digest algorithm identifier

Page 124: ISIS-MTT Test Specification - TeleTrusT · 2009-04-03 · ISIS-MTT Test Specification: Introduction Version 1.1 Document History Page 3 of 19 Document History VERSION DATE CHANGES

ISIS-MTT Test Specification Part 3: Message Formats Version 1.1

Test Case Specifications for ISIS-MTT Part 3 Page 53 of 120

Table 31: Test Case TCPSD-1.4: Processing of an invalid signed-data CMS object that contains an unknown encapsulated content type

TEST CASE NAME TCPSD-1.4

TEST PURPOSE Ensure that the CUT is able to process an invalid signed-data CMS object generated by the tester that contains an unknown encapsulated content type

TEST OBJECT (CUT) Product, software module, cryptographic token, etc. processing CMS object with signed-data object with unknown encapsulated content type

PARAMETERS

INSTRUCTIONS This test case is a continuation of the test case TCPSMSD-1.1. The CUT is to be triggered to process the CMS signed-data object. The behaviour of the CUT shall be observed at its local interface regarding the following questions: • Is the receipt of signed data indicated to the user? • Is the content disposition information passed to the user? • Has the user a choice to accept or to reject a proposed file name? • Can the signed data indicated to the user or stored in a file with an accepted file name? • Can the signed data be verified? • Is the result of the verification indicated to the user?

TEST

STEP FIELD OF DATA

OBJECT ISIS-MTT PART.TABLE.ENTRY#

CONDITIONS, CONSTRAINTS

EVALUATION OF THE TEST STEP, INSTRUCTION

FOR TEST OPERATOR

Test event to be controlled (i.e. to be generated and sent) from the tester to the CUT: invalid CMS signed data object 1 content.encap-

ContentInfo. eContentType

P3.T3.#1 { 1 2 840 113549 1 7 99 } MODIFICATION of TCPSMSD-1.1 eContentType different from id-data { 1 2 840 113549 1 7 1 }, or format identifier

Page 125: ISIS-MTT Test Specification - TeleTrusT · 2009-04-03 · ISIS-MTT Test Specification: Introduction Version 1.1 Document History Page 3 of 19 Document History VERSION DATE CHANGES

ISIS-MTT Test Specification Part 3: Message Formats Version 1.1

Test Case Specifications for ISIS-MTT Part 3 Page 54 of 120

Table 32: Test Case TCPSD-1.5: Processing of an invalid signed-data CMS object that contains a modified encapsulated content

TEST CASE NAME TCPSD-1.5

TEST PURPOSE Ensure that the CUT is able to process an invalid signed-data CMS object generated by the tester that contains a modified encapsulated content

TEST OBJECT (CUT) Product, software module, cryptographic token, etc. processing CMS object with signed-data object with modified encapsulated content

PARAMETERS

INSTRUCTIONS This test case is a continuation of the test case TCPSMSD-1.1. The CUT is to be triggered to process the CMS signed-data object. The behaviour of the CUT shall be observed at its local interface regarding the following questions: • Is the receipt of signed data indicated to the user? • Is the content disposition information passed to the user? • Has the user a choice to accept or to reject a proposed file name? • Can the signed data indicated to the user or stored in a file with an accepted file name? • Can the signed data be verified? • Is the result of the verification indicated to the user?

TEST

STEP FIELD OF DATA OBJECT ISIS-MTT

PART.TABLE.ENTRY# CONDITIONS, CONSTRAINTS

EVALUATION OF THE TEST STEP, INSTRUCTION

FOR TEST OPERATOR

Test event to be controlled (i.e. to be generated and sent) from the tester to the CUT: invalid CMS signed data object 1 content.encap-

ContentInfo.eContent P3.T4.#2 OCTET STRING MODIFICATION of TCPSMSD-1.1

EContent replaced with invalid value of encapsulated content

Page 126: ISIS-MTT Test Specification - TeleTrusT · 2009-04-03 · ISIS-MTT Test Specification: Introduction Version 1.1 Document History Page 3 of 19 Document History VERSION DATE CHANGES

ISIS-MTT Test Specification Part 3: Message Formats Version 1.1

Test Case Specifications for ISIS-MTT Part 3 Page 55 of 120

Table 33: Test Case TCPSD-1.6: Processing of an invalid signed-data CMS object with incomplete set of certificates

TEST CASE NAME TCPSD-1.6

TEST PURPOSE Ensure that the CUT is able to process an invalid signed-data CMS object generated by the tester that does not contain the set of certificates of the testers certification path

TEST OBJECT (CUT) Product, software module, cryptographic token, etc. processing CMS object with signed-data object with incomplete set of certificates

PARAMETERS

INSTRUCTIONS This test case is a continuation of the test case TCPSMSD-1.1. The CUT is to be triggered to process the CMS signed-data object. The behaviour of the CUT shall be observed at its local interface regarding the following questions: • Is the receipt of signed data indicated to the user? • Is the content disposition information passed to the user? • Has the user a choice to accept or to reject a proposed file name? • Can the signed data indicated to the user or stored in a file with an accepted file name? • Can the signed data be verified? • Is the result of the verification indicated to the user?

TEST

STEP FIELD OF DATA OBJECT ISIS-MTT

PART.TABLE.ENTRY# CONDITIONS, CONSTRAINTS

EVALUATION OF THE TEST STEP, INSTRUCTION

FOR TEST OPERATOR

Test event to be controlled (i.e. to be generated and sent) from the tester to the CUT: invalid CMS signed data object 1 content.certificates P3.T2.#4 SET OF { } MODIFICATION of TCPSD-1

certificates with empty SET OF

Page 127: ISIS-MTT Test Specification - TeleTrusT · 2009-04-03 · ISIS-MTT Test Specification: Introduction Version 1.1 Document History Page 3 of 19 Document History VERSION DATE CHANGES

ISIS-MTT Test Specification Part 3: Message Formats Version 1.1

Test Case Specifications for ISIS-MTT Part 3 Page 56 of 120

Table 34: Test Case TCPSD-1.7: Processing of an invalid signed-data CMS object that does not contain signer info

TEST CASE NAME TCPSD-1.7

TEST PURPOSE Ensure that the CUT is able to process an invalid signed-data CMS object generated by the tester that does not contain signer info

TEST OBJECT (CUT) Product, software module, cryptographic token, etc. processing CMS object with signed-data object without signer info

PARAMETERS

INSTRUCTIONS This test case is a continuation of the test case TCPSMSD-1.1. The CUT is to be triggered to process the CMS signed-data object. The behaviour of the CUT shall be observed at its local interface regarding the following questions: • Is the receipt of signed data indicated to the user? • Is the content disposition information passed to the user? • Has the user a choice to accept or to reject a proposed file name? • Can the signed data indicated to the user or stored in a file with an accepted file name? • Can the signed data be verified? • Is the result of the verification indicated to the user?

TEST

STEP FIELD OF DATA OBJECT ISIS-MTT

PART.TABLE.ENTRY# CONDITIONS, CONSTRAINTS

EVALUATION OF THE TEST STEP, INSTRUCTION

FOR TEST OPERATOR

Test event to be controlled (i.e. to be generated and sent) from the tester to the CUT: invalid CMS signed data object 1 content.signerInfos P3.T4.#1 SET OF { }) MODIFICATION of TCPSD-1

signerInfos with empty SET OF

Page 128: ISIS-MTT Test Specification - TeleTrusT · 2009-04-03 · ISIS-MTT Test Specification: Introduction Version 1.1 Document History Page 3 of 19 Document History VERSION DATE CHANGES

ISIS-MTT Test Specification Part 3: Message Formats Version 1.1

Test Case Specifications for ISIS-MTT Part 3 Page 57 of 120

Table 35: Test Case TCPSD-1.8: Processing of an invalid signed-data CMS object that contains an invalid signer info version

TEST CASE NAME TCPSD-1.8

TEST PURPOSE Ensure that the CUT is able to process an invalid signed-data CMS object generated by the tester that contains an invalid signer info version

TEST OBJECT (CUT) Product, software module, cryptographic token, etc. processing CMS object with signed-data object with invalid signer info version

PARAMETERS

INSTRUCTIONS This test case is a continuation of the test case TCPSMSD-1.1. The CUT is to be triggered to process the CMS signed-data object. The behaviour of the CUT shall be observed at its local interface regarding the following questions: • Is the receipt of signed data indicated to the user? • Is the content disposition information passed to the user? • Has the user a choice to accept or to reject a proposed file name? • Can the signed data indicated to the user or stored in a file with an accepted file name? • Can the signed data be verified? • Is the result of the verification indicated to the user?

TEST

STEP FIELD OF DATA OBJECT ISIS-MTT

PART.TABLE.ENTRY# CONDITIONS, CONSTRAINTS

EVALUATION OF THE TEST STEP, INSTRUCTION

FOR TEST OPERATOR

Test event to be controlled (i.e. to be generated and sent) from the tester to the CUT: invalid CMS signed data object 1 content.signerInfos.

version P3.T4.#1 v4(3) MODIFICATION of TCPSD-1

version different from v1(0)

Page 129: ISIS-MTT Test Specification - TeleTrusT · 2009-04-03 · ISIS-MTT Test Specification: Introduction Version 1.1 Document History Page 3 of 19 Document History VERSION DATE CHANGES

ISIS-MTT Test Specification Part 3: Message Formats Version 1.1

Test Case Specifications for ISIS-MTT Part 3 Page 58 of 120

Table 36: Test Case TCPSD-1.9: Processing of an invalid signed-data CMS object with invalid SignerIdentifier choice tag

TEST CASE NAME TCPSD-1.9

TEST PURPOSE Ensure that the CUT is able to process an invalid signed-data CMS object generated by the tester with invalid SignerIdentifier choice tag

TEST OBJECT (CUT) Product, software module, cryptographic token, etc. processing CMS object with signed-data object with invalid SignerIdentifier choice tag

PARAMETERS

INSTRUCTIONS This test case is a continuation of the test case TCPSMSD-1.1. The CUT is to be triggered to process the CMS signed-data object. The behaviour of the CUT shall be observed at its local interface regarding the following questions: • Is the receipt of signed data indicated to the user? • Is the content disposition information passed to the user? • Has the user a choice to accept or to reject a proposed file name? • Can the signed data indicated to the user or stored in a file with an accepted file name? • Can the signed data be verified? • Is the result of the verification indicated to the user?

TEST

STEP FIELD OF DATA OBJECT ISIS-MTT

PART.TABLE.ENTRY# CONDITIONS, CONSTRAINTS

EVALUATION OF THE TEST STEP, INSTRUCTION

FOR TEST OPERATOR

Test event to be controlled (i.e. to be generated and sent) from the tester to the CUT: invalid CMS signed data object 1 content.signerInfos.sid P3.T4.#2 [1] MODIFICATION of TCPSD-1

content.signerInfos.sid replaced with unknown SignerIdentifier choice tag [1]

Page 130: ISIS-MTT Test Specification - TeleTrusT · 2009-04-03 · ISIS-MTT Test Specification: Introduction Version 1.1 Document History Page 3 of 19 Document History VERSION DATE CHANGES

ISIS-MTT Test Specification Part 3: Message Formats Version 1.1

Test Case Specifications for ISIS-MTT Part 3 Page 59 of 120

Table 37: Test Case TCPSD-1.10: Processing of an invalid signed-data CMS object with invalid identification of the testers signature certificate

TEST CASE NAME TCPSD-1.10

TEST PURPOSE Ensure that the CUT is able to process an invalid signed-data CMS object generated by the tester with invalid identification of the testers signature certificate

TEST OBJECT (CUT) Product, software module, cryptographic token, etc. processing CMS object with signed-data object with invalid identification of the signers signature certificate

PARAMETERS

INSTRUCTIONS This test case is a continuation of the test case TCPSMSD-1.1. The CUT is to be triggered to process the CMS signed-data object. The behaviour of the CUT shall be observed at its local interface regarding the following questions: • Is the receipt of signed data indicated to the user? • Is the content disposition information passed to the user? • Has the user a choice to accept or to reject a proposed file name? • Can the signed data indicated to the user or stored in a file with an accepted file name? • Can the signed data be verified? • Is the result of the verification indicated to the user?

TEST

STEP FIELD OF DATA OBJECT ISIS-MTT

PART.TABLE.ENTRY# CONDITIONS, CONSTRAINTS

EVALUATION OF THE TEST STEP, INSTRUCTION

FOR TEST OPERATOR

Test event to be controlled (i.e. to be generated and sent) from the tester to the CUT: invalid CMS signed data object 1 content.signerInfos.

sid P3.T4.#2 issuerAndSerialNumber MODIFICATION of TCPSD-1

content.signerInfos.sid rid value does not identify the testers signature certificate

Page 131: ISIS-MTT Test Specification - TeleTrusT · 2009-04-03 · ISIS-MTT Test Specification: Introduction Version 1.1 Document History Page 3 of 19 Document History VERSION DATE CHANGES

ISIS-MTT Test Specification Part 3: Message Formats Version 1.1

Test Case Specifications for ISIS-MTT Part 3 Page 60 of 120

Table 38: Test Case TCPSD-1.11: Processing of an invalid signed-data CMS object with unknown digest algorithm identifier

TEST CASE NAME TCPSD-1.11

TEST PURPOSE Ensure that the CUT is able to process an invalid signed-data CMS object generated by the tester with unknown digest algorithm identifier

TEST OBJECT (CUT) Product, software module, cryptographic token, etc. processing CMS object with signed-data object with unknown digest algorithm identifier

PARAMETERS

INSTRUCTIONS This test case is a continuation of the test case TCPSMSD-1.1. The CUT is to be triggered to process the CMS signed-data object. The behaviour of the CUT shall be observed at its local interface regarding the following questions: • Is the receipt of signed data indicated to the user? • Is the content disposition information passed to the user? • Has the user a choice to accept or to reject a proposed file name? • Can the signed data indicated to the user or stored in a file with an accepted file name? • Can the signed data be verified? • Is the result of the verification indicated to the user?

TEST

STEP FIELD OF DATA OBJECT ISIS-MTT

PART.TABLE.ENTRY# CONDITIONS, CONSTRAINTS

EVALUATION OF THE TEST STEP, INSTRUCTION

FOR TEST OPERATOR

Test event to be controlled (i.e. to be generated and sent) from the tester to the CUT: invalid CMS signed data object 1 content.signerInfos.

digestAlgorithm P3.T4.#3 { 1 3 14 3 2 99 } MODIFICATION of TCPSD-1

Unknown digest algorithm identifier

Page 132: ISIS-MTT Test Specification - TeleTrusT · 2009-04-03 · ISIS-MTT Test Specification: Introduction Version 1.1 Document History Page 3 of 19 Document History VERSION DATE CHANGES

ISIS-MTT Test Specification Part 3: Message Formats Version 1.1

Test Case Specifications for ISIS-MTT Part 3 Page 61 of 120

Table 39: Test Case TCPSD-1.12: Processing of an invalid signed-data CMS object with an empty signed attributes set

TEST CASE NAME TCPSD-1.12

TEST PURPOSE Ensure that the CUT is able to process an invalid signed-data CMS object generated by the tester which contains an empty signed attributes set

TEST OBJECT (CUT) Product, software module, cryptographic token, etc. processing CMS object with signed-data object with empty signed attributes set

PARAMETERS

INSTRUCTIONS This test case is a continuation of the test case TCPSMSD-1.1. The CUT is to be triggered to process the CMS signed-data object. The behaviour of the CUT shall be observed at its local interface regarding the following questions: • Is the receipt of signed data indicated to the user? • Is the content disposition information passed to the user? • Has the user a choice to accept or to reject a proposed file name? • Can the signed data indicated to the user or stored in a file with an accepted file name? • Can the signed data be verified? • Is the result of the verification indicated to the user?

TEST

STEP FIELD OF DATA OBJECT ISIS-MTT

PART.TABLE.ENTRY# CONDITIONS, CONSTRAINTS

EVALUATION OF THE TEST STEP, INSTRUCTION

FOR TEST OPERATOR

Test event to be controlled (i.e. to be generated and sent) from the tester to the CUT: invalid CMS signed data object 1 content.signerInfos.

signedAttrs P3.T4.#4 SET OF { } MODIFICATION of TCPSD-1

SignedAttrs with empty SET OF Attribute

Page 133: ISIS-MTT Test Specification - TeleTrusT · 2009-04-03 · ISIS-MTT Test Specification: Introduction Version 1.1 Document History Page 3 of 19 Document History VERSION DATE CHANGES

ISIS-MTT Test Specification Part 3: Message Formats Version 1.1

Test Case Specifications for ISIS-MTT Part 3 Page 62 of 120

Table 40: Test Case TCPSD-1.13: Processing of an invalid signed-data CMS object with an unknown signed attribute type

TEST CASE NAME TCPSD-1.13

TEST PURPOSE Ensure that the CUT is able to process an invalid signed-data CMS object generated by the tester which contains an unknown signed attribute type

TEST OBJECT (CUT) Product, software module, cryptographic token, etc. processing CMS object with signed-data object with unknown signed attribute type

PARAMETERS

INSTRUCTIONS This test case is a continuation of the test case TCPSMSD-1.1. The CUT is to be triggered to process the CMS signed-data object. The behaviour of the CUT shall be observed at its local interface regarding the following questions: • Is the receipt of signed data indicated to the user? • Is the content disposition information passed to the user? • Has the user a choice to accept or to reject a proposed file name? • Can the signed data indicated to the user or stored in a file with an accepted file name? • Can the signed data be verified? • Is the result of the verification indicated to the user?

TEST

STEP FIELD OF DATA OBJECT ISIS-MTT

PART.TABLE.ENTRY# CONDITIONS, CONSTRAINTS

EVALUATION OF THE TEST STEP, INSTRUCTION

FOR TEST OPERATOR

Test event to be controlled (i.e. to be generated and sent) from the tester to the CUT: invalid CMS signed data object 1 content.signerInfos.

signedAttrs.attrType P3.T5.#1 { 1 2 840 113549 1 9 99 } MODIFICATION of TCPSD-1

attrType different from content-type { 1 2 840 113549 1 9 3 }, message-digest { 1 2 840 113549 1 9 4 }, and signing-time { 1 2 840 113549 1 9 5 }

Page 134: ISIS-MTT Test Specification - TeleTrusT · 2009-04-03 · ISIS-MTT Test Specification: Introduction Version 1.1 Document History Page 3 of 19 Document History VERSION DATE CHANGES

ISIS-MTT Test Specification Part 3: Message Formats Version 1.1

Test Case Specifications for ISIS-MTT Part 3 Page 63 of 120

Table 41: Test Case TCPSD-1.14: Processing of an invalid signed-data CMS object with an invalid value of the signed attribute content-type

TEST CASE NAME TCPSD-1.14

TEST PURPOSE Ensure that the CUT is able to process an invalid signed-data CMS object generated by the tester which contains an invalid value of the signed attribute content-type

TEST OBJECT (CUT) Product, software module, cryptographic token, etc. processing CMS object with signed-data object with invalid value of the signed attribute content-type

PARAMETERS

INSTRUCTIONS This test case is a continuation of the test case TCPSMSD-1.1. The CUT is to be triggered to process the CMS signed-data object. The behaviour of the CUT shall be observed at its local interface regarding the following questions: • Is the receipt of signed data indicated to the user? • Is the content disposition information passed to the user? • Has the user a choice to accept or to reject a proposed file name? • Can the signed data indicated to the user or stored in a file with an accepted file name? • Can the signed data be verified? • Is the result of the verification indicated to the user?

TEST

STEP FIELD OF DATA OBJECT ISIS-MTT

PART.TABLE.ENTRY# CONDITIONS, CONSTRAINTS

EVALUATION OF THE TEST STEP, INSTRUCTION

FOR TEST OPERATOR

Test event to be controlled (i.e. to be generated and sent) from the tester to the CUT: invalid CMS signed data object 1 content.signerInfos.

signedAttrs.attrValues P3.T5.#1 { 1 2 840 113549 1 7 99 } MODIFICATION of TCPSD-1

attrValues different from id-data { 1 2 840 113549 1 7 1 }, or format identifier

Page 135: ISIS-MTT Test Specification - TeleTrusT · 2009-04-03 · ISIS-MTT Test Specification: Introduction Version 1.1 Document History Page 3 of 19 Document History VERSION DATE CHANGES

ISIS-MTT Test Specification Part 3: Message Formats Version 1.1

Test Case Specifications for ISIS-MTT Part 3 Page 64 of 120

Table 42: Test Case TCPSD-1.15: Processing of an invalid signed-data CMS object with an unknown signature algorithm identifier

TEST CASE NAME TCPSD-1.15

TEST PURPOSE Ensure that the CUT is able to process an invalid signed-data CMS object generated by the tester which contains an unknown signature algorithm identifier

TEST OBJECT (CUT) Product, software module, cryptographic token, etc. processing CMS object with signed-data object with unknown signature algorithm identifier

PARAMETERS

INSTRUCTIONS This test case is a continuation of the test case TCPSMSD-1.1. The CUT is to be triggered to process the CMS signed-data object. The behaviour of the CUT shall be observed at its local interface regarding the following questions: • Is the receipt of signed data indicated to the user? • Is the content disposition information passed to the user? • Has the user a choice to accept or to reject a proposed file name? • Can the signed data indicated to the user or stored in a file with an accepted file name? • Can the signed data be verified? • Is the result of the verification indicated to the user?

TEST

STEP FIELD OF DATA OBJECT ISIS-MTT

PART.TABLE.ENTRY# CONDITIONS, CONSTRAINTS

EVALUATION OF THE TEST STEP, INSTRUCTION

FOR TEST OPERATOR

Test event to be controlled (i.e. to be generated and sent) from the tester to the CUT: invalid CMS signed data object 1 content.signerInfos.

signatureAlgorithm P3.T4.#5 { 1 2 840 113549 1 1 66} MODIFICATION of TCPSD-1

unknown signatureAlgorithm

Page 136: ISIS-MTT Test Specification - TeleTrusT · 2009-04-03 · ISIS-MTT Test Specification: Introduction Version 1.1 Document History Page 3 of 19 Document History VERSION DATE CHANGES

ISIS-MTT Test Specification Part 3: Message Formats Version 1.1

Test Case Specifications for ISIS-MTT Part 3 Page 65 of 120

Table 43: Test Case TCPSD-1.16: Processing of an invalid signed-data CMS object with an invalid signature

TEST CASE NAME TCPSD-1.16

TEST PURPOSE Ensure that the CUT is able to process an invalid signed-data CMS object generated by the tester which contains an invalid signature

TEST OBJECT (CUT) Product, software module, cryptographic token, etc. processing CMS object with signed-data object with an invalid signature

PARAMETERS

INSTRUCTIONS This test case is a continuation of the test case TCPSMSD-1.1. The CUT is to be triggered to process the CMS signed-data object. The behaviour of the CUT shall be observed at its local interface regarding the following questions: • Is the receipt of signed data indicated to the user? • Is the content disposition information passed to the user? • Has the user a choice to accept or to reject a proposed file name? • Can the signed data indicated to the user or stored in a file with an accepted file name? • Can the signed data be verified? • Is the result of the verification indicated to the user?

TEST

STEP FIELD OF DATA OBJECT ISIS-MTT

PART.TABLE.ENTRY# CONDITIONS, CONSTRAINTS

EVALUATION OF THE TEST STEP, INSTRUCTION

FOR TEST OPERATOR

Test event to be controlled (i.e. to be generated and sent) from the tester to the CUT: invalid CMS signed data object 1 content.signerInfos.

signature P3.T4.#6 OCTET STRING MODIFICATION of TCPSD-1

signature with invalid value

Page 137: ISIS-MTT Test Specification - TeleTrusT · 2009-04-03 · ISIS-MTT Test Specification: Introduction Version 1.1 Document History Page 3 of 19 Document History VERSION DATE CHANGES

ISIS-MTT Test Specification Part 3: Message Formats Version 1.1

Test Case Specifications for ISIS-MTT Part 3 Page 66 of 120

Table 44: Test Case TCPSMCO-1

TEST CASE NAME TCPSMCO-1

TEST PURPOSE Ensure that the CUT is able to process an S/MIME message for transporting certificates in certification responses generated by the tester

TEST OBJECT (CUT) Product, software module, cryptographic token, etc. processing S/MIME message for transporting certificates in certification responses

PARAMETERS E-Mail address of CUT to which the tester shall send the S/MIME message

INSTRUCTIONS The test shall send an S/MIME message with signed-data to the CUT. The CUT is to be triggered to receive and to process the S/MIME message. The behaviour of the CUT shall be observed at its local interface regarding the following questions: • Is the receipt of signed data indicated to the user? • Is the content disposition information passed to the user? • Has the user a choice to accept or to reject a proposed file name? • Can the signed data indicated to the user or stored in a file with an accepted file name? • Can the signed data be verified? • Is the result of the verification indicated to the user?

TEST

STEP FIELDS OF DATA OBJECT ISIS-MTT

PART.SECTION CONDITIONS / CONSTRAINTS TEST STEP EVALUATION / INSTRUCTIONS FOR

TEST OPERATOR

Test event to be controlled (i.e. to be generated and sent) from the tester to the CUT: S/MIME message for transporting certificates in certification responses 1 Content-Type P3.S2.1.3 application/pkcs7-mime; smime-type=certs-only; name=*.p7c

application/x-pkcs7-mime instead of application/pkcs7-mime SHOULD be supported

PARAMETER File name that contains the certificate

2 Content-Transfer-Encoding

P3.S2.2 PARAMETER Transfer encoding variant, e.g. base64

3 Content-Disposition P3.S2.2 attachment; filename =*.p7c PARAMETER With the same value as in Content-Type

4 MIME entity with signed-data

P3.S2.1.3 signed-data { 1 2 840 113549 1 7 2 } CONTINUE With contents of the signed-data CMS object in test case TCPSD-2

Page 138: ISIS-MTT Test Specification - TeleTrusT · 2009-04-03 · ISIS-MTT Test Specification: Introduction Version 1.1 Document History Page 3 of 19 Document History VERSION DATE CHANGES

ISIS-MTT Test Specification Part 3: Message Formats Version 1.1

Test Case Specifications for ISIS-MTT Part 3 Page 67 of 120

Table 45: Test Case TCPSD-2: Processing of a valid CMS signed-data object with absent eContent field and empty signerInfos field

TEST CASE NAME TCPSD-2

TEST PURPOSE Ensure that the CUT is able to process a valid CMS signed-data object with absent eContent field and empty signerInfos field

TEST OBJECT (CUT) Product, software module, cryptographic token, etc. processing CMS signed-data object with absent eContent field and empty signerInfos field

PARAMETERS

INSTRUCTIONS • This test case is a continuation of test case TCPSMCO-1. The CUT to be triggered to process the CMS signed-data object. The behaviour of the CUT shall be observed at its local interface regarding the following questions:

• Is the receipt of signed data indicated to the user? • Is the content disposition information passed to the user? • Has the user a choice to accept or to reject a proposed file name? • Can the signed data indicated to the user or stored in a file with an accepted file name? • Can the signed data be verified? • Is the result of the verification (which SHOULD be valid signature) indicated to the user?

TEST

STEP

NO.

FIELD OF DATA OBJECT ISIS-MTT PART.SECTION AND PART.TABLE.ENTRY#

CONDITIONS, CONSTRAINTS

EVALUATION OF THE TEST STEP, INSTRUCTION

FOR TEST OPERATOR

Test event to be controlled (i.e. to be generated and sent) from the tester to the CUT: CMS signed data object 1 contentType P3.T1.#1 signed-data { 1 2 840 113549 1 7 2 } 2 content.version P3.T2.#1 v1(0) 3 content.digestAlgorithms P3.T2.#2

P6.T1 Any hash algorithm, which MUST or SHOULD be supported for processing according to P6.T1.

PARAMETER Type of hash algorithm

4 content.encap-ContentInfo.eContentType

P3.T3.#1 id-data { 1 2 840 113549 1 7 1 }

5 content.encap-ContentInfo.eContent

P3.T3.#2 Field is absent

6 content.certificates P3.T2.#4 CertificateSet Set of certificates of the testers certification path, and the certificate issued for the CUT

7 content.crls P3.T2.#5 Field is absent 8 content.signerInfos P3.T2.#6 SET OF SEQUENCE { } Field with empty SET OF SEQUENCE

Page 139: ISIS-MTT Test Specification - TeleTrusT · 2009-04-03 · ISIS-MTT Test Specification: Introduction Version 1.1 Document History Page 3 of 19 Document History VERSION DATE CHANGES

ISIS-MTT Test Specification Part 3: Message Formats Version 1.1

Test Case Specifications for ISIS-MTT Part 3 Page 68 of 120

Table 46: Test Case TCPSMCO-1.1: Processing of an S/MIME message with signed data for transporting certificates in certification responses that contains a particular invalid field

TEST CASE NAME TCPSMCO-1.1

TEST PURPOSE Ensure that the CUT is able to process a valid S/MIME message for transporting certificates in certification responses generated by the tester

TEST OBJECT (CUT) Product, software module, cryptographic token, etc. processing CMS signed-data object with absent eContent field and empty signerInfos field

PARAMETERS E-Mail address of CUT to which the tester shall send the S/MIME message

INSTRUCTIONS Te tester shall send a valid S/MIME message for transporting certificates in certification responses to the CUT. The CUT is to be triggered to receive and to process the S/MIME message. The behaviour of the CUT shall be observed at its local interface regarding the following questions: • Is the receipt of signed data indicated to the user? • Is the content disposition information passed to the user? • Has the user a choice to accept or to reject a proposed file name? • Can the signed data indicated to the user or stored in a file with an accepted file name? • Can the signed data be verified? • Is the result of the verification indicated to the user?

TEST

STEP FIELDS OF DATA OBJECT ISIS-MTT

PART.SECTION CONDITIONS / CONSTRAINTS TEST STEP EVALUATION / INSTRUCTIONS FOR

TEST OPERATOR

Test event to be controlled (i.e. to be generated and sent) from the tester to the CUT: invalid CMS signed data object 1 Content-Type P3.S2.1.3 application/pkcs7-mime; smime-type=certs-only; name=*.p7c

application/x-pkcs7-mime instead of application/pkcs7-mime SHOULD be supported

PARAMETER File name that contains the certificate

2 Content-Transfer-Encoding

P3.S2.2 PARAMETER Transfer encoding variant, e.g. base64

3 Content-Disposition P3.S2.2 attachment; filename =*.p7c PARAMETER With the same value as in Content-Type

Page 140: ISIS-MTT Test Specification - TeleTrusT · 2009-04-03 · ISIS-MTT Test Specification: Introduction Version 1.1 Document History Page 3 of 19 Document History VERSION DATE CHANGES

ISIS-MTT Test Specification Part 3: Message Formats Version 1.1

Test Case Specifications for ISIS-MTT Part 3 Page 69 of 120

4 MIME entity with signed-data

P3.S2.1.3 signed-data { 1 2 840 113549 1 7 2 } CONTINUE With contents of the signed-data CMS object in test cases cases TCPSD-2.1, TCPSD-2.2, TCPSD-2.3, TCPSD-2.4, TCPSD-2.5, TCPSD-2.6, and TCPSD-2.7

Table 47: Test Case TCPSD-2.1: Processing of an invalid CMS object that contains an unknown content type

TEST CASE NAME TCPSD-2.1

TEST PURPOSE Ensure that the CUT is able to process an invalid CMS object generated by the tester that contains an unknown content type

TEST OBJECT (CUT) Product, software module, cryptographic token, etc. processing CMS object with unknown content type

PARAMETERS

INSTRUCTIONS This test case is a continuation of test case TCPSMCO-1.1. The CUT is to be triggered to process the CMS signed-data object. The behaviour of the CUT shall be observed at its local interface regarding the following questions: • Is the receipt of signed data indicated to the user? • Is the content disposition information passed to the user? • Has the user a choice to accept or to reject a proposed file name? • Can the signed data indicated to the user or stored in a file with an accepted file name? • Can the signed data be verified? • Is the result of the verification indicated to the user?

TEST

STEP FIELD OF DATA OBJECT ISIS-MTT

PART.TABLE.ENTRY# CONDITIONS, CONSTRAINTS

EVALUATION OF THE TEST STEP, INSTRUCTION FOR

TEST OPERATOR

Test event to be controlled (i.e. to be generated and sent) from the tester to the CUT: invalid CMS signed data object 1 contentType P3.T1.#1 { 1 2 840 113549 1 7 55 } MODIFICATION of TCPSD-2

contentType different from signed-data

Page 141: ISIS-MTT Test Specification - TeleTrusT · 2009-04-03 · ISIS-MTT Test Specification: Introduction Version 1.1 Document History Page 3 of 19 Document History VERSION DATE CHANGES

ISIS-MTT Test Specification Part 3: Message Formats Version 1.1

Test Case Specifications for ISIS-MTT Part 3 Page 70 of 120

Table 48: Test Case TCPSD-2.2: Processing of an invalid CMS object that does not contain version v1(0)

TEST CASE NAME TCPSD-2.2

TEST PURPOSE Ensure that the CUT is able to process an invalid CMS object generated by the tester that does not contain version v1(0)

TEST OBJECT (CUT) Product, software module, cryptographic token, etc. processing CMS object with invalid CMS version

PARAMETERS

INSTRUCTIONS This test case is a continuation of test case TCPSMCO-1.1. The CUT is to be triggered to process the CMS signed-data object. The behaviour of the CUT shall be observed at its local interface regarding the following questions: • Is the receipt of signed data indicated to the user? • Is the content disposition information passed to the user? • Has the user a choice to accept or to reject a proposed file name? • Can the signed data indicated to the user or stored in a file with an accepted file name? • Can the signed data be verified? • Is the result of the verification indicated to the user?

TEST

STEP

NO.

FIELD OF DATA OBJECT ISIS-MTT PART.TABLE.ENTRY#

CONDITIONS, CONSTRAINTS

EVALUATION OF THE TEST STEP, INSTRUCTION FOR

TEST OPERATOR

Test event to be controlled (i.e. to be generated and sent) from the tester to the CUT: invalid CMS signed data object 1 content.version P3.T2.#1 V2(1) MODIFICATION of TCPSD-2

version different from v1(0)

Page 142: ISIS-MTT Test Specification - TeleTrusT · 2009-04-03 · ISIS-MTT Test Specification: Introduction Version 1.1 Document History Page 3 of 19 Document History VERSION DATE CHANGES

ISIS-MTT Test Specification Part 3: Message Formats Version 1.1

Test Case Specifications for ISIS-MTT Part 3 Page 71 of 120

Table 49: Test Case TCPSD-2.3: Processing of an invalid CMS object that contains an unknown digest algorithm identifier

TEST CASE NAME TCPSD-2.3

TEST PURPOSE Ensure that the CUT is able to process an invalid CMS object generated by the tester that contains an unknown digest algorithm identifier

TEST OBJECT (CUT) Product, software module, cryptographic token, etc. processing CMS object with unknown digest algorithm identifier

PARAMETERS

INSTRUCTIONS This test case is a continuation of test case TCPSMCO-1.1. The CUT is to be triggered to process the CMS signed-data object. The behaviour of the CUT shall be observed at its local interface regarding the following questions: • Is the receipt of signed data indicated to the user? • Is the content disposition information passed to the user? • Has the user a choice to accept or to reject a proposed file name? • Can the signed data indicated to the user or stored in a file with an accepted file name? • Can the signed data be verified? • Is the result of the verification indicated to the user?

TEST

STEP FIELD OF DATA OBJECT ISIS-MTT

PART/SECTION AND PART.TABLE.ENTRY#

CONDITIONS, CONSTRAINTS

EVALUATION OF THE TEST STEP, INSTRUCTION FOR

TEST OPERATOR

Test event to be controlled (i.e. to be generated and sent) from the tester to the CUT: invalid CMS signed data object 1 content.digestAlgorithms P3.T2.#2

P6.S2.1 { 1 3 14 3 2 55 } MODIFICATION of TCPSD-2

Unknown digest algorithm identifier

Page 143: ISIS-MTT Test Specification - TeleTrusT · 2009-04-03 · ISIS-MTT Test Specification: Introduction Version 1.1 Document History Page 3 of 19 Document History VERSION DATE CHANGES

ISIS-MTT Test Specification Part 3: Message Formats Version 1.1

Test Case Specifications for ISIS-MTT Part 3 Page 72 of 120

Table 50: Test Case TCPSD-2.4: Processing of an invalid CMS object that does not contain the id-data content type

TEST CASE NAME TCPSD-2.4

TEST PURPOSE Ensure that the CUT is able to process an invalid CMS object generated by the tester that does not contain the id-data content type

TEST OBJECT (CUT) Product, software module, cryptographic token, etc. processing CMS object without id-data content type

PARAMETERS

INSTRUCTIONS This test case is a continuation of test case TCPSMCO-1.1. The CUT is to be triggered to process the CMS signed-data object. The behaviour of the CUT shall be observed at its local interface regarding the following questions: • Is the receipt of signed data indicated to the user? • Is the content disposition information passed to the user? • Has the user a choice to accept or to reject a proposed file name? • Can the signed data indicated to the user or stored in a file with an accepted file name? • Can the signed data be verified? • Is the result of the verification indicated to the user?

TEST

STEP FIELD OF DATA OBJECT ISIS-MTT

PART.TABLE.ENTRY# CONDITIONS, CONSTRAINTS

EVALUATION OF THE TEST STEP, INSTRUCTION FOR

TEST OPERATOR

Test event to be controlled (i.e. to be generated and sent) from the tester to the CUT: invalid CMS signed data object 1 content.encap-

ContentInfo. eContentType

P3.T3.#1 { 1 2 840 113549 1 7 33 } MODIFICATION of TCPSD-2 eContentType different from id-data { 1 2 840 113549 1 7 1 }

Page 144: ISIS-MTT Test Specification - TeleTrusT · 2009-04-03 · ISIS-MTT Test Specification: Introduction Version 1.1 Document History Page 3 of 19 Document History VERSION DATE CHANGES

ISIS-MTT Test Specification Part 3: Message Formats Version 1.1

Test Case Specifications for ISIS-MTT Part 3 Page 73 of 120

Table 51: Test Case TCPSD-2.5: Processing of an invalid CMS object that that contains an encapsulated content field

TEST CASE NAME TCPSD-2.5

TEST PURPOSE Ensure that the CUT is able to process an invalid CMS object generated by the tester that contains an encapsulated content field

TEST OBJECT (CUT) Product, software module, cryptographic token, etc. processing CMS object with encapsulated content field

PARAMETERS

INSTRUCTIONS This test case is a continuation of test case TCPSMCO-1.1. The CUT is to be triggered to process the CMS signed-data object. The behaviour of the CUT shall be observed at its local interface regarding the following questions: • Is the receipt of signed data indicated to the user? • Is the content disposition information passed to the user? • Has the user a choice to accept or to reject a proposed file name? • Can the signed data indicated to the user or stored in a file with an accepted file name? • Can the signed data be verified? • Is the result of the verification indicated to the user?

TEST

STEP FIELD OF DATA OBJECT ISIS-MTT

PART.TABLE.ENTRY# CONDITIONS, CONSTRAINTS

EVALUATION OF THE TEST STEP, INSTRUCTION FOR

TEST OPERATOR

Test event to be controlled (i.e. to be generated and sent) from the tester to the CUT: invalid CMS signed data object 1 content.encap-

ContentInfo.eContent P3.T3.#2 OCTET STRING MODIFICATION of TCPSD-2

eContent field is present

Page 145: ISIS-MTT Test Specification - TeleTrusT · 2009-04-03 · ISIS-MTT Test Specification: Introduction Version 1.1 Document History Page 3 of 19 Document History VERSION DATE CHANGES

ISIS-MTT Test Specification Part 3: Message Formats Version 1.1

Test Case Specifications for ISIS-MTT Part 3 Page 74 of 120

Table 52: Test Case TCPSD-2.6: Processing of an invalid CMS object that that does not contain the requested certificate

TEST CASE NAME TCPSD-2.6

TEST PURPOSE Ensure that the CUT is able to process an invalid CMS object generated by the tester that does not contain the requested certificate

TEST OBJECT (CUT) Product, software module, cryptographic token, etc. processing CMS object without the requested certificate

PARAMETERS

INSTRUCTIONS This test case is a continuation of test case TCPSMCO-1.1. The CUT is to be triggered to process the CMS signed-data object. The behaviour of the CUT shall be observed at its local interface regarding the following questions: • Is the receipt of signed data indicated to the user? • Is the content disposition information passed to the user? • Has the user a choice to accept or to reject a proposed file name? • Can the signed data indicated to the user or stored in a file with an accepted file name? • Can the signed data be verified? • Is the result of the verification indicated to the user?

TEST

STEP FIELD OF DATA OBJECT ISIS-MTT

PART.TABLE.ENTRY# CONDITIONS, CONSTRAINTS

EVALUATION OF THE TEST STEP, INSTRUCTION FOR

TEST OPERATOR

Test event to be controlled (i.e. to be generated and sent) from the tester to the CUT: invalid CMS signed data object 1 content.certificates P3.T2.#4 CertificateSet MODIFICATION of TCPSD-2

certificates without the requested signer's certificate

Page 146: ISIS-MTT Test Specification - TeleTrusT · 2009-04-03 · ISIS-MTT Test Specification: Introduction Version 1.1 Document History Page 3 of 19 Document History VERSION DATE CHANGES

ISIS-MTT Test Specification Part 3: Message Formats Version 1.1

Test Case Specifications for ISIS-MTT Part 3 Page 75 of 120

Table 53: Test Case TCPSD-2.7: Processing of an invalid CMS object that that contains SignerInfo

TEST CASE NAME TCPSD-2.7

TEST PURPOSE Ensure that the CUT is able to process an invalid CMS object generated by the tester that contains SignerInfo

TEST OBJECT (CUT) Product, software module, cryptographic token, etc. processing CMS object with SignerInfo

PARAMETERS

INSTRUCTIONS This test case is a continuation of test case TCPSMCO-1.1. The CUT is to be triggered to process the CMS signed-data object. The behaviour of the CUT shall be observed at its local interface regarding the following questions: • Is the receipt of signed data indicated to the user? • Is the content disposition information passed to the user? • Has the user a choice to accept or to reject a proposed file name? • Can the signed data indicated to the user or stored in a file with an accepted file name? • Can the signed data be verified? • Is the result of the verification indicated to the user?

TEST

STEP FIELD OF DATA OBJECT ISIS-MTT

PART.TABLE.ENTRY# CONDITIONS, CONSTRAINTS

EVALUATION OF THE TEST STEP, INSTRUCTION FOR

TEST OPERATOR

Test event to be controlled (i.e. to be generated and sent) from the tester to the CUT: invalid CMS signed data object 1 content.signerInfos P3.T2.#6 SET OF SEQUENCE { * } MODIFICATION of TCPSD-2

signerInfos with non-empty SET OF SEQUENCE { }

Page 147: ISIS-MTT Test Specification - TeleTrusT · 2009-04-03 · ISIS-MTT Test Specification: Introduction Version 1.1 Document History Page 3 of 19 Document History VERSION DATE CHANGES

ISIS-MTT Test Specification Part 3: Message Formats Version 1.1

Test Case Specifications for ISIS-MTT Part 3 Page 76 of 120

Table 54: Test Case TCPSMMS-1: Processing of a Multipart/Signed S/MIME message

TEST CASE NAME TCPSMMS-1

TEST PURPOSE Ensure that the CUT is able to process a Multipart/Signed S/MIME message with separated data to be signed and control information in two MIME entities generated by the tester

TEST OBJECT (CUT) Product, software module, cryptographic token, etc. processing Multipart/Signed S/MIME message

PARAMETERS E-Mail address of CUT to which the tester shall send the S/MIME message

INSTRUCTIONS The tester shall. send a valid multipart/signed S/MIME message to the CUT. The CUT is to be triggered to receive and to process the S/MIME message. The behaviour of the CUT shall be observed at its local interface regarding the following questions: • Is the receipt of multipart-signed data indicated to the user? • Are the clear-signing data indicated to the user? • Is the content disposition information passed to the user? • Has the user a choice to accept or to reject a proposed file name? • Can the signed data indicated to the user or stored in a file with an accepted file name? • Can the signed data be verified? • Is the result of the verification indicated to the user?

TEST

STEP FIELD OF DATA OBJECT ISIS-MTT

PART.SECTION CONDITIONS, CONSTRAINTS

EVALUATION OF THE TEST STEP, INSTRUCTION

FOR TEST OPERATOR

Test event to be controlled (i.e. to be generated and sent) from the tester to the CUT: multipart/signed S/MIME message 1 Content-Type P3.S2.1.4 multipart/signed;

protocol=application/pkcs7-signature; micalg=*, boundary=** application/x-pkcs7-signature instead of application/pkcs7-signature SHOULD be supported

PARAMETER micalg value * means set according to the digest algorithm used in the CMS signed data object (sha1, md5 or unknown). Boundary value ** means any allowed value

2 Boundary (Start of MIME entity to be signed)

P3.S2.1.4 --boundary Same value as in Content-Type

3 Content-Type P3.S2.1.4 text/plain Clear-signing message 4 Data to be signed P3.S2.1.4 * Any clear-signing data 5 Boundary (Start of

signature control information)

P3.S2.1.4 --boundary Same value as in Content-Type

Page 148: ISIS-MTT Test Specification - TeleTrusT · 2009-04-03 · ISIS-MTT Test Specification: Introduction Version 1.1 Document History Page 3 of 19 Document History VERSION DATE CHANGES

ISIS-MTT Test Specification Part 3: Message Formats Version 1.1

Test Case Specifications for ISIS-MTT Part 3 Page 77 of 120

6 Content-Type P3.S2.1.4 application/pkcs7-signature; name=smime.p7s application/x-pkcs7-signature instead of application/pkcs7-signature SHOULD be supported

7 Content-Transfer-Encoding

P3.S2.2 PARAMETER Transfer encoding variant, e.g. base64

8 Content-Disposition P3.S2.2 attachment; filename=smime.p7s 9 MIME entity with signed-

data P3.S2.1.4 signed-data { 1 2 840 113549 1 7 2 } CONTINUE

With contents of the signed-data CMS object in test case TCPSD-3

10 Boundary (end of multipart/signed message)

P3.S2.1.4 boundary--

Page 149: ISIS-MTT Test Specification - TeleTrusT · 2009-04-03 · ISIS-MTT Test Specification: Introduction Version 1.1 Document History Page 3 of 19 Document History VERSION DATE CHANGES

ISIS-MTT Test Specification Part 3: Message Formats Version 1.1

Test Case Specifications for ISIS-MTT Part 3 Page 78 of 120

Table 55: Test Case TCPSD-3: Processing of a valid CMS signed-data object with absent eContent field

TEST CASE NAME TCPSD-3

TEST PURPOSE Ensure that the CUT is able to process a valid CMS signed-data object with absent eContent field generated by the tester

TEST OBJECT (CUT) Product, software module, cryptographic token, etc. processing CMS signed-data object with absent eContent field

PARAMETERS

INSTRUCTIONS This test case is a continuation of test case TCPSMMS-1. The CUT is to be triggered to process the CMS signed data object.. The behaviour of the CUT shall be observed at its local interface regarding the following questions: • Is the receipt of signed data indicated to the user? • Is the content disposition information passed to the user? • Has the user a choice to accept or to reject a proposed file name? • Can the signed data indicated to the user or stored in a file with an accepted file name? • Can the signed data be verified? • Is the result of the verification indicated to the user?

TEST

STEP FIELD OF DATA OBJECT ISIS-MTT

PART.SECTION AND PART.TABLE.ENTRY#

CONDITIONS, CONSTRAINTS

EVALUATION OF THE TEST STEP, INSTRUCTION

FOR TEST OPERATOR

Test event to be controlled (i.e. to be generated and sent) from the tester to the CUT: CMS signed data object 1 contentType P3.T1.#1 signed-data { 1 2 840 113549 1 7 2 } 2 content.version P3.T2.#1 v1(0), or v3(2) PARAMETER

Type of protected data v1(0), if non-interpreted binary data are used, or v3(2), if data with assigned format identifiers are used

3 content.digestAlgorithms P3.T2.#2 P6.T1

Any hash algorithm, which MUST or SHOULD be supported for processing according to P6.T1.

PARAMETER Type of hash algorithm

4 content.encap-ContentInfo.eContentType P3.T3.#1 id-data { 1 2 840 113549 1 7 1 }, or format identifier

PARAMETER Type of protected data, format identifier if version v1 is used if version v3 is used

Page 150: ISIS-MTT Test Specification - TeleTrusT · 2009-04-03 · ISIS-MTT Test Specification: Introduction Version 1.1 Document History Page 3 of 19 Document History VERSION DATE CHANGES

ISIS-MTT Test Specification Part 3: Message Formats Version 1.1

Test Case Specifications for ISIS-MTT Part 3 Page 79 of 120

5 content.encap-ContentInfo.eContent P3.T3.#2 Field is absent 6 content.certificates P3.T2.#4 CertificateSet Set of certificates of the testers certification path 7 content.crls P3.T2.#5 Field is absent 8 content.signerInfos.version P3.T4.#1 v1(0) 9 content.signerInfos.sid P3.T4.#2 issuerAndSerialNumber 10 content.signerInfos.digestAlgorithm P3.T4.#3

P6.T1 Any hash algorithm, which MUST or SHOULD be supported for processing according to P6.T1.

PARAMETER Type of hash algorithm, which SHOULD be contained in content.digestAlgorithms

11 content.signerInfos.signedAttrs P3.T4.#4 SignedAttributes PARAMETER Type of protected data, format identifier Field is present, if version v3 is used

12 content.signerInfos.signedAttrs.attrType P3.T5.#1 content-type { 1 2 840 113549 1 9 3 } 13 content.signerInfos.signedAttrs.attrValues P3.T5.#1 format identifier PARAMETER

Type of protected data, format identifier Value MUST equal the value in content.encap-ContentInfo. eContentType

14 content.signerInfos.signedAttrs.attrType P3.T5.#2 message-digest { 1 2 840 113549 1 9 4 } 15 content.signerInfos.signedAttrs.attrValues P3.T5.#2 OCTET STRING Contains the hash value of data to be signed 16 content.signerInfos.signedAttrs.attrType P3.T5.#3 signing-time { 1 2 840 113549 1 9 5 } 17 content.signerInfos.signedAttrs.attrValues P3.T5.#3 UTCTime (MUST be accepted for dates

until 2049) or GeneralizedTime (Must be accepted for dates from 2050 on and SHOULD be accepted before)

18 content.signerInfos.signedAttrs.attrType P3.T5.#4 otherSignCert { 1 2 840 113549 1 9 16 2 19 }

19 content.signerInfos.signedAttrs.attrValues P3.T5.#4 Sequence of certificate identifiers 20 content.signerInfos.signedAttrs.attrType P3.T5.#8 signingCertificate { 1 2 840 113549 1 9

16 2 12 }

21 content.signerInfos.signedAttrs.attrValues P3.T5.#8 Sequence of certificate identifiers 22 content.signerInfos.

signatureAlgorithm P3.T4.#5 P6.T2

Any signature algorithm, which MUST or SHOULD be supported for processing according to P6.T2.

Fail if any of the mandatory algorithms is not supported. Pass but give a warning, if any of the optional algorithms is not supported.

Page 151: ISIS-MTT Test Specification - TeleTrusT · 2009-04-03 · ISIS-MTT Test Specification: Introduction Version 1.1 Document History Page 3 of 19 Document History VERSION DATE CHANGES

ISIS-MTT Test Specification Part 3: Message Formats Version 1.1

Test Case Specifications for ISIS-MTT Part 3 Page 80 of 120

23 content.signerInfos.signature P3.T4.#6 OCTET STRING Contains the digital signature of the tester over the data to be signed and the signed attributes

24 content.signerInfos.unsignedAttrs P3.T4.#7 SET OF Attribute 25 content.signerInfos.unsignedAttrs.attrType P3.T5.#5 certificateRefs { 1 2 840 113549 1 9 16 2

21 }

26 content.signerInfos.unsignedAttrs.attrValues P3.T5.#5 References to full set of CA certificates 27 content.signerInfos.unsignedAttrs.attrType P3.T5.#6 revocationRefs { 1 2 840 113549 1 9 16 2

22 }

28 content.signerInfos.unsignedAttrs.attrValues P3.T5.#6 References to full set of CRL and OCSP responses

29 content.signerInfos.unsignedAttrs.attrType P3.T5.#7 escTimeStamp { 1 2 840 113549 1 9 16 2 25 }

30 content.signerInfos.unsignedAttrs.attrValues P3.T5.#7 timestamp

Page 152: ISIS-MTT Test Specification - TeleTrusT · 2009-04-03 · ISIS-MTT Test Specification: Introduction Version 1.1 Document History Page 3 of 19 Document History VERSION DATE CHANGES

ISIS-MTT Test Specification Part 3: Message Formats Version 1.1

Test Case Specifications for ISIS-MTT Part 3 Page 81 of 120

Table 56: Test Case TCPSMMS-1.1: Processing of a Multipart/Signed S/MIME message that contains a particular invalid field

TEST CASE NAME TCPSMMS-1.1

TEST PURPOSE Ensure that the CUT is able to process a Multipart/Signed S/MIME message with separated data to be signed and control information in two MIME entities that contains a particular invalid field generated by the tester

TEST OBJECT (CUT) Product, software module, cryptographic token, etc. processing Multipart/Signed S/MIME message with particular invalid field

PARAMETERS E-Mail address of CUT to which the tester shall send the S/MIME message

INSTRUCTIONS The tester shall send a multipart/signed S/MIME message to the CUT that contains a particular invalid field. The CUT is to be triggered to receive and to process the S/MIME message. The behaviour of the CUT shall be observed at its local interface regarding the following questions: • Is the receipt of multipart-signed data indicated to the user? • Are the clear-signing data indicated to the user? • Is the result of the verification indicated to the user?

TEST

STEP FIELD OF DATA OBJECT ISIS-MTT

PART.SECTION

CONDITIONS, CONSTRAINTS

EVALUATION OF THE TEST STEP, INSTRUCTION FOR TEST

OPERATOR

Test event to be controlled (i.e. to be generated and sent) from the tester to the CUT: multipart/signed S/MIME message with invalid CMS data object 1 Content-Type P3.S2.1.4 multipart/signed;

protocol=application/pkcs7-signature; micalg=*, boundary=** application/x-pkcs7-signature instead of application/pkcs7-signature SHOULD be supported

PARAMETER micalg value * means set according to the digest algorithm used in the CMS signed data object (sha1, md5 or unknown). Boundary value ** means any allowed value

2 Boundary (Start of MIME entity to be signed)

P3.S2.1.4 --boundary Same value as in Content-Type

3 Content-Type P3.S2.1.4 text/plain Clear-signing message 4 Data to be signed P3.S2.1.4 * Any clear-signing data 5 Boundary (Start of

signature control information)

P3.S2.1.4 --boundary Same value as in Content-Type

Page 153: ISIS-MTT Test Specification - TeleTrusT · 2009-04-03 · ISIS-MTT Test Specification: Introduction Version 1.1 Document History Page 3 of 19 Document History VERSION DATE CHANGES

ISIS-MTT Test Specification Part 3: Message Formats Version 1.1

Test Case Specifications for ISIS-MTT Part 3 Page 82 of 120

6 Content-Type P3.S2.1.4 application/pkcs7-signature; name=smime.p7s

application/x-pkcs7-signature instead of application/pkcs7-signature SHOULD be supported

7 Content-Transfer-Encoding

P3.S2.2 PARAMETER Transfer encoding variant, e.g. base64

8 Content-Disposition P3.S2.2 attachment; filename=smime.p7s 9 MIME entity with invalid

signed-data CMS object P3.S2.1.4 signed-data { 1 2 840 113549 1 7 2 } CONTINUE with contents of the signed-data CMS object in test cases

TCPSD-3.1, TCPSD-3.2, TCPSD-3.3, TCPSD-3.4, TCPSD-3.5, TCPSD-3.6, TCPSD-3.7, TCPSD-3.8, TCPSD-3.9, TCPSD-3.10, TCPSD-3.11, TCPSD-3.12, TCPSD-3.13, TCPSD-3.14, TCPSD-3.15, TCPSD-3.16, TCPSD-3.17, TCPSD-3.18, and TCPSD-3.19

10 Boundary (end of multipart/signed message)

P3.S2.1.4 boundary--

Page 154: ISIS-MTT Test Specification - TeleTrusT · 2009-04-03 · ISIS-MTT Test Specification: Introduction Version 1.1 Document History Page 3 of 19 Document History VERSION DATE CHANGES

ISIS-MTT Test Specification Part 3: Message Formats Version 1.1

Test Case Specifications for ISIS-MTT Part 3 Page 83 of 120

Table 57: Test Case TCPSD-3.1: Processing of an invalid CMS object that contains an unknown content type

TEST CASE NAME TCPSD-3.1

TEST PURPOSE Ensure that the CUT is able to process an invalid CMS object generated by the tester that contains an unknown content type

TEST OBJECT (CUT) Product, software module, cryptographic token, etc. processing CMS object with unknown content type

PARAMETERS E-Mail address of CUT to which the tester shall send the S/MIME message

INSTRUCTIONS This test case is a continuation of the test case TCPSMMS-1.1. The CUT is to be triggered process the CMS OBJECT. The behaviour of the CUT shall be observed at its local interface regarding the following questions: • Is the receipt of multipart-signed data indicated to the user? • Are the clear-signing data indicated to the user? • Is the result of the verification indicated to the user?

TEST

STEP FIELD OF DATA OBJECT ISIS-MTT

PART.TABLE.ENTRY# CONDITIONS, CONSTRAINTS

EVALUATION OF THE TEST STEP, INSTRUCTION FOR

TEST OPERATOR

Test event to be controlled (i.e. to be generated and sent) from the tester to the CUT: invalid CMS data object 1 contentType P3.T1.#1 { 1 2 840 113549 1 7 44 } MODIFICATION of TCPSD-3

contentType different from signed-data

Page 155: ISIS-MTT Test Specification - TeleTrusT · 2009-04-03 · ISIS-MTT Test Specification: Introduction Version 1.1 Document History Page 3 of 19 Document History VERSION DATE CHANGES

ISIS-MTT Test Specification Part 3: Message Formats Version 1.1

Test Case Specifications for ISIS-MTT Part 3 Page 84 of 120

Table 58: Test Case TCPSD-3.2. Processing of an invalid CMS object that contains an unknown version

TEST CASE NAME TCPSD-3.2

TEST PURPOSE Ensure that the CUT is able to process an invalid CMS object generated by the tester that contains an unknown version

TEST OBJECT (CUT) Product, software module, cryptographic token, etc. processing CMS object with unknown version

PARAMETERS

INSTRUCTIONS This test case is a continuation of the test case TCPSMMS-1.1. The CUT is to be triggered process the CMS OBJECT. The behaviour of the CUT shall be observed at its local interface regarding the following questions: • Is the receipt of multipart-signed data indicated to the user? • Are the clear-signing data indicated to the user? • Is the result of the verification indicated to the user?

TEST

STEP FIELD OF DATA OBJECT ISIS-MTT

PART.TABLE.ENTRY# CONDITIONS, CONSTRAINTS

EVALUATION OF THE TEST STEP, INSTRUCTION FOR

TEST OPERATOR

Test event to be controlled (i.e. to be generated and sent) from the tester to the CUT: invalid CMS data object 1 content.version P3.T2.#1 v5(4) MODIFICATION of TCPSD-3

version different from v1(0), or v3(2)

Page 156: ISIS-MTT Test Specification - TeleTrusT · 2009-04-03 · ISIS-MTT Test Specification: Introduction Version 1.1 Document History Page 3 of 19 Document History VERSION DATE CHANGES

ISIS-MTT Test Specification Part 3: Message Formats Version 1.1

Test Case Specifications for ISIS-MTT Part 3 Page 85 of 120

Table 59: Test Case TCPSD-3.3. Processing of an invalid CMS object that contains an unknown digest algorithm identifier

TEST CASE NAME TCPSD-3.3

TEST PURPOSE Ensure that the CUT is able to process an invalid CMS object generated by the tester that contains an unknown digest algorithm identifier

TEST OBJECT (CUT) Product, software module, cryptographic token, etc. processing CMS object with unknown digest algorithm identifier

PARAMETERS

INSTRUCTIONS This test case is a continuation of the test case TCPSMMS-1.1. The CUT is to be triggered process the CMS OBJECT. The behaviour of the CUT shall be observed at its local interface regarding the following questions: • Is the receipt of multipart-signed data indicated to the user? • Are the clear-signing data indicated to the user? • Is the result of the verification indicated to the user?

TEST

STEP FIELD OF DATA OBJECT ISIS-MTT

PART.SECTION AND PART.TABLE.ENTRY#

CONDITIONS, CONSTRAINTS

EVALUATION OF THE TEST STEP, INSTRUCTION FOR

TEST OPERATOR

Test event to be controlled (i.e. to be generated and sent) from the tester to the CUT: invalid CMS data object 1 content.digestAlgorithms P3.T2.#2

P6.S2.1 { 1 3 14 3 2 66 } MODIFICATION of TCPSD-3

Unknown digest algorithm identifier

Page 157: ISIS-MTT Test Specification - TeleTrusT · 2009-04-03 · ISIS-MTT Test Specification: Introduction Version 1.1 Document History Page 3 of 19 Document History VERSION DATE CHANGES

ISIS-MTT Test Specification Part 3: Message Formats Version 1.1

Test Case Specifications for ISIS-MTT Part 3 Page 86 of 120

Table 60: Test Case TCPSD-3.4: Processing of an invalid CMS object that contains an invalid content type of the encapsulated data

TEST CASE NAME TCPSD-3.4

TEST PURPOSE Ensure that the CUT is able to process an invalid CMS object generated by the tester that contains an invalid content type of the encapsulated data

TEST OBJECT (CUT) Product, software module, cryptographic token, etc. processing CMS object with invalid content type of the encapsulated data

PARAMETERS

INSTRUCTIONS This test case is a continuation of the test case TCPSMMS-1.1. The CUT is to be triggered process the CMS OBJECT. The behaviour of the CUT shall be observed at its local interface regarding the following questions: • Is the receipt of multipart-signed data indicated to the user? • Are the clear-signing data indicated to the user? • Is the result of the verification indicated to the user?

TEST

STEP FIELD OF DATA OBJECT ISIS-MTT

PART.TABLE.ENTRY# CONDITIONS, CONSTRAINTS

EVALUATION OF THE TEST STEP, INSTRUCTION FOR

TEST OPERATOR

Test event to be controlled (i.e. to be generated and sent) from the tester to the CUT: invalid CMS data object 1 content.encap-

ContentInfo.eContentType P3.T3.#1 { 1 2 840 113549 1 7 1 }, if version v3 is used, or

format identifier, if version v1 is used MODIFICATION of TCPSD-3 eContentType different from id-data { 1 2 840 113549 1 7 1 } if version v1 is used, or different from format identifier, iv version v3 is used

Page 158: ISIS-MTT Test Specification - TeleTrusT · 2009-04-03 · ISIS-MTT Test Specification: Introduction Version 1.1 Document History Page 3 of 19 Document History VERSION DATE CHANGES

ISIS-MTT Test Specification Part 3: Message Formats Version 1.1

Test Case Specifications for ISIS-MTT Part 3 Page 87 of 120

Table 61: Test Case TCPSD-3.5: Processing of an invalid CMS object that contains an encapsulated content field

TEST CASE NAME TCPSD-3.5

TEST PURPOSE Ensure that the CUT is able to process an invalid CMS object generated by the tester that contains an encapsulated content field

TEST OBJECT (CUT) Product, software module, cryptographic token, etc. processing CMS object with encapsulated content field

PARAMETERS E

INSTRUCTIONS This test case is a continuation of the test case TCPSMMS-1.1. The CUT is to be triggered process the CMS OBJECT. The behaviour of the CUT shall be observed at its local interface regarding the following questions: • Is the receipt of multipart-signed data indicated to the user? • Are the clear-signing data indicated to the user? • Is the result of the verification indicated to the user?

TEST

STEP FIELD OF DATA OBJECT ISIS-MTT

PART.TABLE.ENTRY# CONDITIONS, CONSTRAINTS

EVALUATION OF THE TEST STEP, INSTRUCTION FOR

TEST OPERATOR

Test event to be controlled (i.e. to be generated and sent) from the tester to the CUT: invalid CMS data object 1 content.encap-

ContentInfo.eContent P3.T3.#2 OCTET STRING MODIFICATION of TCPSD-3

eContent field is present

Page 159: ISIS-MTT Test Specification - TeleTrusT · 2009-04-03 · ISIS-MTT Test Specification: Introduction Version 1.1 Document History Page 3 of 19 Document History VERSION DATE CHANGES

ISIS-MTT Test Specification Part 3: Message Formats Version 1.1

Test Case Specifications for ISIS-MTT Part 3 Page 88 of 120

Table 62: Test Case TCPSD-3.6 Processing of an invalid signed-data CMS object that contains an invalid signer info version

TEST CASE NAME TCPSD-3.6

TEST PURPOSE Ensure that the CUT is able to process an invalid signed-data CMS object generated by the tester that contains an invalid signer info version

TEST OBJECT (CUT) Product, software module, cryptographic token, etc. processing CMS object with invalid signer info version

PARAMETERS

INSTRUCTIONS This test case is a continuation of the test case TCPSMMS-1.1. The CUT is to be triggered process the CMS OBJECT. The behaviour of the CUT shall be observed at its local interface regarding the following questions: • Is the receipt of multipart-signed data indicated to the user? • Are the clear-signing data indicated to the user? • Is the result of the verification indicated to the user?

TEST

STEP FIELD OF DATA OBJECT ISIS-MTT

PART.TABLE.ENTRY# CONDITIONS, CONSTRAINTS

EVALUATION OF THE TEST STEP, INSTRUCTION

FOR TEST OPERATOR

Test event to be controlled (i.e. to be generated and sent) from the tester to the CUT: invalid CMS data object 1 content.signerInfos.

version P3.T4.#1 V2(1) MODIFICATION of TCPSD-3

version different from v1(0)

Page 160: ISIS-MTT Test Specification - TeleTrusT · 2009-04-03 · ISIS-MTT Test Specification: Introduction Version 1.1 Document History Page 3 of 19 Document History VERSION DATE CHANGES

ISIS-MTT Test Specification Part 3: Message Formats Version 1.1

Test Case Specifications for ISIS-MTT Part 3 Page 89 of 120

Table 63: Test Case TCPSD-3.7: Processing of an invalid signed-data CMS object with invalid SignerIdentifier choice tag

TEST CASE NAME TCPSD-3.7

TEST PURPOSE Ensure that the CUT is able to process an invalid signed-data CMS object generated by the tester with invalid SignerIdentifier choice tag

TEST OBJECT (CUT) Product, software module, cryptographic token, etc. processing CMS object with invalid SignerIdentifier choice tag

PARAMETERS

INSTRUCTIONS This test case is a continuation of the test case TCPSMMS-1.1. The CUT is to be triggered process the CMS OBJECT. The behaviour of the CUT shall be observed at its local interface regarding the following questions: • Is the receipt of multipart-signed data indicated to the user? • Are the clear-signing data indicated to the user? • Is the result of the verification indicated to the user?

TEST

STEP FIELD OF DATA OBJECT ISIS-MTT

PART.TABLE.ENTRY# CONDITIONS, CONSTRAINTS

EVALUATION OF THE TEST STEP, INSTRUCTION

FOR TEST OPERATOR

Test event to be controlled (i.e. to be generated and sent) from the tester to the CUT: invalid CMS data object 1 content.signerInfos.sid P3.T4.#2 [3] MODIFICATION of TCPSD-3

content.signerInfos.sid replaced with unknown SignerIdentifier choice tag [3]

Page 161: ISIS-MTT Test Specification - TeleTrusT · 2009-04-03 · ISIS-MTT Test Specification: Introduction Version 1.1 Document History Page 3 of 19 Document History VERSION DATE CHANGES

ISIS-MTT Test Specification Part 3: Message Formats Version 1.1

Test Case Specifications for ISIS-MTT Part 3 Page 90 of 120

Table 64: Test Case TCPSD-3.8: Processing of an invalid signed-data CMS object with invalid identification of the testers signature certificate

TEST CASE NAME TCPSD-3.8

TEST PURPOSE Ensure that the CUT is able to process an invalid signed-data CMS object generated by the tester with invalid identification of the testers signature certificate

TEST OBJECT (CUT) Product, software module, cryptographic token, etc. processing CMS object with invalid identification of the signers signature certificate

PARAMETERS E

INSTRUCTIONS This test case is a continuation of the test case TCPSMMS-1.1. The CUT is to be triggered process the CMS OBJECT. The behaviour of the CUT shall be observed at its local interface regarding the following questions: • Is the receipt of multipart-signed data indicated to the user? • Are the clear-signing data indicated to the user? • Is the result of the verification indicated to the user?

TEST

STEP FIELD OF DATA OBJECT ISIS-MTT

PART.TABLE.ENTRY# CONDITIONS, CONSTRAINTS

EVALUATION OF THE TEST STEP, INSTRUCTION

FOR TEST OPERATOR

Test event to be controlled (i.e. to be generated and sent) from the tester to the CUT: invalid CMS data object 1 content.signerInfos.sid P3.T5.#2 issuerAndSerialNumber MODIFICATION of TCPSD-3

content.signerInfos.sid value does not identify the testers signature certificate

Page 162: ISIS-MTT Test Specification - TeleTrusT · 2009-04-03 · ISIS-MTT Test Specification: Introduction Version 1.1 Document History Page 3 of 19 Document History VERSION DATE CHANGES

ISIS-MTT Test Specification Part 3: Message Formats Version 1.1

Test Case Specifications for ISIS-MTT Part 3 Page 91 of 120

Table 65: Test Case TCPSD-3.9: Processing of an invalid signed-data CMS object with unknown digest algorithm identifier

TEST CASE NAME TCPSD-3.9

TEST PURPOSE Ensure that the CUT is able to process an invalid signed-data CMS object generated by the tester with unknown digest algorithm identifier

TEST OBJECT (CUT) Product, software module, cryptographic token, etc. processing CMS object with unknown digest algorithm identifier

PARAMETERS

INSTRUCTIONS This test case is a continuation of the test case TCPSMMS-1.1. The CUT is to be triggered process the CMS OBJECT. The behaviour of the CUT shall be observed at its local interface regarding the following questions: • Is the receipt of multipart-signed data indicated to the user? • Are the clear-signing data indicated to the user? • Is the result of the verification indicated to the user?

TEST

STEP FIELD OF DATA OBJECT ISIS-MTT

PART.TABLE.ENTRY# CONDITIONS, CONSTRAINTS

EVALUATION OF THE TEST STEP, INSTRUCTION

FOR TEST OPERATOR

Test event to be controlled (i.e. to be generated and sent) from the tester to the CUT: invalid CMS data object 1 content.signerInfos.

digestAlgorithm P3.T4.#3 { 1 3 14 3 2 66 } MODIFICATION of TCPSD-3

Unknown digest algorithm identifier

Page 163: ISIS-MTT Test Specification - TeleTrusT · 2009-04-03 · ISIS-MTT Test Specification: Introduction Version 1.1 Document History Page 3 of 19 Document History VERSION DATE CHANGES

ISIS-MTT Test Specification Part 3: Message Formats Version 1.1

Test Case Specifications for ISIS-MTT Part 3 Page 92 of 120

Table 66: Test Case TCPSD-3.10: Processing of an invalid signed-data CMS object with an digest algorithm identifier in SignerInfo that is not contained in content.digestAlgorithms

TEST CASE NAME TCPSD-3.10

TEST PURPOSE Ensure that the CUT is able to process an invalid signed-data CMS object generated by the tester with an digest algorithm identifier in SignerInfo that is not contained in content.digestAlgorithms

TEST OBJECT (CUT) Product, software module, cryptographic token, etc. processing CMS object with digest algorithm identifier in SignerInfo that is not contained in content.digestAlgorithms

PARAMETERS

INSTRUCTIONS This test case is a continuation of the test case TCPSMMS-1.1. The CUT is to be triggered process the CMS OBJECT. The behaviour of the CUT shall be observed at its local interface regarding the following questions: • Is the receipt of multipart-signed data indicated to the user? • Are the clear-signing data indicated to the user? • Is the result of the verification indicated to the user?

TEST

STEP FIELD OF DATA OBJECT ISIS-MTT

PART.TABLE.ENTRY# CONDITIONS, CONSTRAINTS

EVALUATION OF THE TEST STEP, INSTRUCTION

FOR TEST OPERATOR

Test event to be controlled (i.e. to be generated and sent) from the tester to the CUT: invalid CMS data object 1 content.signerInfos.

digestAlgorithm P3.T4.#3 { 1 3 14 3 2 26 }, if not used in content.digestAlgorithms,

or { 1 3 36 3 2 1 } if not used in content.digestAlgorithms MODIFICATION of TCPSD-3 digestAlgorithm (e.g. SHA-1) not contained in content.digestAlgorithms (e.g. RIPEMD-160)

Page 164: ISIS-MTT Test Specification - TeleTrusT · 2009-04-03 · ISIS-MTT Test Specification: Introduction Version 1.1 Document History Page 3 of 19 Document History VERSION DATE CHANGES

ISIS-MTT Test Specification Part 3: Message Formats Version 1.1

Test Case Specifications for ISIS-MTT Part 3 Page 93 of 120

Table 67: Test Case TCPSD-3.11: Processing of an invalid signed-data CMS object which contains an empty signed attributes set

TEST CASE NAME TCPSD-3.11

TEST PURPOSE Ensure that the CUT is able to process an invalid signed-data CMS object generated by the tester which contains an empty signed attributes set

TEST OBJECT (CUT) Product, software module, cryptographic token, etc. processing CMS object with empty signed attributes set

PARAMETERS

INSTRUCTIONS This test case is a continuation of the test case TCPSMMS-1.1. The CUT is to be triggered process the CMS OBJECT. The behaviour of the CUT shall be observed at its local interface regarding the following questions: • Is the receipt of multipart-signed data indicated to the user? • Are the clear-signing data indicated to the user? • Is the result of the verification indicated to the user?

TEST

STEP FIELD OF DATA OBJECT ISIS-MTT

PART.TABLE.ENTRY# CONDITIONS, CONSTRAINTS

EVALUATION OF THE TEST STEP, INSTRUCTION

FOR TEST OPERATOR

Test event to be controlled (i.e. to be generated and sent) from the tester to the CUT: invalid CMS data object 1 content.signerInfos.

signedAttrs P3.T4.#4 SET OF { } MODIFICATION of TCPSD-3

SignedAttrs with empty SET OF Attribute, if version v3 is used

Page 165: ISIS-MTT Test Specification - TeleTrusT · 2009-04-03 · ISIS-MTT Test Specification: Introduction Version 1.1 Document History Page 3 of 19 Document History VERSION DATE CHANGES

ISIS-MTT Test Specification Part 3: Message Formats Version 1.1

Test Case Specifications for ISIS-MTT Part 3 Page 94 of 120

Table 68: Test Case TCPSD-3.12: Processing of an invalid signed-data CMS object which contains an invalid format identifier

TEST CASE NAME TCPSD-3.12

TEST PURPOSE Ensure that the CUT is able to process an invalid signed-data CMS object generated by the tester which contains an invalid format identifier

TEST OBJECT (CUT) Product, software module, cryptographic token, etc. processing CMS object with invalid format identifier

PARAMETERS

INSTRUCTIONS This test case is a continuation of the test case TCPSMMS-1.1. The CUT is to be triggered process the CMS OBJECT. The behaviour of the CUT shall be observed at its local interface regarding the following questions: • Is the receipt of multipart-signed data indicated to the user? • Are the clear-signing data indicated to the user? • Is the result of the verification indicated to the user?

TEST

STEP FIELD OF DATA OBJECT ISIS-MTT

PART.TABLE.ENTRY# CONDITIONS, CONSTRAINTS

EVALUATION OF THE TEST STEP, INSTRUCTION

FOR TEST OPERATOR

Test event to be controlled (i.e. to be generated and sent) from the tester to the CUT: invalid CMS data object 1 content.signerInfos.

signedAttrs.attrValues P3.T5.#1 format identifier MODIFICATION of TCPSD-3

Value of attrValues of signed attribute content-type different from value in content.encapContentInfo.eContentType

Page 166: ISIS-MTT Test Specification - TeleTrusT · 2009-04-03 · ISIS-MTT Test Specification: Introduction Version 1.1 Document History Page 3 of 19 Document History VERSION DATE CHANGES

ISIS-MTT Test Specification Part 3: Message Formats Version 1.1

Test Case Specifications for ISIS-MTT Part 3 Page 95 of 120

Table 69: Test Case TCPSD-3.13: Processing of an invalid signed-data CMS object which does not contain the signed attribute content-type

TEST CASE NAME TCPSD-3.13

TEST PURPOSE Ensure that the CUT is able to process an invalid signed-data CMS object generated by the tester which does not contain the signed attribute content-type

TEST OBJECT (CUT) Product, software module, cryptographic token, etc. processing CMS object without signed attribute content-type

PARAMETERS

INSTRUCTIONS This test case is a continuation of the test case TCPSMMS-1.1. The CUT is to be triggered process the CMS OBJECT. The behaviour of the CUT shall be observed at its local interface regarding the following questions: • Is the receipt of multipart-signed data indicated to the user? • Are the clear-signing data indicated to the user? • Is the result of the verification indicated to the user?

TEST

STEP FIELD OF DATA OBJECT ISIS-MTT

PART.TABLE.ENTRY# CONDITIONS, CONSTRAINTS

EVALUATION OF THE TEST STEP, INSTRUCTION

FOR TEST OPERATOR

Test event to be controlled (i.e. to be generated and sent) from the tester to the CUT: invalid CMS data object 1 content.signerInfos.

signedAttrs P3.T5.#1 MODIFICATION of TCPSD-3

signedAttrs without the signed attribute content-type { 1 2 840 113549 1 9 3 }

Page 167: ISIS-MTT Test Specification - TeleTrusT · 2009-04-03 · ISIS-MTT Test Specification: Introduction Version 1.1 Document History Page 3 of 19 Document History VERSION DATE CHANGES

ISIS-MTT Test Specification Part 3: Message Formats Version 1.1

Test Case Specifications for ISIS-MTT Part 3 Page 96 of 120

Table 70: Test Case TCPSD-3.14: Processing of an invalid signed-data CMS object which does not contain the signed attribute content-type

TEST CASE NAME TCPSD-3.14

TEST PURPOSE Ensure that the CUT is able to process an invalid signed-data CMS object generated by the tester which does not contain the signed attribute content-type

TEST OBJECT (CUT) Product, software module, cryptographic token, etc. processing CMS object without signed attribute content-type

PARAMETERS

INSTRUCTIONS This test case is a continuation of the test case TCPSMMS-1.1. The CUT is to be triggered process the CMS OBJECT. The behaviour of the CUT shall be observed at its local interface regarding the following questions: • Is the receipt of multipart-signed data indicated to the user? • Are the clear-signing data indicated to the user? • Is the result of the verification indicated to the user?

TEST

STEP FIELD OF DATA OBJECT ISIS-MTT

PART.TABLE.ENTRY# CONDITIONS, CONSTRAINTS

EVALUATION OF THE TEST STEP, INSTRUCTION

FOR TEST OPERATOR

Test event to be controlled (i.e. to be generated and sent) from the tester to the CUT: invalid CMS data object 1 content.signerInfos.

signedAttrs P3.T5.#2 MODIFICATION of TCPSD-3

signedAttrs without the signed attribute message-digest { 1 2 840 113549 1 9 4 }

Page 168: ISIS-MTT Test Specification - TeleTrusT · 2009-04-03 · ISIS-MTT Test Specification: Introduction Version 1.1 Document History Page 3 of 19 Document History VERSION DATE CHANGES

ISIS-MTT Test Specification Part 3: Message Formats Version 1.1

Test Case Specifications for ISIS-MTT Part 3 Page 97 of 120

Table 71: Test Case TCPSD-3.15: Processing of an invalid signed-data CMS object which contains an invalid value in the signed attribute message-digest

TEST CASE NAME TCPSD-3.15

TEST PURPOSE Ensure that the CUT is able to process an invalid signed-data CMS object generated by the tester which contains an invalid value in the signed attribute message-digest

TEST OBJECT (CUT) Product, software module, cryptographic token, etc. processing CMS object with invalid value in the signed attribute message-digest

PARAMETERS

INSTRUCTIONS This test case is a continuation of the test case TCPSMMS-1.1. The CUT is to be triggered process the CMS OBJECT. The behaviour of the CUT shall be observed at its local interface regarding the following questions: • Is the receipt of multipart-signed data indicated to the user? • Are the clear-signing data indicated to the user? • Is the result of the verification indicated to the user?

TEST

STEP FIELD OF DATA OBJECT ISIS-MTT

PART.TABLE.ENTRY# CONDITIONS, CONSTRAINTS

EVALUATION OF THE TEST STEP, INSTRUCTION

FOR TEST OPERATOR

Test event to be controlled (i.e. to be generated and sent) from the tester to the CUT: invalid CMS data object 1 content.signerInfos.

signedAttrs.attr-Values P3.T5.#2 OCTET STRING MODIFICATION of TCPSD-3

Invalid value of attrValues of signed attribute message-digest

Page 169: ISIS-MTT Test Specification - TeleTrusT · 2009-04-03 · ISIS-MTT Test Specification: Introduction Version 1.1 Document History Page 3 of 19 Document History VERSION DATE CHANGES

ISIS-MTT Test Specification Part 3: Message Formats Version 1.1

Test Case Specifications for ISIS-MTT Part 3 Page 98 of 120

Table 72: Test Case TCPSD-3.16: Processing of an invalid signed-data CMS object which does not contain the signed attribute signing-time

TEST CASE NAME TCPSD-3.16

TEST PURPOSE Ensure that the CUT is able to process an invalid signed-data CMS object generated by the tester which does not contain the signed attribute signing-time

TEST OBJECT (CUT) Product, software module, cryptographic token, etc. processing CMS object without signed attribute signing-time

PARAMETERS

INSTRUCTIONS This test case is a continuation of the test case TCPSMMS-1.1. The CUT is to be triggered process the CMS OBJECT. The behaviour of the CUT shall be observed at its local interface regarding the following questions: • Is the receipt of multipart-signed data indicated to the user? • Are the clear-signing data indicated to the user? • Is the result of the verification indicated to the user?

TEST

STEP FIELD OF DATA OBJECT ISIS-MTT

PART.TABLE.ENTRY# CONDITIONS, CONSTRAINTS

EVALUATION OF THE TEST STEP, INSTRUCTION

FOR TEST OPERATOR

Test event to be controlled (i.e. to be generated and sent) from the tester to the CUT: invalid CMS data object 1 content.signerInfos.

signedAttrs P3.T5.#2 MODIFICATION of TCPSD-3

signedAttrs without the signed attribute signing-time { 1 2 840 113549 1 9 5 }

Page 170: ISIS-MTT Test Specification - TeleTrusT · 2009-04-03 · ISIS-MTT Test Specification: Introduction Version 1.1 Document History Page 3 of 19 Document History VERSION DATE CHANGES

ISIS-MTT Test Specification Part 3: Message Formats Version 1.1

Test Case Specifications for ISIS-MTT Part 3 Page 99 of 120

Table 73: Test Case TCPSD-3.17: Processing of an invalid signed-data CMS object with an invalid value in the signed attribute signing-time

TEST CASE NAME TCPSD-3.17

TEST PURPOSE Ensure that the CUT is able to process an invalid signed-data CMS object generated by the tester which contains an invalid value in the signed attribute signing-time

TEST OBJECT (CUT) Product, software module, cryptographic token, etc. processing CMS object with invalid value in the signed attribute signing-time

PARAMETERS

INSTRUCTIONS This test case is a continuation of the test case TCPSMMS-1.1. The CUT is to be triggered process the CMS OBJECT. The behaviour of the CUT shall be observed at its local interface regarding the following questions: • Is the receipt of multipart-signed data indicated to the user? • Are the clear-signing data indicated to the user? • Is the result of the verification indicated to the user?

TEST

STEP FIELD OF DATA OBJECT ISIS-MTT

PART.TABLE.ENTRY# CONDITIONS, CONSTRAINTS

EVALUATION OF THE TEST STEP, INSTRUCTION

FOR TEST OPERATOR

Test event to be controlled (i.e. to be generated and sent) from the tester to the CUT: invalid CMS data object 1 content.signerInfos.

signedAttrs.attrValues P3.T5.#2 Time format with time zones instead of Zulu time. MODIFICATION of TCPSD-3

Invalid time format of attrValues of signed attribute signing-time

Page 171: ISIS-MTT Test Specification - TeleTrusT · 2009-04-03 · ISIS-MTT Test Specification: Introduction Version 1.1 Document History Page 3 of 19 Document History VERSION DATE CHANGES

ISIS-MTT Test Specification Part 3: Message Formats Version 1.1

Test Case Specifications for ISIS-MTT Part 3 Page 100 of 120

Table 74: Test Case TCPSD-3.18: Processing of an invalid signed-data CMS object with an unknown signature algorithm identifier

TEST CASE NAME TCPSD-3.18

TEST PURPOSE Ensure that the CUT is able to process an invalid signed-data CMS object generated by the tester which contains an unknown signature algorithm identifier

TEST OBJECT (CUT) Product, software module, cryptographic token, etc. processing CMS object with unknown signature algorithm identifier

PARAMETERS

INSTRUCTIONS This test case is a continuation of the test case TCPSMMS-1.1. The CUT is to be triggered process the CMS OBJECT. The behaviour of the CUT shall be observed at its local interface regarding the following questions: • Is the receipt of multipart-signed data indicated to the user? • Are the clear-signing data indicated to the user? • Is the result of the verification indicated to the user?

TEST

STEP FIELD OF DATA OBJECT ISIS-MTT

PART.TABLE.ENTRY# CONDITIONS, CONSTRAINTS

EVALUATION OF THE TEST STEP, INSTRUCTION

FOR TEST OPERATOR

Test event to be controlled (i.e. to be generated and sent) from the tester to the CUT: invalid CMS data object 1 content.signerInfos.

signatureAlgorithm P3.T4.#5 { 1 2 840 113549 1 1 33} MODIFICATION of TCPSD-3

unknown signatureAlgorithm

Page 172: ISIS-MTT Test Specification - TeleTrusT · 2009-04-03 · ISIS-MTT Test Specification: Introduction Version 1.1 Document History Page 3 of 19 Document History VERSION DATE CHANGES

ISIS-MTT Test Specification Part 3: Message Formats Version 1.1

Test Case Specifications for ISIS-MTT Part 3 Page 101 of 120

Table 75: Test Case TCPSD-3.19: Processing of an invalid signed-data CMS object which contains an invalid signature value

TEST CASE NAME TCPSD-3.19

TEST PURPOSE Ensure that the CUT is able to process an invalid signed-data CMS object generated by the tester which contains an invalid signature value

TEST OBJECT (CUT) Product, software module, cryptographic token, etc. processing CMS object with invalid signature value

PARAMETERS

INSTRUCTIONS This test case is a continuation of the test case TCPSMMS-1.1. The CUT is to be triggered process the CMS OBJECT. The behaviour of the CUT shall be observed at its local interface regarding the following questions: • Is the receipt of multipart-signed data indicated to the user? • Are the clear-signing data indicated to the user? • Is the result of the verification indicated to the user?

TEST

STEP FIELD OF DATA OBJECT ISIS-MTT

PART.TABLE.ENTRY# CONDITIONS, CONSTRAINTS

EVALUATION OF THE TEST STEP, INSTRUCTION

FOR TEST OPERATOR

Test event to be controlled (i.e. to be generated and sent) from the tester to the CUT: invalid CMS data object 1 content.signerInfos.

signature P3.T4.#6 OCTET STRING MODIFICATION of TCPSD-3

signature with invalid value

Page 173: ISIS-MTT Test Specification - TeleTrusT · 2009-04-03 · ISIS-MTT Test Specification: Introduction Version 1.1 Document History Page 3 of 19 Document History VERSION DATE CHANGES

ISIS-MTT Test Specification Part 3: Message Formats

Test Case Specifications for ISIS-MTT Part 3 Page 102 of 120

2.3 Components that Generate CMS-protected Files

This section specifies test cases for checking the behaviour of components under test that generate CMS-protected files. These test cases are used to prove the conformance of products with ISIS-MTT that claim to provide this functionality. Test cases of this test group are referenced by the 4-character mnemonics “TCGF” (TC for test case, GF for generation of CMS file), followed by the 2-character mnemonics (“ED-”, or “SD-”, that indicate the type of the CMS object (enveloped-data, or signed-data), followed by a unique number that allows to add further identified test cases to this category.

Page 174: ISIS-MTT Test Specification - TeleTrusT · 2009-04-03 · ISIS-MTT Test Specification: Introduction Version 1.1 Document History Page 3 of 19 Document History VERSION DATE CHANGES

ISIS-MTT Test Specification Part 3: Message Formats Version 1.1

Test Case Specifications for ISIS-MTT Part 3 Page 103 of 120

Table 76: Test Case TCGFED-1: Generation of a CMS Enveloped-Data File

TEST CASE NAME TCGFED-1

TEST PURPOSE Ensure that the CUT is able to generate a CMS enveloped-data file

TEST OBJECT (CUT) CMS enveloped-data file

PARAMETERS

INSTRUCTIONS The following general guidelines shall be followed when performing the test: • This test case is similar to the test case TCGED-1. • All mandatory fields shall be contained in the enveloped-data object.

TEST

STEP FIELD OF DATA OBJECT ISIS-MTT

PART/SECTION AND PART.TABLE.ENTRY#

CONDITIONS, CONSTRAINTS

EVALUATION OF THE TEST STEP, INSTRUCTION

FOR TEST OPERATOR

Test event to be observed by the tester: CMS enveloped data object generated by the CUT 1 contentType P3.T1.#1 Field MUST be present / Value MUST be enveloped-data

{ 1 2 840 113549 1 7 3 } On failure ERROR and STOP

2 content.version P3.T6.#1 Field MUST be present / Value MUST be 0 On failure ERROR and STOP 3 content.originatorInfo P3.T6.#2 Field MUST be absent / On failure ERROR and STOP 4 content.recipientInfos P3.T3.#3 Field MUST be present / Value MUST at least contain

one element in the SET OF RecipientInfo The recepientInfos alternative “ktri” MUST be used at least once. All other alternatives SHOULD NOT be present.

On failure ERROR and CONTINUE

5 content.recipient-Infos.ktri

P3.T7.#1 Field MUST be present / Value MUST contain the data structure KeyTransRecipentInfo

On failure ERROR and STOP

6 content.recipient-Infos.ktri.version

P3.T8.#1 Field MUST be present / Value MUST be 0 On failure ERROR and CONTINUE

7 content.recipient-Infos.ktri.rid

P3.T8.#2 Field MUST be present / Value MUST contain the issuerAndSerialNumber choice which identifies the issuer and serial number of the testers certificate for key transport

PREPARATION This information MUST be known by the CUT On failure ERROR and STOP

Page 175: ISIS-MTT Test Specification - TeleTrusT · 2009-04-03 · ISIS-MTT Test Specification: Introduction Version 1.1 Document History Page 3 of 19 Document History VERSION DATE CHANGES

ISIS-MTT Test Specification Part 3: Message Formats Version 1.1

Test Case Specifications for ISIS-MTT Part 3 Page 104 of 120

8 content.recipient-Infos.ktri.key-EncryptionAlgorithm

P3.T8.#3 P6.T4

Field MUST be present / Value MUST be from the set of key encryption algorithms which are permitted for generation according to P6.T4.

PARAMETER Key encryption algorithm On failure ERROR and STOP

9 content.recipient-Infos.ktri.encryptedKey

P3.T8.#4 Field MUST be present / Value MUST contain the encrypted content-encryption key

On failure ERROR and STOP

10 content.encrypted-ContentInfo.contentType

P3.T6.#4 P3.T9.1

Field MUST be present / Value MUST be id-data { 1 2 840 113549 1 7 1 } or signed-data { 1 2 840 113549 1 7 2 } if non-interpreted binary data have been encrypted (and signed). The support of other values for the type of encrypted data is OPTIONAL.

PARAMETER Type of encrypted data On failure ERROR and CONTINUE

11 content.encrypted-ContentInfo.content-EncryptionAlgorithm

P3.T9.#2 P6.T3

Field MUST be present / Value MUST be a permitted content encryption algorithm according to P6.T3.

PARAMETER Content encryption algorithm On failure ERROR and STOP Warn if algorithm SHOULD NOT be used

12 content.encrypted-ContentInfo. encryptedContent

P3.T9.#3 Field MUST be present / Value MUST contain the encrypted data If content.encryptedContentInfo.contentType was signed-data, apply test case TCGFSD-1 to the decrypted content.

On failure ERROR and STOP

13 content.unprotectedAttrs P3.T6.#5 Field MUST be absent / On failure ERROR

Page 176: ISIS-MTT Test Specification - TeleTrusT · 2009-04-03 · ISIS-MTT Test Specification: Introduction Version 1.1 Document History Page 3 of 19 Document History VERSION DATE CHANGES

ISIS-MTT Test Specification Part 3: Message Formats Version 1.1

Test Case Specifications for ISIS-MTT Part 3 Page 105 of 120

Table 77: Test Case TCGFSD-1: Generation of a CMS Signed-Data File With Present eContent Field

TEST CASE NAME TCGFSD-1

TEST PURPOSE Ensure that the CUT is able to generate a CMS signed-data file with present eContent field

TEST OBJECT (CUT) CMS signed-data file with present eContent field

PARAMETERS

INSTRUCTIONS The following general guidelines shall be followed when performing the test: • This test case is similar to the test case TCGSD-1. • All mandatory fields shall be contained in the signed-data object.

TEST

STEP FIELD OF DATA OBJECT ISIS-MTT

PART.SECTION AND PART.TABLE.ENTRY#

CONDITIONS / CONSTRAINTS EVALUATION OF THE TEST STEP, INSTRUCTION

FOR TEST OPERATOR

Test event to be observed by the tester: CMS signed data object generated by the CUT 1 contentType P3.T1.#1 Field MUST be present / Value MUST be signed-data { 1

2 840 113549 1 7 2 } On failure ERROR and STOP

2 content.version P3.T2.#1 Field MUST be present / Value MUST be 1 if non-interpreted binary data shall be protected, or 3 if data with content type other than id-data SHALL be protected

PARAMETER Type of protected data On failure ERROR and STOP

3 content.digestAlgorithms P3.T2.#2 P6.T1

Field MUST be present / Value MUST be a permitted hash algorithm according to P6.T1

PARAMETER Type of hash algorithm On failure ERROR and STOP Warn, if algorithm SHOULD NOT be used

4 content.encap-ContentInfo. eContentType

P3.T3.#1 Field MUST be present / Value MUST be id-data { 1 2 840 113549 1 7 1 }, if version 1 is used, or SHALL contain the format identifier, if version 3 is used

PARAMETER Type of protected data On failure ERROR and STOP

5 content.encap-ContentInfo.eContent

P3.T3.#2 Field MUST be present / Value MUST contain the data to be protected

On failure ERROR and STOP

6 content.certificates P3.T2.#4 Field SHOULD be present / Value SHOULD at least provide the signer's certificate, and optionally further certificates of the signer's certification path

If field is absent NOTICE and CONTINUE If field is present, perform basic path validation On failure ERROR and STOP

Page 177: ISIS-MTT Test Specification - TeleTrusT · 2009-04-03 · ISIS-MTT Test Specification: Introduction Version 1.1 Document History Page 3 of 19 Document History VERSION DATE CHANGES

ISIS-MTT Test Specification Part 3: Message Formats Version 1.1

Test Case Specifications for ISIS-MTT Part 3 Page 106 of 120

7 content.crls P3.T2.#5 Field MAY be present / Value MAY provide a relevant set of CRLs

If field is absent NOTICE and CONTINUE If field is present, determine validation of certificates On failure ERROR and STOP

8 content.signerInfos. version

P3.T4.#1 Field MUST be present / Value MUST be 1 On failure ERROR and CONTINUE

9 content.signerInfos. sid

P3.T4.#2 Field MUST be present / Value MUST be issuerAndSerialNumber choice

On failure ERROR and CONTINUE

10 content.signerInfos. digestAlgorithm

P3.T4.#3 Field MUST be present / Value MUST be contained in content.digestAlgorithms

On failure ERROR and CONTINUE

11 content.signerInfos. signedAttrs

P3.T4.#4 Field MUST be present PARAMETER Type of protected data On failure ERROR and STOP else CONTINUE

12 content.signerInfos. signedAttrs.attrType

P3.T5.#1 Field MUST be present / Value MUST be content-type { 1 2 840 113549 1 9 3 }

On failure ERROR and STOP

13 content.signerInfos. signedAttrs.attrValues

P3.T5.#1 Field MUST be present, if content-type s is present / Value MUST equal value in content.encapContentInfo.eContent-Type

On failure ERROR and CONTINUE

14 content.signerInfos. signedAttrs.attrType

P3.T5.#2 Field MUST be present / Value MUST be message-digest { 1 2 840 113549 1 9 4 }

On failure ERROR and CONTINUE

15 content.signerInfos. signedAttrs.attrValues

P3.T5.#2 Field MUST be present, if message-digest is present / Value MUST equal hash value of data to be signed in content.encap-ContentInfo.eContent

On failure ERROR and CONTINUE

16 content.signerInfos. signedAttrs.attrType

P3.T5.#3 Field MUST be present / Value MUST be signing-time { 1 2 840 113549 1 9 5 }

On failure ERROR and CONTINUE

17 content.signerInfos. signedAttrs.attrValues

P3.T5.#3 Field MUST be present / Value MUST contain signing time in UTCTime format for dates until 2049 and GeneralizedTime otherwise.

On failure ERROR and CONTINUE

18 content.signerInfos. signedAttrs.attrType

P3.T5.#4 Field MAY be present / Value MUST be otherSigCert { 1 2 840 113549 1 9 16 2 19 }

On failure ERROR and CONTINUE

19 content.signerInfos. signedAttrs.attrValues

P3.T5.#4 Field MUST be present, if otherSigCert is used/ Value MUST contain the sequence of certificate identifiers starting with the signers certificate.

On failure ERROR and CONTINUE

Page 178: ISIS-MTT Test Specification - TeleTrusT · 2009-04-03 · ISIS-MTT Test Specification: Introduction Version 1.1 Document History Page 3 of 19 Document History VERSION DATE CHANGES

ISIS-MTT Test Specification Part 3: Message Formats Version 1.1

Test Case Specifications for ISIS-MTT Part 3 Page 107 of 120

20 content.signerInfos. signedAttrs.attrType

P3.T5.#8 Field MUST be present / Value MUST be signingCertificate { 1 2 840 113549 1 9 16 2 12 }

On failure ERROR and CONTINUE

21 content.signerInfos. signedAttrs.attrValues

P3.T5.#8 Field MUST be present / Value MUST contain a reference to the signer’s certificate in the content.certificates field

On failure ERROR and CONTINUE

22 content.signerInfos. signatureAlgorithm

P3.T4.#5 P6.T2

Field MUST be present / Value MUST be from the set of signature algorithms which are permitted for generation according to P6.T2.

On failure ERROR and CONTINUE

23 content.signerInfos. signature

P3.T4.#6 Field MUST be present / Value MUST contain the digital signature of the signer over the data to be signed and the signed attributes

On failure ERROR and CONTINUE

24 content.signerInfos. unsignedAttrs

P3.T4.#7 Field MAY be present / If field is present CONTINUE

25 content.signerInfos. unsignedAttrs.attrType

P3.T5.#5 Field MAY be present, if content.signerInfos.unsigned-Attrs is present / Value MAY be certificateRefs { 1 2 840 113549 1 9 16 2 21 }

On failure ERROR and CONTINUE

26 content.signerInfos. unsignedAttrs.attrValues

P3.T5.#5 Field MUST be present, if certificateRefs is used / Value MUST contain references to the full set of CA certificates.

On failure ERROR and CONTINUE

27 content.signerInfos. unsignedAttrs.attrType

P3.T5.#6 Field MAY be present, if content.signerInfos.unsigned-Attrs is present / Value MAY be revocationRefs { 1 2 840 113549 1 9 16 2 22 }

On failure ERROR and CONTINUE

28 content.signerInfos. unsignedAttrs.attrValues

P3.T5.#6 Field MUST be present, if revocationRefs is used / Value MUST contain references to the full set of CRL or OCSP responses

On failure ERROR and CONTINUE

29 content.signerInfos. unsignedAttrs.attrType

P3.T5.#7 Field MAY be present, if content.signerInfos.unsigned-Attrs is present / Value MAY be escTimeStamp { 1 2 840 113549 1 9 16 2 25 }

On failure ERROR and CONTINUE

30 content.signerInfos. unsignedAttrs.attrValues

P3.T5.#7 Field MUST be present, if escTimeStamp is used / Value MUST contain timestamp

On failure ERROR and CONTINUE

31 content.signerInfos. unsignedAttrs.attrType

P3.4.1 Field MUST be present, if content.signerInfos.unsigned-Attrs is present / Value SHOULD NOT be countersignature { 1 2 840 113549 1 9 6 }

On failure ERROR and CONTINUE

32 content.signerInfos. unsignedAttrs.attrValues

P3.4.1 Field MUST be present, if countersignature is used / Value MUST contain countersignature

On failure ERROR

Page 179: ISIS-MTT Test Specification - TeleTrusT · 2009-04-03 · ISIS-MTT Test Specification: Introduction Version 1.1 Document History Page 3 of 19 Document History VERSION DATE CHANGES

ISIS-MTT Test Specification Part 3: Message Formats Version 1.1

Test Case Specifications for ISIS-MTT Part 3 Page 108 of 120

Table 78: Test Case TCGFSD-2: Generation of a CMS Signed-Data File With Absent eContent Field

TEST CASE NAME TCGFSD-2

TEST PURPOSE Ensure that the CUT is able to generate a CMS signed-data file with absent eContent field

TEST OBJECT (CUT) CMS signed-data file with absent eContent field

PARAMETERS File with the content the CMS signed-data object pertains to

INSTRUCTIONS The following general guidelines shall be followed when performing the test: • This test case is similar to the test case TCGSD-3. • All mandatory fields shall be contained in the signed-data object.

TEST

STEP FIELD OF DATA OBJECT ISIS-MTT

PART.SECTION AND PART.TABLE.ENTRY#

CONDITIONS, CONSTRAINTS

EVALUATION OF THE TEST STEP, INSTRUCTION

FOR TEST OPERATOR

Test event to be observed by the tester: CMS signed data object generated by the CUT 1 contentType P3.T1.#1 Field MUST be present / Value MUST be signed-data { 1

2 840 113549 1 7 2 } On failure ERROR and STOP

2 content.version P3.T2.#1 Field MUST be present / Value MUST be 1 if non-interpreted binary data shall be protected, or 3 if data with content type other than id-data SHALL be protected

PARAMETER Type of protected data On failure ERROR and STOP

3 content.digestAlgorithms P3.T2.#2 P6.T1

Field MUST be present / Value MUST be a permitted hash algorithm according to P6.T1.

PARAMETER Type of hash algorithm On failure ERROR and STOP Warn, if algorithm SHOULD NOT be used.

4 content.encap-ContentInfo. eContentType

P3.T3.#1 Field MUST be present / Value MUST be id-data { 1 2 840 113549 1 7 1 }, if version 1 is used, or SHALL contain the format identifier, if version 3 is used

PARAMETER Type of protected data On failure ERROR and STOP

5 content.encap-ContentInfo.eContent

P3.T3.#2 Field MUST be absent / On failure ERROR and STOP

6 content.certificates P3.T2.#4 Field SHOULD be present / Value SHOULD provide the set of certificates of the signers certification path

If field is absent NOTICE and CONTINUE If field is present, perform basic path validation On failure ERROR and STOP

Page 180: ISIS-MTT Test Specification - TeleTrusT · 2009-04-03 · ISIS-MTT Test Specification: Introduction Version 1.1 Document History Page 3 of 19 Document History VERSION DATE CHANGES

ISIS-MTT Test Specification Part 3: Message Formats Version 1.1

Test Case Specifications for ISIS-MTT Part 3 Page 109 of 120

7 content.crls P3.T2.#5 Field MAY be present / Value MAY provide a relevant set of CRLs

If field is absent NOTICE and CONTINUE If field is present, determine validation of certificates On failure ERROR and STOP

8 content.signerInfos. version

P3.T4.#1 Field MUST be present / Value MUST be 1 On failure ERROR and CONTINUE

9 content.signerInfos. sid

P3.T4.#2 Field MUST be present / Value MUST be issuerAndSerialNumber choice

On failure ERROR and CONTINUE

10 content.signerInfos. digestAlgorithm

P3.T4.#3 Field MUST be present / Value MUST be contained in content.digestAlgorithms

On failure ERROR and CONTINUE

11 content.signerInfos. signedAttrs

P3.T4.#4 Field MUST be present PARAMETER Type of protected data On failure ERROR and STOP else CONTINUE

12 content.signerInfos. signedAttrs.attrType

P3.T5.#1 Field MUST be present / Value MUST be content-type { 1 2 840 113549 1 9 3 }

On failure ERROR and STOP

13 content.signerInfos. signedAttrs.attrValues

P3.T5.#1 Field MUST be present, if content-type is present / Value MUST equal value in content.encapContentInfo.eContent-Type

On failure ERROR and CONTINUE

14 content.signerInfos. signedAttrs.attrType

P3.T5.#2 Field MUST be present / Value MUST be message-digest { 1 2 840 113549 1 9 4 }

On failure ERROR and CONTINUE

15 content.signerInfos. signedAttrs. attrValues

P3.T5.#2 Field MUST be present, if message-digest is present / Value MUST equal hash value of data to be signed in content.encap-ContentInfo.eContent

On failure ERROR and CONTINUE

16 content.signerInfos. signedAttrs.attrType

P3.T5.#3 Field MUST be present / Value MUST be signing-time { 1 2 840 113549 1 9 5 }

On failure ERROR and CONTINUE

17 content.signerInfos. signedAttrs.attrValues

P3.T5.#3 Field MUST be present / Value MUST contain signing time in UTCTime format for dates until 2049 and GeneralizedTime otherwise.

On failure ERROR and CONTINUE

18 content.signerInfos. signedAttrs.attrType

P3.T5.#4 Field MAY be present / Value MUST be otherSigCert { 1 2 840 113549 1 9 16 2 19 }

On failure ERROR and CONTINUE

19 content.signerInfos. signedAttrs.attrValues

P3.T5.#4 Field MUST be present, if otherSigCert is used/ Value MUST contain the sequence of certificate identifiers starting with the signers certificate.

On failure ERROR and CONTINUE

Page 181: ISIS-MTT Test Specification - TeleTrusT · 2009-04-03 · ISIS-MTT Test Specification: Introduction Version 1.1 Document History Page 3 of 19 Document History VERSION DATE CHANGES

ISIS-MTT Test Specification Part 3: Message Formats Version 1.1

Test Case Specifications for ISIS-MTT Part 3 Page 110 of 120

20 content.signerInfos. signedAttrs.attrType

P3.T5.#8 Field MUST be present / Value MUST be signingCertificate { 1 2 840 113549 1 9 16 2 12 }

On failure ERROR and CONTINUE

21 content.signerInfos. signedAttrs.attrValues

P3.T5.#8 Field MUST be present / Value MUST contain a reference to the signer’s certificate in the content.certificates field

On failure ERROR and CONTINUE

22 content.signerInfos. signatureAlgorithm

P3.T4.#5 P6.T2

Field MUST be present / Value MUST be from the set of signature algorithms which are permitted for generation according to P6.T2.

On failure ERROR and CONTINUE

23 content.signerInfos. signature

P3.T4.#6 Field MUST be present / Value MUST contain the digital signature of the signer over the data to be signed and the signed attributes

On failure ERROR and CONTINUE

24 content.signerInfos. unsignedAttrs

P3.T4.#7 Field MAY be present / If field is present CONTINUE

25 content.signerInfos. unsignedAttrs.attrType

P3.T5.#5 Field MUST be present, if content.signerInfos.unsigned-Attrs is present / Value MAY be certificateRefs { 1 2 840 113549 1 9 16 2 21 }

On failure ERROR and CONTINUE

26 content.signerInfos. unsignedAttrs.attrValues

P3.T5.#5 Field MUST be present, if certificateRefs is used / Value MUST contain references to the full set of CA certificates.

On failure ERROR and CONTINUE

27 content.signerInfos. unsignedAttrs.attrType

P3.T5.#6 Field MUST be present, if content.signerInfos.unsigned-Attrs is present / Value MAY be revocationRefs { 1 2 840 113549 1 9 16 2 22 }

On failure ERROR and CONTINUE

28 content.signerInfos. unsignedAttrs.attrValues

P3.T5.#6 Field MUST be present, if revocationRefs is used / Value MUST contain references to the full set of CRL or OCSP responses

On failure ERROR and CONTINUE

29 content.signerInfos. unsignedAttrs.attrType

P3.T5.#7 Field MUST be present, if content.signerInfos.unsigned-Attrs is present / Value MAY be escTimeStamp { 1 2 840 113549 1 9 16 2 25 }

On failure ERROR and CONTINUE

30 content.signerInfos. unsignedAttrs.attrValues

P3.T5.#7 Field MUST be present, if escTimeStamp is used / Value MUST contain timestamp

On failure ERROR and CONTINUE

31 content.signerInfos. unsignedAttrs.attrType

P3.4.1 Field MUST be present, if content.signerInfos.unsigned-Attrs is present / Value SHOULD NOT be countersignature { 1 2 840 113549 1 9 6 }

On failure ERROR and CONTINUE

32 content.signerInfos. unsignedAttrs.attrValues

P3.4.1 Field MUST be present, if countersignature is used / Value MUST contain countersignature

On failure ERROR

Page 182: ISIS-MTT Test Specification - TeleTrusT · 2009-04-03 · ISIS-MTT Test Specification: Introduction Version 1.1 Document History Page 3 of 19 Document History VERSION DATE CHANGES

ISIS-MTT Test Specification Part 3: Message Formats Version 1.1

Test Case Specifications for ISIS-MTT Part 3 Page 111 of 120

2.4 Components that Process CMS-protected Files

This section specifies test cases for checking the behaviour of products that process S/MIME messages. These test cases are used to prove the conformance of products with ISIS-MTT that claim to provide this functionality. Test cases of this test group are referenced by the 4-character mnemonics “TCPF” (TC for test case, PF for processing of CMS file), followed by the 2-character mnemonics (“ED-”, or “SD-”, that indicate the type of the CMS object (enveloped-data, or signed-data), followed by a unique number that allows to add further identified test cases to this category.

Page 183: ISIS-MTT Test Specification - TeleTrusT · 2009-04-03 · ISIS-MTT Test Specification: Introduction Version 1.1 Document History Page 3 of 19 Document History VERSION DATE CHANGES

ISIS-MTT Test Specification Part 3: Message Formats Version 1.1

Test Case Specifications for ISIS-MTT Part 3 Page 112 of 120

Table 79: Test Case TCPFED-1: Processing of a valid CMS enveloped-data file

TEST CASE NAME TCPFED-1

TEST PURPOSE Ensure that the CUT is able to process a valid CMS enveloped-data file generated by the tester

TEST OBJECT (CUT) Product, software module, cryptographic token, etc. processing CMS enveloped-data file

PARAMETERS

INSTRUCTIONS This test case is similar to the test case TCPED-1. The component to be tested is to be triggered to process the CMS enveloped-data file. The behaviour of the CUT shall be observed at its local interface regarding the following questions: • Can the encrypted data be decrypted? • Is the result of the decryption (which SHOULD be valid encryption) indicated to the user?

TEST

STEP FIELD OF DATA OBJECT ISIS-MTT

PART.SECTION AND PART.TABLE.ENTRY#

CONDITIONS, CONSTRAINTS

EVALUATION OF THE TEST STEP, INSTRUCTION FOR TEST OPERATOR

Test event to be controlled (i.e. to be generated and sent) from the tester to the CUT: CMS enveloped data object 1 contentType P3.T1.#1 enveloped-data { 1 2 840 113549 1 7 3 } 2 content.version P3.T6.#1 v1(0) 3 content.originatorInfo P3.T6.#2 Field is absent 4 content.recipientInfos P3.T6.#3 SET OF RecipientInfo Field with one element in the SET OF

RecipientInfo. Alternative “ktri” must be used.

5 content.recipientInfos.ktri P3.T7.#1 KeyTransRecipentInfo 6 content.recipient-

Infos.ktri.version P3.T8.#1 v1(0)

7 content.recipient-Infos.ktri.rid P3.T8.#2 issuerAndSerialNumber PREPARATION This information MUST be known by the tester

8 content.recipient-Infos.ktri .key-EncryptionAlgorithm

P3.T8.#3 P6.T4

Any key encryption algorithm, which MUST or SHOULD be supported for processing according to P6.T4.

PARAMETER Key encryption algorithm

9 content.recipient-Infos.ktri.encryptedKey

P3.T8.#4 OCTET STRING Contains the encrypted content-encryption key

Page 184: ISIS-MTT Test Specification - TeleTrusT · 2009-04-03 · ISIS-MTT Test Specification: Introduction Version 1.1 Document History Page 3 of 19 Document History VERSION DATE CHANGES

ISIS-MTT Test Specification Part 3: Message Formats Version 1.1

Test Case Specifications for ISIS-MTT Part 3 Page 113 of 120

10 content.encryptedContentInfo. contentType

P3.T6.#4 P3.T9.#1

id-data { 1 2 840 113549 1 7 1 }

11 content.encryptedContentInfo. contentEncryptionAlgorithm

P3.T9.#2 P6.T3

Any content encryption algorithm, which MUST or SHOULD be supported for processing according to P6.T3.

PARAMETER Content encryption algorithm

12 content.encryptedContentInfo. encryptedContent

P3.T9.#3 OCTET STRING Contains the encrypted data

13 content.unprotectedAttrs P3.T6.#5 Field is absent

Page 185: ISIS-MTT Test Specification - TeleTrusT · 2009-04-03 · ISIS-MTT Test Specification: Introduction Version 1.1 Document History Page 3 of 19 Document History VERSION DATE CHANGES

ISIS-MTT Test Specification Part 3: Message Formats Version 1.1

Test Case Specifications for ISIS-MTT Part 3 Page 114 of 120

Table 80: Test Case TCPFSD-1: Processing of a valid CMS signed-data file with present eContent field

TEST CASE NAME TCPFSD-1

TEST PURPOSE Ensure that the CUT is able to process a valid CMS signed-data file with present eContent field generated by the tester

TEST OBJECT (CUT) Product, software module, cryptographic token, etc. processing CMS signed-data file with present eContent field

PARAMETERS

INSTRUCTIONS This test case is similar to the test case TCPSD-1. The component to be tested is to be triggered to process the CMS signed-data file. The behaviour of the CUT shall be observed at its local interface regarding the following questions: • Can the signed data be verified? • Is the result of the verification indicated to the user?

TEST

STEP FIELD OF DATA OBJECT ISIS-MTT

PART.SECTION AND PART.TABLE.ENTRY#

CONDITIONS, CONSTRAINTS

EVALUATION OF THE TEST STEP, INSTRUCTION

FOR TEST OPERATOR

Test event to be controlled (i.e. to be generated and sent) from the tester to the CUT: CMS signed data object 1 contentType P3.T1.#1 signed-data { 1 2 840 113549 1 7 2 } 2 content.version P3.T2.#1 v1(0), or v3(2) PARAMETER

Type of protected data v1(0), if non-interpreted binary data are used, or v3(2), if data with assigned format identifiers are used

3 content.digest-Algorithms P3.T2.#2 P6.T1

Any hash algorithm, which MUST or SHOULD be supported for processing according to P6.T1.

PARAMETER Type of hash algorithm

4 content.encap-ContentInfo. eContentType P3.T3.#1 id-data { 1 2 840 113549 1 7 1 }, or format identifier

PARAMETER Type of protected data, format identifier if version v1 is used if version v3 is used

5 content.encap-ContentInfo.eContent P3.T3.#2 OCTET STRING contains the data to be protected 6 content.certificates P3.T2.#4 CertificateSet Set of certificates of the testers certification path 7 content.crls P3.T2.#5 Field is absent 8 content.signerInfos.version P3.T4.#1 v1(0)

Page 186: ISIS-MTT Test Specification - TeleTrusT · 2009-04-03 · ISIS-MTT Test Specification: Introduction Version 1.1 Document History Page 3 of 19 Document History VERSION DATE CHANGES

ISIS-MTT Test Specification Part 3: Message Formats Version 1.1

Test Case Specifications for ISIS-MTT Part 3 Page 115 of 120

9 content.signerInfos.sid P3.T4.#2 issuerAndSerialNumber 10 content.signerInfos.digestAlgorithm P3.T4.#3

P6.T1 Any hash algorithm, which MUST or SHOULD be supported for processing according to P6.T1.

PARAMETER Type of hash algorithm, which SHOULD be contained in content.digestAlgorithms

11 content.signerInfos.signedAttrs P3.T4.#4 SignedAttributes 12 content.signerInfos.signedAttrs.attrType P3.T5.#1 content-type { 1 2 840 113549 1 9 3 } 13 content.signerInfos.signedAttrs.attrValues P3.T5.#1 id-data { 1 2 840 113549 1 7 1 }, or

format identifier Value MUST equal the value in content.encap-ContentInfo. eContentType

14 content.signerInfos.signedAttrs.attrType P3.T5.#2 message-digest { 1 2 840 113549 1 9 4 } 15 content.signerInfos.signedAttrs.attrValues P3.T5.#2 OCTET STRING Contains the hash value of data to be signed in

content.encapContentInfo. eContent 16 content.signerInfos.signedAttrs.attrType P3.T5.#3 signing-time { 1 2 840 113549 1 9 5 } Attribute MUST be present 17 content.signerInfos.signedAttrs.attrValues P3.T5.#3 UTCTime (MUST be accepted for dates

until 2049) or GeneralizedTime (Must be accepted for dates from 2050 on and SHOULD be accepted before)

18 content.signerInfos.signedAttrs.attrType P3.T5.#4 otherSignCert { 1 2 840 113549 1 9 16 2 19 }

19 content.signerInfos.signedAttrs.attrValues P3.T5.#4 Sequence of certificate identifiers 20 content.signerInfos.signedAttrs.attrType P3.T5.#8 signingCertificate { 1 2 840 113549 1 9 16

2 12 } Attribute MUST be present

21 content.signerInfos.signedAttrs.attrValues P3.T5.#8 Sequence of certificate identifiers MUST contain a reference to the signer’s certificate in the content.certificates field

22 content.signerInfos. signatureAlgorithm

P3.T4.#5 P6.T2

Any signature algorithm, which MUST or SHOULD be supported for processing according to P6.T2.

Fail if any of the mandatory algorithms is not supported. Pass but give a warning, if any of the optional algorithms is not supported.

23 content.signerInfos.signature P3.T4.#6 OCTET STRING Contains the digital signature of the tester over the data to be signed and the signed attributes

24 content.signerInfos.unsignedAttrs P3.T4.#7 SET OF Attribute 25 content.signerInfos.unsignedAttrs.attrType P3.T5.#5 certificateRefs { 1 2 840 113549 1 9 16 2

21 }

26 content.signerInfos.unsignedAttrs.attrValues P3.T5.#5 References to full set of CA certificates

Page 187: ISIS-MTT Test Specification - TeleTrusT · 2009-04-03 · ISIS-MTT Test Specification: Introduction Version 1.1 Document History Page 3 of 19 Document History VERSION DATE CHANGES

ISIS-MTT Test Specification Part 3: Message Formats Version 1.1

Test Case Specifications for ISIS-MTT Part 3 Page 116 of 120

27 content.signerInfos.unsignedAttrs.attrType P3.T5.#6 revocationRefs { 1 2 840 113549 1 9 16 2 22 }

28 content.signerInfos.unsignedAttrs.attrValues P3.T5.#6 References to full set of CRL and OCSP responses

29 content.signerInfos.unsignedAttrs.attrType P3.T5.#7 escTimeStamp { 1 2 840 113549 1 9 16 2 25 }

30 content.signerInfos.unsignedAttrs.attrValues P3.T5.#7 timestamp 31 content.signerInfos.unsignedAttrs.attrType P3.T5.#7 countersignature { 1 2 840 113549 1 9 6 } Attribute MUST be parsed 32 content.signerInfos.unsignedAttrs.attrValues P3.T5.#7 signerInfo

Page 188: ISIS-MTT Test Specification - TeleTrusT · 2009-04-03 · ISIS-MTT Test Specification: Introduction Version 1.1 Document History Page 3 of 19 Document History VERSION DATE CHANGES

ISIS-MTT Test Specification Part 3: Message Formats Version 1.1

Test Case Specifications for ISIS-MTT Part 3 Page 117 of 120

Table 81: Test Case TCPFSD-2: Processing of a valid CMS signed-data object with absent eContent field

TEST CASE NAME TCPSD-3

TEST PURPOSE Ensure that the CUT is able to process a valid CMS signed-data file with absent eContent field generated by the tester

TEST OBJECT (CUT) Product, software module, cryptographic token, etc. processing CMS signed-data file with absent eContent field

PARAMETERS File with the content the CMS signed-data object pertains to

INSTRUCTIONS This test case is similar to the test case TCPSD-3. The CUT is to be triggered to process the CMS signed data file.. The behaviour of the CUT shall be observed at its local interface regarding the following questions: • Can the signed data be verified? • Is the result of the verification indicated to the user?

TEST

STEP FIELD OF DATA OBJECT ISIS-MTT

PART.SECTION AND PART.TABLE.ENTRY#

CONDITIONS, CONSTRAINTS

EVALUATION OF THE TEST STEP, INSTRUCTION

FOR TEST OPERATOR

Test event to be controlled (i.e. to be generated and sent) from the tester to the CUT: CMS signed data object 1 contentType P3.T1.#1 signed-data { 1 2 840 113549 1 7 2 } 2 content.version P3.T2.#1 v1(0), or v3(2) PARAMETER

Type of protected data v1(0), if non-interpreted binary data are used, or v3(2), if data with assigned format identifiers are used

3 content.digestAlgorithms P3.T2.#2 P6.T1

Any hash algorithm, which MUST or SHOULD be supported for processing according to P6.T1.

PARAMETER Type of hash algorithm

4 content.encap-ContentInfo.eContentType P3.T3.#1 id-data { 1 2 840 113549 1 7 1 }, or format identifier

PARAMETER Type of protected data, format identifier if version v1 is used if version v3 is used

5 content.encap-ContentInfo.eContent P3.T3.#2 Field is absent 6 content.certificates P3.T2.#4 CertificateSet Set of certificates of the testers certification path 7 content.crls P3.T2.#5 Field is absent 8 content.signerInfos.version P3.T4.#1 v1(0)

Page 189: ISIS-MTT Test Specification - TeleTrusT · 2009-04-03 · ISIS-MTT Test Specification: Introduction Version 1.1 Document History Page 3 of 19 Document History VERSION DATE CHANGES

ISIS-MTT Test Specification Part 3: Message Formats Version 1.1

Test Case Specifications for ISIS-MTT Part 3 Page 118 of 120

9 content.signerInfos.sid P3.T4.#2 issuerAndSerialNumber 10 content.signerInfos.digestAlgorithm P3.T4.#3

P6.T1 Any hash algorithm, which MUST or SHOULD be supported for processing according to P6.T1.

PARAMETER Type of hash algorithm, which SHOULD be contained in content.digestAlgorithms

11 content.signerInfos.signedAttrs P3.T4.#4 SignedAttributes PARAMETER Type of protected data, format identifier Field is present, if version v3 is used

12 content.signerInfos.signedAttrs.attrType P3.T5.#1 content-type { 1 2 840 113549 1 9 3 } 13 content.signerInfos.signedAttrs.attrValues P3.T5.#1 format identifier PARAMETER

Type of protected data, format identifier Value MUST equal the value in content.encap-ContentInfo. eContentType

14 content.signerInfos.signedAttrs.attrType P3.T5.#2 message-digest { 1 2 840 113549 1 9 4 } 15 content.signerInfos.signedAttrs.attrValues P3.T5.#2 OCTET STRING Contains the hash value of data to be signed 16 content.signerInfos.signedAttrs.attrType P3.T5.#3 signing-time { 1 2 840 113549 1 9 5 } Attribute MUST be present 17 content.signerInfos.signedAttrs.attrValues P3.T5.#3 UTCTime (MUST be accepted for dates

until 2049) or GeneralizedTime (Must be accepted for dates from 2050 on and SHOULD be accepted before)

18 content.signerInfos.signedAttrs.attrType P3.T5.#4 otherSignCert { 1 2 840 113549 1 9 16 2 19 }

19 content.signerInfos.signedAttrs.attrValues P3.T5.#4 Sequence of certificate identifiers 20 content.signerInfos.signedAttrs.attrType P3.T5.#8 signingCertificate { 1 2 840 113549 1 9

16 2 12 } Attribute MUST be present

21 content.signerInfos.signedAttrs.attrValues P3.T5.#8 Sequence of certificate identifiers MUST contain a reference to the signer’s certificate in the content.certificates field

22 content.signerInfos. signatureAlgorithm

P3.T4.#5 P6.T2

Any signature algorithm, which MUST or SHOULD be supported for processing according to P6.T2.

Fail if any of the mandatory algorithms is not supported. Pass but give a warning, if any of the optional algorithms is not supported.

23 content.signerInfos.signature P3.T4.#6 OCTET STRING Contains the digital signature of the tester over the data to be signed and the signed attributes

24 content.signerInfos.unsignedAttrs P3.T4.#7 SET OF Attribute

Page 190: ISIS-MTT Test Specification - TeleTrusT · 2009-04-03 · ISIS-MTT Test Specification: Introduction Version 1.1 Document History Page 3 of 19 Document History VERSION DATE CHANGES

ISIS-MTT Test Specification Part 3: Message Formats Version 1.1

Test Case Specifications for ISIS-MTT Part 3 Page 119 of 120

25 content.signerInfos.unsignedAttrs.attrType P3.T5.#5 certificateRefs { 1 2 840 113549 1 9 16 2 21 }

26 content.signerInfos.unsignedAttrs.attrValues P3.T5.#5 References to full set of CA certificates 27 content.signerInfos.unsignedAttrs.attrType P3.T5.#6 revocationRefs { 1 2 840 113549 1 9 16 2

22 }

28 content.signerInfos.unsignedAttrs.attrValues P3.T5.#6 References to full set of CRL and OCSP responses

29 content.signerInfos.unsignedAttrs.attrType P3.T5.#7 escTimeStamp { 1 2 840 113549 1 9 16 2 25 }

30 content.signerInfos.unsignedAttrs.attrValues P3.T5.#7 timestamp 31 content.signerInfos.unsignedAttrs.attrType P3.4.1 countersignature { 1 2 840 113549 1 9 6

} Attribute MUST be parsed

32 content.signerInfos.unsignedAttrs.attrValues P3.4.1 signerInfo

Page 191: ISIS-MTT Test Specification - TeleTrusT · 2009-04-03 · ISIS-MTT Test Specification: Introduction Version 1.1 Document History Page 3 of 19 Document History VERSION DATE CHANGES

ISIS-MTT Test Specification Part 3: Message Formats Version 1.1

References Page 120 of 120

Annexes

Annex A: Abbreviations

CCS component conformance statement CMS cryptographic message syntax CRL certificate revocation list CUT component under test F forbidden capability, test result: FAIL ISIS industrial signature interoperability specification MIME multipurpose internet mail extension MTT MailTrusT P test result: PASS PKI public key infrastructure S/MIME Secure MIME References

[ISIS-MTT SPEC 01] T7 i.Gr., TeleTrust: ISIS-MTT Specification, Common ISIS-MTT Specification for PKI Applications; Version 1.1, February 2004

[ISO/IEC 9646 94] ISO/IEC 9646: Information Technology – Open Systems Interconnection – Conformance Testing Methodology and Framework; 1994

Page 192: ISIS-MTT Test Specification - TeleTrusT · 2009-04-03 · ISIS-MTT Test Specification: Introduction Version 1.1 Document History Page 3 of 19 Document History VERSION DATE CHANGES

COMMON ISIS-MTT SPECIFICATIONS FOR INTEROPERABLE PKI APPLICATIONS

FROM T7 & TELETRUST

TEST SPECIFICATION

PART 4

OPERATIONAL PROTOCOLS

VERSION 1.1 – 22 SEPTEMBER 2004

Page 193: ISIS-MTT Test Specification - TeleTrusT · 2009-04-03 · ISIS-MTT Test Specification: Introduction Version 1.1 Document History Page 3 of 19 Document History VERSION DATE CHANGES

ISIS-MTT Test Specification Part 4: Operational Protocols Version 1.1

Contact Information Page 2 of 21

Contact Information

ISIS-MTT Working Group of the TeleTrusT Deutschland e.V.: www.teletrust.de The up-to-date version of ISIS-MTT can be downloaded from the above web site, from www.isis-mtt.org or from www.isis-mtt.de Please send comments and questions to [email protected]

Editors:

Jürgen Brauckmann

Alfred Giessler

Tamás Horváth

Hans-Joachim Knobloch

© T7 e.V. i.G. and TeleTrusT e.V., 2002-2004

Page 194: ISIS-MTT Test Specification - TeleTrusT · 2009-04-03 · ISIS-MTT Test Specification: Introduction Version 1.1 Document History Page 3 of 19 Document History VERSION DATE CHANGES

ISIS-MTT Test Specification Part 4: Operational Protocols Version 1.1

Document History Page 3 of 21

Document History

VERSION DATE

CHANGES

1.0.1 February 1th 2002

First published version

1.0.2 July 19th 2002

Minor editorial changes, fixing a couple of bugs

1.0.2 August 11th 2003

Incorporated changes from Corrigenda version 1.2

1.1 September 22nd 2004

Several editorial changes.

Page 195: ISIS-MTT Test Specification - TeleTrusT · 2009-04-03 · ISIS-MTT Test Specification: Introduction Version 1.1 Document History Page 3 of 19 Document History VERSION DATE CHANGES

ISIS-MTT Test Specification Part 4: Operational Protocols Version 1.1

Table of Contents Page 4 of 21

Table of Contents

1 Preface .......................................................................................................... 5

2 Test Case Specifications for LDAP............................................................ 7

3 Test Case Specifications for OCSP............................................................ 8

3.1 Test Group OCSP-CLIENT (Generation of OCSP-requests, Processing Responses) 8

3.2 Test Group OCSP-SERVER (Processing OCSP-requests) 15

4 Test Case Specifications for TSP ............................................................. 20

References .......................................................................................................... 21

Page 196: ISIS-MTT Test Specification - TeleTrusT · 2009-04-03 · ISIS-MTT Test Specification: Introduction Version 1.1 Document History Page 3 of 19 Document History VERSION DATE CHANGES

ISIS-MTT Test Specification Part 4: Operational Protocols Version 1.1

Preface Page 5 of 21

1 Preface

This document specifies test cases that are to be performed to assess conformity with Part 4 “Operational Protocols” of the ISIS-MTT Specification.

Chapters 2 and 4 of this document are currently only place holders for future test case specifications for LDAP, and respectively TSP.

Chapter 3 of this document contains test case specifications to assess conformity with the OCSP section of Part 4 “Operational Protocols” of the ISIS-MTT Specification. An overview of the test cases is provided in Table 1.

The test group/subgroup names identify the position of test cases in the test suite hierarchy. The test case names uniquely identify individual test cases. Test cases are referenced by a character mnemonics string, consisting of the following parts:

• TC for test case, followed by

• OC for OCSP client functions, or

• OS for OCSP server functions, followed by

• REQ for OCSP Request, or

• RESP for OCSP Response, followed by

• HTTP for transport or retrieval, or

• ASN1 for generation or processing, or

• EXTENSIONS for OCSP extensions

followed by a unique number that allows to add further identified test cases to this category.

Note: The current version of this part of the ISIS-MTT Test Specification does not contain test cases that check the behaviour of CUTs in response to invalid test events (e.g. invalid data objects) generated by the tester. The specification of test cases of this category will be provided in future versions, if required.

Page 197: ISIS-MTT Test Specification - TeleTrusT · 2009-04-03 · ISIS-MTT Test Specification: Introduction Version 1.1 Document History Page 3 of 19 Document History VERSION DATE CHANGES

ISIS-MTT Test Specification Part 4: Operational Protocols Version 1.1

Preface Page 6 of 21

Table 1: Test Cases corresponding to ISIS-MTT Part 4

TEST GROUP / SUBGROUP NAME

TEST CASE NAME

TABLE TEST GROUP OBJECTIVE / TEST PURPOSE

OCSP-CLIENT/ Test Group for OCSP client functions OCSP-CLIENT/REQ/ Test Group for OCSP Requests OCSP-CLIENT/REQ/ TCOCREQHTTP-1 Table 2 Testing the Transport of an OCSP Request OCSP-CLIENT/REQ/ TCOCREQASN1-1 Table 3 Testing the Generation of an OCSP Request OCSP-CLIENT/ TCOCEXTENSIONS

-1 Table 4 Testing the Generation of OCSP Extensions (on

server-side too) OCSP-CLIENT/RESP/ Test Group for OCSP Responses OCSP-CLIENT/RESP/ TCOCRESPHTTP-1 Table 5 Testing the Retrieval of an OCSP Response OCSP-CLIENT/RESP/ TCOCRESPASN1-1 Table 6 Testing the Processing of an OCSP Response OCSP-SERVER/ Test group for OCSP server functions OCSP-SERVER/REQ/ Test Group for OCSP Requests OCSP-SERVER/REQ/ TCOSREQHTTP-1 Table 7 Testing the Retrieval of an OCSP Request OCSP-SERVER/REQ/ TCOSREQASN1-1 Table 8 Testing the Processing of an OCSP Request OCSP-SERVER/RESP/ Test Group for OCSP Responses OCSP-SERVER/RESP/ TCOSRESPHTTP-1 Table 9 Test the Transport of an OCSP Response OCSP-SERVER/RESP/ TCOSRESPASN1-1 Table 10 Test the Generation of an OCSP Response

Page 198: ISIS-MTT Test Specification - TeleTrusT · 2009-04-03 · ISIS-MTT Test Specification: Introduction Version 1.1 Document History Page 3 of 19 Document History VERSION DATE CHANGES

ISIS-MTT Test Specification Part 4: Operational Protocols Version 1.1

Test Case Specifications for LDAP Page 7 of 21

2 Test Case Specifications for LDAP

ISIS-MTT–compliant systems MUST apply the LDAP v3 protocol defined in [LDAPv3]. Regarding the LDAP message formats, no profiling information is added by the ISIS-MTT Specification. Hence, the syntax of LDAP messages clients and servers shall be tested against the PKIX standard. At this first version of the Test Specification, no specific tests are defined to verify message syntax, but testers are recommended to use PKIX-compliant components to serve as the testing tools. For example, a PKIX-compliant LDAP-server may be accessed while testing a client and, respectively, verified client software may be used while testing an LDAP-server. In a later version, test cases may be designed for TSP too. As for the structure of the DIT, ISIS-MTT contains only recommendations. Implementers are free to choose any other DIT structure, as long as the required operations defined in Table 4 of ISIS-MTT Part 4 can be performed.

Page 199: ISIS-MTT Test Specification - TeleTrusT · 2009-04-03 · ISIS-MTT Test Specification: Introduction Version 1.1 Document History Page 3 of 19 Document History VERSION DATE CHANGES

ISIS-MTT Test Specification Part 4: Operational Protocols Version 1.1

Test Case Specifications for OCSP Page 8 of 21

3 Test Case Specifications for OCSP

Test case specifications are presented in tabular form. Conditions and constraints that must be tested are described in easily readable text format. When all conditions and constraints are met then the test step is successfully passed. When all test steps are passed then the test case is passed (result = P), otherwise the test case fails (result = F).

3.1 Test Group OCSP-CLIENT (Generation of OCSP-requests, Processing Responses)

Table 2: Test Case TCOCREQHTTP-1: Testing the Transport of an OCSP Request

TEST CASE NAME TCOCREQHTTP-1 TEST PURPOSE Testing the embedding of the OCSP request in a HTTP-POST command. TEST OBJECT (CUT) Software module or product, posting OCSP requests. PARAMETERS none INSTRUCTIONS The OCSP request posted to the server HTTP-request shall be captured and analyzed. TEST

STEP

NO.

FIELD OF DATA OBJECT

ISIS-MTT PART/SECTION

CONDITIONS, CONSTRAINTS

EVALUATION OF THE TEST STEP, INSTRUCTION FOR TEST

OPERATOR 1 HTTP-encoding P4/S3.3 The OCSP request is posted in binary form to the responder using the HTTP POST method.

Test correctness of the syntax and content with respect to the header, content type, content length. Retrieve the DER-encoded OCSPRequest object and apply test case TCOCREQASN1-1 (Table 3) it.

Page 200: ISIS-MTT Test Specification - TeleTrusT · 2009-04-03 · ISIS-MTT Test Specification: Introduction Version 1.1 Document History Page 3 of 19 Document History VERSION DATE CHANGES

ISIS-MTT Test Specification Part 4: Operational Protocols Version 1.1

Test Case Specifications for OCSP Page 9 of 21

Table 3: Test Case TCOCREQASN1-1: Testing the Generation of an OCSP Request

TEST CASE NAME TCOCREQASN1-1 TEST PURPOSE Testing ASN.1 syntax and contents of an OCSP request. TEST OBJECT (CUT) The DER-encoding of an optionally signed ASN.1 OCSPRequest object. PARAMETERS signer’s certificate INSTRUCTIONS none TEST

STEP

NO.

FIELD OF DATA OBJECT

ISIS-MTT PART.TABLE.ENTRY#

CONDITIONS, CONSTRAINTS

EVALUATION OF THE TEST STEP, INSTRUCTION FOR TEST

OPERATOR 1 OCSPRequest P4.T5 Test the correctness of the ASN.1 syntax, with special regard to correct tagging (IMPLICIT

or EXPLICIT tagging), INTEGER encoding (signed representation!) Fail if any conditions not met.

2 optionalSignature P4.T5.#3, P4.T5.[1]

signatureAlgorithm MUST contain an algorithm OID and parameters permitted in ISIS-MTT Part 6. signature MUST contain a valid signature. Verify mathematical correctness using the signer’s certificate. certs MUST contain ALL certificates of the certification path. Check DName chaining up to a self-signed root certificate (without checking validity).

Fail if any conditions not met. fail if signature mathematically incorrect.

3 version P4.T5.#5 Value MUST be v1(0) Fail if any conditions not met. 4 requestorName

certs P4.T5.#6 P4.T5.#13

If the requestor chooses to sign the request message, requestorName MUST contain a directoryName with the subject DName of the signer’s certificate. Alternative names MAY additionally be inserted. Apply test case TCGGENNAMES-1 (Testspec.P1.T4) to this name. Furthermore, certs SHOULD contain all certificates of a certificate path, but MUST at least contain the requestor’s signing certificate.

Fail if any conditions not met.

5 requestList P4.T5.#7 This SEQUENCE MUST contain at least one single Request element. Apply test steps 5 a)...e) to each single request.

Fail if condition not met.

5 a) reqCert. hashAlgorithm

P4.T6.#5. Only SHA-1 and resp. the OID sha_1 is permitted in ISIS-MTT.

Fail if condition not met.

5 b) reqCert. issuerNameHash

P4.T6.#6 The hash value MUST contain the appropriate number of octets. Fail if condition not met.

5 c) reqCert. issuerKeyHash

P4.T6.#7 The hash value MUST contain the appropriate number of octets. Fail if condition not met.

Page 201: ISIS-MTT Test Specification - TeleTrusT · 2009-04-03 · ISIS-MTT Test Specification: Introduction Version 1.1 Document History Page 3 of 19 Document History VERSION DATE CHANGES

ISIS-MTT Test Specification Part 4: Operational Protocols Version 1.1

Test Case Specifications for OCSP Page 10 of 21

5 d) reqCert. serialNumber

P4.T6.#8 serialNumber MUST contain a positive integer, not longer than 20 octets. Fail if condition not met.

5 e) singleRequestExtensions

P4.T6.#3 As listed in P4.T9, the ServiceLocator standard extensions may occur here. The critical-flagging of each extension MUST meet the requirements in P4.T9. Local communities may include private extensions with non-critical flagging. Apply test case TCOCEXTENSIONS-1 (Table 4).

Fail if any other standard extension occurs here. Fail if critical extension found (all standard and private extensions must be non-critical). Issue a warning on non-supported non-critical private extensions.

6 requestExtensions P4.T5.#8 As listed in P4.T9, the following standard extensions (i.e. extensions defined in PKIX or ETSI standards) may occur here: Nonce and AcceptableResponses. The critical-flagging of each extension MUST meet the requirements in P4.T9. Local communities may include private extensions with non-critical flagging. Apply test case TCOCEXTENSIONS-1 (Table 4).

Fail if any other standard extension occurs here. Fail if critical extension found (all standard and private extensions must be non-critical). Issue a warning on non-supported non-critical private extensions.

Page 202: ISIS-MTT Test Specification - TeleTrusT · 2009-04-03 · ISIS-MTT Test Specification: Introduction Version 1.1 Document History Page 3 of 19 Document History VERSION DATE CHANGES

ISIS-MTT Test Specification Part 4: Operational Protocols Version 1.1

Test Case Specifications for OCSP Page 11 of 21

Table 4: Test Case TCOCEXTENSIONS-1: Testing the Generation of OCSP Extensions

TEST CASE NAME TCOCEXTENSIONS-1 TEST PURPOSE Testing syntax and contents of an OCSP extensions. TEST OBJECT (CUT) The DER-encoding of an ASN.1 Extensions object. PARAMETERS none INSTRUCTIONS none TEST

STEP

NO.

FIELD OF DATA OBJECT

ISIS-MTT PART.TABLE.ENTRY#

CONDITIONS, CONSTRAINTS

EVALUATION OF THE TEST STEP, INSTRUCTION FOR TEST

OPERATOR 1 Nonce P4.T10 This extension MUST NOT be marked critical. Fail if any conditions not met. 2 CrlID P4.T11 This extension MUST NOT be marked critical.

If present, crlUrl MUST contain an LDAP-URL with syntax specified in [RFC2255]. If present, crlNum MUST contain a natural number, not longer than 20 octets. If present, crlTime MUST contain a date in format YYYYMMDDhhmmssZ.

Fail if any conditions not met.

3 AcceptableResponses P4.T12 This extension MUST NOT be marked critical. If included in OCSPRequest, this extension MUST contain id-pkix-ocsp-basic.

Fail if any conditions not met.

4 ArchiveCutoff P4.T13 This extension MUST NOT be marked critical. ArchiveCutoff MUST have the format YYYYMMDD000000Z.

Fail if any conditions not met.

5 ServiceLocator P4.T14 This extension MUST NOT be marked critical. The issuer field MUST contain the DName of an OCSP responder. Check syntax calling test case TCGDNAMES-1 (Testspec.P1.T3) to this DName. locator MAY contain additional access information. Apply test step 15 of test case TCGEXTENSIONS-1 (Testspec.P1.T5) to this field.

Fail if any conditions not met.

6 CertHash P4.T15 This extension MUST NOT be marked critical. hashAlgorithm MUST indicate a hash algorithm permitted by ISIS-MTT Part 6. The hash value MUST contain the appropriate number of octets.

Fail if any conditions not met.

Page 203: ISIS-MTT Test Specification - TeleTrusT · 2009-04-03 · ISIS-MTT Test Specification: Introduction Version 1.1 Document History Page 3 of 19 Document History VERSION DATE CHANGES

ISIS-MTT Test Specification Part 4: Operational Protocols Version 1.1

Test Case Specifications for OCSP Page 12 of 21

Table 5: Test Case TCOCRESPHTTP-1: Testing the Retrieval of an OCSP Response

TEST CASE NAME TCOCRESPHTTP-1 TEST PURPOSE Testing the CUT’s ability to retrieve the OCSP response from the HTTP message returned by the responder. TEST OBJECT (CUT) Software module or product, accessing OCSP service. PARAMETERS none INSTRUCTIONS An OCSP response should be sent (respectively returned) to the CUT. This may be generated by a validated responder or by some testing tool.

The CUT must be able to retrieve the embedded binary OCSPResponse object. Apply test case TCOCRESPASN1-1 afterwards to test the processing of this data object.

TEST

STEP

NO.

FIELD OF DATA OBJECT

ISIS-MTT PART/SECTION

CONDITIONS, CONSTRAINTS

EVALUATION OF THE TEST STEP, INSTRUCTION FOR TEST

OPERATOR 1 HTTP-encoding P4.S3.3 In a response message to a HTTP POST message, response status 200 (OK) and the DER-

encoding of an OCSPResponse object shall be sent (respectively returned) to the CUT. The CUT MUST be able to retrieve the DER-encoded OCSPResponse object. Apply test case TCOCRESPASN1-1 (Table 6) to the OCSPResponse object.

Fail if no binary data could be retrieved from the message.

Page 204: ISIS-MTT Test Specification - TeleTrusT · 2009-04-03 · ISIS-MTT Test Specification: Introduction Version 1.1 Document History Page 3 of 19 Document History VERSION DATE CHANGES

ISIS-MTT Test Specification Part 4: Operational Protocols Version 1.1

Test Case Specifications for OCSP Page 13 of 21

Table 6: Test Case TCOCRESPASN1-1: Testing the Processing of an OCSP Response

TEST CASE NAME TCOCRESPASN1-1 TEST PURPOSE Testing a CUT’s ability to process OCSP responses. TEST OBJECT (CUT) Software module or product, accessing OCSP service. PARAMETERS None INSTRUCTIONS The CUT shall be sent (respectively returned) an OCSPResponse object, either directly or by embedding it in a HTTP POST-response. The CUT

shall be considered to be compliant, if it succeeds to achieve the specific action expected from the CUT. Such action may be retrieving contents from the response or verifying the queried certificate. This table lists special aspects that are to be considered in the tests.

TEST

STEP

NO.

FIELD OF DATA OBJECT

ISIS-MTT PART.TABLE.ENTRY#

CONDITIONS, CONSTRAINTS

EVALUATION OF THE TEST STEP, INSTRUCTION FOR TEST

OPERATOR 1 OCSPResponse P4.T7 Test whether the CUT is able to parse the entire ASN.1 object. Fail if parsing fails. 2 responseStatus P4.T7.#2 no special tests required pass 3 responseBytes P4.T7.#3

P4.T7.#13 P4.T8.#2

The CUT MUST recognize the id-pkix-ocsp-basic OID and process the BasicOCSPResponse response type as tested in the following steps.

Fail if any condition not met

4 signatureAlgorithm P4.T8.#4

The entire range of Algorithm OID and parameters permitted in ISIS-MTT Part 6 MUST be used in some test run.

Fail if any algorithm ID not recognized.

5 signature P4.T8.#5

no special tests required pass

6 certs P4.T8.#6

It may be expected, that the CUT uses these certificates in the path verification procedure. In this case, it must be able to retrieve those certificates.

Fail if required but unable to retrieve the certificates.

7 version P4.T8.#9 CUT MUST be able to process v1(0) responses. Input data object MUST have v1(0). No special tests required

pass

8 responderID P4.T8.#10 P4.T8.#14

The CUT MUST or SHOULD be able to process all DName attributes, occurring in byName, as listed in P1.T7. Check syntax calling test case TCGDNAMES-1 (Testspec.P1.T3) to this DName. Verify that all permitted string types, characters and string lengths are appropriately processed.

Fail if any mandatory attribute type is not recognized. Pass but give a warning if a recommended attribute type is not met.

9 producedAt P4.T8.#11 The CUT MUST be able to process any GeneralizedTime formats, including different time zones.

Fail if any condition not met

10 responses P4.T8.#12 P4.T8.#13

Check each element of the SEQUENCE as described in test steps 10 a) ... e)

Page 205: ISIS-MTT Test Specification - TeleTrusT · 2009-04-03 · ISIS-MTT Test Specification: Introduction Version 1.1 Document History Page 3 of 19 Document History VERSION DATE CHANGES

ISIS-MTT Test Specification Part 4: Operational Protocols Version 1.1

Test Case Specifications for OCSP Page 14 of 21

10 a) certID P4.T8.#19 Here is returned the same ID that was posted by the client to the responder. Apply the tests described in Step 5 of test case TCOSREQASN1-1 (Table 8)

Fail if any condition not met

10 b) certStatus P4.T8.#20 no special test required pass 10 c) thisUpdate P4.T8.#21 The CUT MUST be able to process any GeneralizedTime formats, including different time

zones. Fail if any condition not met

10 d) nextUpdate P4.T8.#22 The CUT MUST be able to process any GeneralizedTime formats, including different time zones.

Fail if any condition not met

10 e) singleExtensions P4.T8.#23 The CUT MUST or MAY be able to process all extension as listed in P4.T9.

Fail if any mandatory extension type is not recognized. Pass but give a warning if a recommended extension type is not processed.

11 responseExtensions P4.T8.#13 The CUT MUST or MAY be able to process all extension as listed in P4.T9.

Fail if any mandatory extension type is not recognized. Pass but give a warning if a recommended extension type is not processed.

Page 206: ISIS-MTT Test Specification - TeleTrusT · 2009-04-03 · ISIS-MTT Test Specification: Introduction Version 1.1 Document History Page 3 of 19 Document History VERSION DATE CHANGES

ISIS-MTT Test Specification Part 4: Operational Protocols Version 1.1

Test Case Specifications for OCSP Page 15 of 21

3.2 Test Group OCSP-SERVER (Processing OCSP-requests)

Table 7: Test Case TCOSREQHTTP-1: Testing the Retrieval of an OCSP Request

TEST CASE NAME TCOSREQHTTP-1 TEST PURPOSE Testing the CUT’s ability to retrieve the OCSP request from the HTTP POST message. TEST OBJECT (CUT) OCSP responder. PARAMETERS none INSTRUCTIONS An OCSP request should be posted to the CUT. This may be generated by a validated client or by some testing tool.

The CUT must be able to retrieve the embedded binary OCSPRequest object. Apply test case OCSP-SERVER/REQ/ASN1 to test the processing of this data object.

TEST

STEP

NO.

FIELD OF DATA OBJECT

ISIS-MTT PART/SECTION

CONDITIONS, CONSTRAINTS

EVALUATION OF THE TEST STEP, INSTRUCTION FOR TEST

OPERATOR 1 HTTP-encoding P4/S3.3 The OCSP request is posted to the responder as a HTTP POST method. Retrieve the DER-

encoded OCSPRequest object and apply test case TCOSREQASN1-1 (Table 8) to it.

Page 207: ISIS-MTT Test Specification - TeleTrusT · 2009-04-03 · ISIS-MTT Test Specification: Introduction Version 1.1 Document History Page 3 of 19 Document History VERSION DATE CHANGES

ISIS-MTT Test Specification Part 4: Operational Protocols Version 1.1

Test Case Specifications for OCSP Page 16 of 21

Table 8: Test Case TCOSREQASN1-1: Testing the Processing of an OCSP Request

TEST CASE NAME TCOSREQASN1-1 TEST PURPOSE Testing a CUT’s ability to process OCSP request. TEST OBJECT (CUT) OCSP responder PARAMETERS None INSTRUCTIONS The CUT shall be submitted an OCSPRequest object, either directly or by embedding it in a HTTP POST-command. The CUT shall be

considered to be compliant, if it succeeds to achieve the specific action expected from the CUT. Such action may be as retrieving contents from the response and generating appropriate response. This table lists special aspects that are to be considered in the tests.

TEST

STEP

NO.

FIELD OF DATA OBJECT

ISIS-MTT PART.TABL

E.ENTRY#

CONDITIONS, CONSTRAINTS

EVALUATION OF THE TEST STEP, INSTRUCTION FOR TEST OPERATOR

1 OCSPRequest P4.T5 Test whether the CUT is able to parse the entire ASN.1 object. Fail if parsing fails. 2 optionalSignature P4.T5.#3,

P4.T5.[1] The OCSP responder may choose not to require requestor authentication. However, if it does, it MUST support all signature algorithm types permitted in ISIS-MTT Part 6.

Fail if any algorithm ID not recognized.

3 version P4.T5.#5 CUT MUST be able to process v1(0) requests. Fail if any condition not met

4 requestorName P4.T5.#6

The CUT MUST or SHOULD be able to process all DName attributes, occuring in byName, as listed in P1.T7. Verify that all permitted string types, characters and string lengths are appropriately processed.

Fail if any mandatory attribute type is not recognized. Pass but give a warning if a recommended attribute type is not met.

5 requestList P4.T5.#7 Check each element of the SEQUENCE as described in test steps 5 a) ... e) 5 a) reqCert.

hashAlgorithm P4.T6.#5. The entire range of Algorithm OID and parameters permitted in ISIS-MTT Part 6

MUST be used in some test run. Fail if any algorithm ID not recognized.

5 b) reqCert.issuerNameHash P4.T6.#6 no tests required Pass 5 c) reqCert.issuerKeyHash P4.T6.#7 no tests required Pass 5 d) reqCert.serialNumber P4.T6.#8 The CUT MUST be able to process serial numbers as long as 20 octets, occurring in

this field. Fail if any conditions not met.

5 e) singleRequestExtensions P4.T6.#3 The CUT MUST or MAY be able to process all extension as listed in P4.T9.

Fail if any mandatory extension type is not recognized. Pass but give a warning if a recommended extension type is not met.

6 requestExtensions P4.T5.#8 The CUT MUST or MAY be able to process all extension as listed in P4.T9.

Fail if any mandatory extension type is not recognized. Pass but give a warning if a recommended extension type is not met.

Page 208: ISIS-MTT Test Specification - TeleTrusT · 2009-04-03 · ISIS-MTT Test Specification: Introduction Version 1.1 Document History Page 3 of 19 Document History VERSION DATE CHANGES

ISIS-MTT Test Specification Part 4: Operational Protocols Version 1.1

Test Case Specifications for OCSP Page 17 of 21

Table 9: Test Case TCOSRESPHTTP-1: Test the Transport of an OCSP Response

TEST CASE NAME TCOSRESPHTTP-1 TEST PURPOSE Testing the embedding of the OCSP response in a HTTP-POST command. TEST OBJECT (CUT) OCSP responder PARAMETERS none INSTRUCTIONS The OCSP response returned to the requestor shall be captured and analyzed. TEST

STEP

NO.

FIELD OF DATA OBJECT

ISIS-MTT PART/SECTION

CONDITIONS, CONSTRAINTS

EVALUATION OF THE TEST STEP, INSTRUCTION FOR TEST

OPERATOR 1 HTTP-encoding P4/S3.3 The OCSP response is posted to the responder as a HTTP POST method. If the POST-

request could be processed, the sever MUST return response status 200 (OK) and MUST include the DER-encoding of the resulting OCSPResponse object in the response message. Test response status. Retrieve the DER-encoded OCSPResponse object and apply test case TCOSRESPASN-1 (Table 10) to it.

Page 209: ISIS-MTT Test Specification - TeleTrusT · 2009-04-03 · ISIS-MTT Test Specification: Introduction Version 1.1 Document History Page 3 of 19 Document History VERSION DATE CHANGES

ISIS-MTT Test Specification Part 4: Operational Protocols Version 1.1

Test Case Specifications for OCSP Page 18 of 21

Table 10: Test Case TCOSRESPASN1-1: Test the Generation of an OCSP Response

TEST CASE NAME TCOSRESPASN1-1 TEST PURPOSE Testing syntax and contents of an OCSP response. TEST OBJECT (CUT) The DER-encoding of a signed ASN.1 OCSPResponse object. PARAMETERS • the request (an ASN.1 OCSPRequest object), which is answered by the OCSP responder

• responders’s certificate INSTRUCTIONS The OCSP response object shall be obtained from the responder to be tested by submitting a request with a couple of single requests in a signed

or unsigned OCSPRequest. TEST

STEP

NO.

FIELD OF DATA OBJECT

ISIS-MTT PART.TABLE.ENTRY#

CONDITIONS, CONSTRAINTS

EVALUATION OF THE TEST STEP, INSTRUCTION FOR TEST

OPERATOR 1 OCSPResponse P4.T7 Test the correctness of the ASN.1 syntax, with special regard to correct tagging (IMPLICIT

or EXPLICIT tagging), INTEGER encoding (signed representation!) Fail if any conditions not met.

2 responseStatus P4.T7.#2 In order to be able to carry out the following test steps, the responder MUST return status succesful..

Fail if any conditions not met.

3 responseBytes P4.T7.#3 P4.T7.#13 P4.T8.#2

Only response type BasicOCSPResponse is supported. Hence, responseType MUST contain OID id-pkix-ocsp-basic. response MUST contain the DER-encoding of a BasicOCSPResponse object. Test the correctness of the ASN.1 syntax, with special regard to correct tagging (IMPLICIT or EXPLICIT tagging), INTEGER encoding (signed representation!). The following test steps analyze the content of the embedded BasicOCSPResponse object.

Fail if any conditions not met.

4 signatureAlgorithm P4.T8.#4

Algorithm OID and parameters MUST indicate an algorithm permitted in ISIS-MTT Part 6. Fail if any conditions not met.

5 signature P4.T8.#5

This field MUST contain a valid signature. Verify mathematical correctness using the responder’s certificate.

fail if signature empty or mathematically incorrect.

6 certs P4.T8.#6

certs SHOULD contain ALL certificates of a certification path, but MUST at least contain the responder’s signing certificate. Check DName-chaining up to a self-signed root certificate (without checking validity).

Fail if signer cert. not present. Give warning if path is incomplete.

7 version P4.T8.#9 Value MUST be v1(0) Fail if any conditions not met. 8 responderID P4.T8.#10

P4.T8.#14 If byName is given, it MUST contain the same DName as the subject field of responder’s signing certificate. Apply test case TCGDNAMES-1 (Testspec.P1.T3) to this DName. If byKey is given, it MUST contain 20 octets (SHA1 hash value).

Fail if any conditions not met.

9 producedAt P4.T8.#11 Time instances MUST be specified using the format YYYYMMDDhhmmssZ. Fail if any conditions not met.

Page 210: ISIS-MTT Test Specification - TeleTrusT · 2009-04-03 · ISIS-MTT Test Specification: Introduction Version 1.1 Document History Page 3 of 19 Document History VERSION DATE CHANGES

ISIS-MTT Test Specification Part 4: Operational Protocols Version 1.1

Test Case Specifications for OCSP Page 19 of 21

10 responses P4.T8.#12 P4.T8.#13

This SEQUENCE MUST contain exactly as many SingleResponse elements as there were single requests in the submitted OCSPRequest. In particular, each single request MUST be answered with one single response. However, it is not necessary that single responses follow the order of single requests. Apply test steps 10 a)...e) to each single response.

Fail if any conditions not met.

10 a) certID P4.T8.#19 This ID MUST be identical to the one in the corresponding single request. Fail if any conditions not met. 10 b) certStatus P4.T8.#20 If returning revoked returned, revocationTime MUST be specified using the format

YYYYMMDDhhmmssZ. Fail if any conditions not met.

10 c) thisUpdate P4.T8.#21 Time instance MUST be specified using the format YYYYMMDDhhmmssZ. thisUpdate MUST lie earlier than the current local time.

Fail if any conditions not met.

10 d) nextUpdate P4.T8.#22 If present, the time instance MUST be specified using the format YYYYMMDDhhmmssZ. nextUpdate MUST lie beyond thisUpdate.

Fail if any conditions not met.

10 e) singleExtensions P4.T8.#23 As listed in P4.T9, the following standard extensions (i.e. extensions defined in PKIX or ETSI standards) may occur here: CRL entry extensions (P1.T33) and CertHash. The critical-flagging of each extension MUST meet the requirements in P4.T9. Local communities may include private extensions with non-critical flagging. Apply test case TCOCEXTENSIONS-1 (Table 4) to CertHash, if present. Apply test case TCGEXTENSIONS-1 (TS.P1.T5) to CRL entry extensions, if present.

Fail if any other standard extension occurs here. Fail if critical extension found (all standard and private extensions must be non-critical). Issue a warning on non-supported non-critical private extensions.

11 responseExtensions P4.T8.#13 As listed in P4.T9, the following standard extensions (i.e. extensions defined in PKIX or ETSI standards) may occur here: Nonce, CrlID and ArchiveCutoff. ArchiveCutoff SHOULD be included in all responses. The critical-flagging of each extension MUST meet the requirements in P4.T9. Local communities may include private extensions with non-critical flagging. Apply test case TCOCEXTENSIONS-1 (Table 4).

Fail if any other standard extension occurs here. Fail if critical extension found (all standard and private extensions must be non-critical). Issue a warning on non-supported non-critical private extensions.

Page 211: ISIS-MTT Test Specification - TeleTrusT · 2009-04-03 · ISIS-MTT Test Specification: Introduction Version 1.1 Document History Page 3 of 19 Document History VERSION DATE CHANGES

ISIS-MTT Test Specification Part 4: Operational Protocols Version 1.1

Test Case Specifications for TSP Page 20 of 21

4 Test Case Specifications for TSP

ISIS-MTT–compliant systems MUST apply the protocol defined in [TSP] and in [ETSI-TSP], which are basically the same. As no further profiling information is added by the ISIS-MTT Specification, TSP clients and servers shall be tested against the PKIX standard. At this version of the Test Specification, no specific tests are defined for TSP components, but testers are recommended to use PKIX-compliant components to serve as the testing tools. For example, a PKIX-compliant TSA may be accessed while testing a client and, respectively, verified client software may be used while testing a TSP-server. In a later version, test cases may be designed for TSP too.

Page 212: ISIS-MTT Test Specification - TeleTrusT · 2009-04-03 · ISIS-MTT Test Specification: Introduction Version 1.1 Document History Page 3 of 19 Document History VERSION DATE CHANGES

ISIS-MTT Test Specification Part 4: Operational Protocols Version 1.1

References Page 21 of 21

References

[ETSI-TSP] ETSI TS 101 861 v1.2.1: Time Stamping Profile, March 2003 [RFC2255] An LDAP URL Format, RFC 2255, June 1996 [RFC3161] Internet X.509 Public Key Infrastructure - Time Stamp Protocol (TSP),

RFC 3161, August 2001

Page 213: ISIS-MTT Test Specification - TeleTrusT · 2009-04-03 · ISIS-MTT Test Specification: Introduction Version 1.1 Document History Page 3 of 19 Document History VERSION DATE CHANGES

COMMON ISIS-MTT SPECIFICATIONS FOR INTEROPERABLE PKI APPLICATIONS

FROM T7 & TELETRUST

TEST SPECIFICATION

PART 5

CERTIFICATE PATH VALIDATION

VERSION 1.1 – 22 SEPTEMBER 2004

Page 214: ISIS-MTT Test Specification - TeleTrusT · 2009-04-03 · ISIS-MTT Test Specification: Introduction Version 1.1 Document History Page 3 of 19 Document History VERSION DATE CHANGES

ISIS-MTT Test Specification Part 5: Certificate Path Validation Version 1.1

Contact Information Page 2 of 24

Contact Information

ISIS-MTT Working Group of the TeleTrusT Deutschland e.V.: www.teletrust.de The up-to-date version of ISIS-MTT can be downloaded from the above web site, from www.isis-mtt.org or from www.isis-mtt.de Please send comments and questions to [email protected]

Editors:

Jürgen Brauckmann

Alfred Giessler

Tamás Horváth

Hans-Joachim Knobloch

© T7 e.V. i.G. and TeleTrusT e.V., 2002-2004

Page 215: ISIS-MTT Test Specification - TeleTrusT · 2009-04-03 · ISIS-MTT Test Specification: Introduction Version 1.1 Document History Page 3 of 19 Document History VERSION DATE CHANGES

ISIS-MTT Test Specification Part 5: Certificate Path Validation Version 1.1

Document History Page 3 of 24

Document History

VERSION DATE

CHANGES

1.0.1 September 5th 2002

First published version (as part of ISIS-MTT version 1.0.2)

1.0.2 August 11th 2003

Incorporated changes from Corrigenda version 1.2

1.1 September 22nd 2004

Several editorial changes.

Page 216: ISIS-MTT Test Specification - TeleTrusT · 2009-04-03 · ISIS-MTT Test Specification: Introduction Version 1.1 Document History Page 3 of 19 Document History VERSION DATE CHANGES

ISIS-MTT Test Specification Part 5: Certificate Path Validation Version 1.1

Table of Contents Page 4 of 24

Table of Contents

1 Introduction ................................................................................................. 5

2 Test Data Specification for Path Validation ............................................. 6

2.1 Root Certificate ................................................................................................... 7

2.2 CA Certificate...................................................................................................... 8

2.3 Invalid CA Certificate ........................................................................................ 9

2.4 Valid End Entity Certificate ............................................................................ 10

2.5 End Entity Certificate, Invalid Signature 1.................................................... 11

2.6 End Entity Certificate, Invalid Signature 2.................................................... 12

2.7 Expired End Entity Certificate........................................................................ 13

2.8 Empty Certificate Revocation List .................................................................. 14

2.9 Certificate Revocation List............................................................................... 15

3 Test Case Specifications for Path Validation ......................................... 16

3.1 Test Group PATHVALID (Validation of Certificate Paths), Subgroup VALID................................................................................................................ 17

3.2 Test Group PATHVALID (Validation of Certificate Paths), Subgroup INVALID ........................................................................................................... 18

Abbreviations..................................................................................................... 23

References .......................................................................................................... 24

Page 217: ISIS-MTT Test Specification - TeleTrusT · 2009-04-03 · ISIS-MTT Test Specification: Introduction Version 1.1 Document History Page 3 of 19 Document History VERSION DATE CHANGES

ISIS-MTT Test Specification Part 5: Certificate Path Validation Version 1.1

Introduction Page 5 of 24

1 Introduction

This document specifies test cases that are to be performed to assess conformity with Part 5 “Certificate Path Validation” of the ISIS-MTT Specification.

Chapter 2 of this document contains data object specifications for certificates and certificate revocation lists that are to be used in the test cases.

Chapter 3 of this document contains the underlying test case specifications. An overview of the test cases is provided in Table 1.

The test group/subgroup names identify the position of test cases in the test suite hierarchy. The test case names uniquely identify individual test cases. Test cases are referenced by a character mnemonics string, consisting of the following parts:

• TC for Test Case, followed by • PV for Path Validation functions

followed by some more text and a unique number that allows to add further identified test cases to this category.

Test cases are specified in the form of certificate paths. For now, one valid path is specified which must be accepted by the CUT. In addition, five invalid path are given which must be rejected by the CUT.

Table 1: Test Cases corresponding to ISIS-MTT Part 5

TEST GROUP / SUBGROUP NAME

TEST CASE NAME

TABLE TEST GROUP OBJECTIVE / TEST PURPOSE

PATHVALID/ Test Group for Path Validation functions PATHVALID/VALID Test the processing of a valid certificate path PATHVALID/VALID TCPVVALID-1 Table 12 Test the processing of a valid, 3-step certificate path PATHVALID/INVALID Test the processing of an invalid certificate path PATHVALID/INVALID TCPVSIGINVALID-1 Table 13 Test the processing of a path with invalid signature of

the EE certificate. Signature is invalid because the encrypted digest does not match.

PATHVALID/INVALID TCPVSIGINVALID-2 Table 14 Test the processing of a path with invalid signature of the EE certificate. Signature is invalid because the signature itself is defect.

PATHVALID/INVALID TCPVCERTREVO-1 Table 15 Test the processing of a path with a revoked EE certificate.

PATHVALID/INVALID TCPVEXPIRED-1 Table 16 Test the processing of a path with an expired EE certificate.

PATHVALID/INVALID TCPVINVALIDCA-1 Table 17 Test the processing of a path with an invalid CA certificate.

Page 218: ISIS-MTT Test Specification - TeleTrusT · 2009-04-03 · ISIS-MTT Test Specification: Introduction Version 1.1 Document History Page 3 of 19 Document History VERSION DATE CHANGES

ISIS-MTT Test Specification Part 5: Certificate Path Validation Version 1.1

Test Data Specification for Path Validation Page 6 of 24

2 Test Data Specification for Path Validation

The specification for test data objects will be presented in tabular form. The data objects are referenced by a character mnemonics string, consisting of the following parts:

• DO for Data Object, followed by • PV for Path Validation data object

followed by some more descriptive text.

Currently only test data for RSA keys and SHA1 hashes are specified.

Table 2: Test data objects

DATA OBJECT NAME TABLE DATA OBJECT CONTENT/PURPOSE DOPVROOTCERT Table 3 Root certificate of all certificate paths DOPVCACERT Table 4 CA certificate signed by DOPVROOTCERT DOPVCAINVALID Table 5 CA certificate with invalid signature DOPVEECERT Table 6 Valid end entitiy certificate DOPVEEINVALID1 Table 7 End entity certificate with invalid signature. Signature is invalid

because the encrypted digest does not match. DOPVEEINVALID2 Table 8 End entity certificate with invalid signature. Signature is invalid

because the signature itself is defect. DOPVEEEXPIRED Table 9 Expired end entity certificate DOPVCRLEMPTY Table 10 Empty certificate revocation list DOPVCRLWITHEE Table 11 Certificate revocation list with end entitiy certificate

Page 219: ISIS-MTT Test Specification - TeleTrusT · 2009-04-03 · ISIS-MTT Test Specification: Introduction Version 1.1 Document History Page 3 of 19 Document History VERSION DATE CHANGES

ISIS-MTT Test Specification Part 5: Certificate Path Validation Version 1.1

Test Data Specification for Path Validation Page 7 of 24

2.1 Root Certificate

The self signed root certificate for all chains.

Table 3: Root certificate

DATA OBJECT NAME DOPVROOTCERT FIELD

NO. FIELD OF DATA OBJECT

ISIS-MTT PART/SECTION

VALUE

1 Root certificate 1.1 tbsCertificate P1.T2 1.1.1 version P1.T2.#2 v3 1.1.2 serialNumber P1.T2.#3 Valid serialnumber 1.1.3 signatureAlgorithm P1.T2.#4 sha1withRSAEncryption (1 2 840 113549 1 1 5), same as 1.2 1.1.4 issuer P1.T2#5 Same as 1.1.6 1.1.5 validity P1.T3 notBefore: 02010101000000Z (1.1.2002, 00:00),

notAfter 20010101000000Z (1.1.2020, 00:00) 1.1.6 subject P1.T2#7 Valid DName 1.1.7 subjectPublicKeyInfo P1.T2#8 RSA public key with object identifier rsaEncryption

(1 2 840 113549 1 1 1) 1.1.8 issuerUniqueId P1.T2#9 EMPTY 1.1.9 subjectUniqueId P1.T2#10 EMPTY 1.1.10 extensions P1.T2#11 1.1.10.1 basicConstraints P1.T18 Value: ca=TRUE, pathLenConstraint=1 1.1.10.2 keyUsage P1.T12 Value: keyCertSign, crlSign 1.1.10.3 subjectKeyIdentifier P1.T11#5 The KeyIdentifier of the public key 1.2 signatureAlgorithm P1.T1#3 sha1withRSAEncryption (1 2 840 113549 1 1 5), same as 1.1.3 1.3 signature P1.T1#4 Valid signature over 1.1, generated with the key from 1.1.7

Page 220: ISIS-MTT Test Specification - TeleTrusT · 2009-04-03 · ISIS-MTT Test Specification: Introduction Version 1.1 Document History Page 3 of 19 Document History VERSION DATE CHANGES

ISIS-MTT Test Specification Part 5: Certificate Path Validation Version 1.1

Test Data Specification for Path Validation Page 8 of 24

2.2 CA Certificate

The CA certificate. Signed by the root certificate.

Table 4: CA certificate

DATA OBJECT NAME DOPVCACERT FIELD

NO. FIELD OF DATA OBJECT

ISIS-MTT PART/SECTION

VALUE

2 CA certificate 2.1 tbsCertificate P1.T2 2.1.1 version P1.T2.#2 v3 2.1.2 serialNumber P1.T2.#3 Valid serialnumber 2.1.3 signatureAlgorithm P1.T2.#4 sha1withRSAEncryption (1 2 840 113549 1 1 5), same as 2.2 2.1.4 issuer P1.T2#5 The Subject DN of the root certificate, same as 1.1.6 2.1.5 validity P1.T3 notBefore: 02010101000000Z (1.1.2002, 00:00),

notAfter 20010101000000Z (1.1.2020, 00:00) 2.1.6 subject P1.T2#7 Valid DName. Must be different from 2.1.4 2.1.7 subjectPublicKeyInfo P1.T2#8 RSA public key with object identifier rsaEncryption

(1 2 840 113549 1 1 1) 2.1.8 issuerUniqueId P1.T2#9 EMPTY 2.1.9 subjectUniqueId P1.T2#10 EMPTY 2.1.10 extensions P1.T2#11 2.1.10.1 authorityKeyIdentifier P1.T11#1 The KeyIdentifier of the public key of the root certificate, same

as 1.1.10.3 2.1.10.2 basicConstraints P1.T18 Value: ca=TRUE, pathLenConstraint=0 2.1.10.3 issuerAltname P1.T16#2 The IssuerAltName of the CA certificate 2.1.10.4 keyUsage P1.T12 Value: keyCertSign, crlSign 2.1.10.5 subjectKeyIdentifier P1.T11#5 The KeyIdentifier of the public key 2.2 signatureAlgorithm P1.T1#3 sha1withRSAEncryption (1 2 840 113549 1 1 5), same as 2.1.3 2.3 signature P1.T1#4 Valid signature over 2.1, generated with the key from 1.1.7

Page 221: ISIS-MTT Test Specification - TeleTrusT · 2009-04-03 · ISIS-MTT Test Specification: Introduction Version 1.1 Document History Page 3 of 19 Document History VERSION DATE CHANGES

ISIS-MTT Test Specification Part 5: Certificate Path Validation Version 1.1

Test Data Specification for Path Validation Page 9 of 24

2.3 Invalid CA Certificate

The CA certificate from 2.2, but with an invalid signature.

Table 5: Invalid CA certificate

DATA OBJECT NAME DOPVCAINVALID FIELD

NO. FIELD OF DATA OBJECT

ISIS-MTT PART/SECTION

VALUE

3 CA certificate 3.1 tbsCertificate P1.T2 3.1.1 version P1.T2.#2 v3 3.1.2 serialNumber P1.T2.#3 Valid serialnumber 3.1.3 signatureAlgorithm P1.T2.#4 sha1withRSAEncryption (1 2 840 113549 1 1 5), same as 3.2 3.1.4 issuer P1.T2#5 The Subject DN of the root certificate, same as 1.1.6 3.1.5 validity P1.T3 notBefore: 02010101000000Z (1.1.2002, 00:00),

notAfter 20010101000000Z (1.1.2020, 00:00) 3.1.6 subject P1.T2#7 Valid DName. Must be different from 3.1.4 3.1.7 subjectPublicKeyInfo P1.T2#8 RSA public key with object identifier rsaEncryption

(1 2 840 113549 1 1 1) 3.1.8 issuerUniqueId P1.T2#9 EMPTY 3.1.9 subjectUniqueId P1.T2#10 EMPTY 3.1.10 extensions P1.T2#11 3.1.10.1 authorityKeyIdentifier P1.T11#1 The KeyIdentifier of the public key of the root certificate, same

as 1.1.10.3 3.1.10.2 basicConstraints P1.T18 Value: ca=TRUE, pathLenConstraint=0 3.1.10.3 issuerAltname P1.T16#2 The IssuerAltName of the CA certificate 3.1.10.4 keyUsage P1.T12 Value: keyCertSign, crlSign 3.1.10.5 subjectKeyIdentifier P1.T11#5 The KeyIdentifier of the public key 3.2 signatureAlgorithm P1.T1#3 sha1withRSAEncryption (1 2 840 113549 1 1 5), same as 3.1.3 3.3 signature P1.T1#4 Signature over 3.1. After signature generation the first byte of the

content of this field must be changed to an arbitrary value. Tag and length must remain untouched.

Page 222: ISIS-MTT Test Specification - TeleTrusT · 2009-04-03 · ISIS-MTT Test Specification: Introduction Version 1.1 Document History Page 3 of 19 Document History VERSION DATE CHANGES

ISIS-MTT Test Specification Part 5: Certificate Path Validation Version 1.1

Test Data Specification for Path Validation Page 10 of 24

2.4 Valid End Entity Certificate

The end entity certificate, signed by the CA certificate from 2.2.

Table 6: Valid End Entity Certificate

DATA OBJECT NAME DOPVEECERT FIELD

NO. FIELD OF DATA OBJECT

ISIS-MTT PART/SECTION

VALUE

4 End entity certificate 4.1 tbsCertificate P1.T2 4.1.1 version P1.T2.#2 v3 4.1.2 serialNumber P1.T2.#3 Valid serialnumber 4.1.3 signatureAlgorithm P1.T2.#4 sha1withRSAEncryption (1 2 840 113549 1 1 5), same as 4.2 4.1.4 issuer P1.T2#5 The Subject DN of the CA certificate, same as 2.1.6 4.1.5 validity P1.T3 notBefore: 02010101000000Z (1.1.2002, 00:00),

notAfter 20010101000000Z (1.1.2020, 00:00) 4.1.6 subject P1.T2#7 Valid DName. Must be different from 4.1.4 4.1.7 subjectPublicKeyInfo P1.T2#8 RSA public key with object identifier rsaEncryption

(1 2 840 113549 1 1 1) 4.1.8 issuerUniqueId P1.T2#9 EMPTY 4.1.9 subjectUniqueId P1.T2#10 EMPTY 4.1.10 extensions P1.T2#11 4.1.10.1 authorityKeyIdentifier P1.T11#1 The KeyIdentifier of the public key of the CA certificate, same as

2.1.10.5 4.1.10.2 basicConstraints P1.T18 Value: ca=FALSE (NULL-encoding, because FALSE is the

ASN.1 DEFAULT of ca) 4.1.10.3 issuerAltname P1.T16#2 The IssuerAltName of the CA certificate 4.1.10.4 keyUsage P1.T12 Value: nonRepudiation, digitalSignature 4.2 signatureAlgorithm P1.T1#3 sha1withRSAEncryption (1 2 840 113549 1 1 5), same as 4.1.3 4.3 signature P1.T1#4 Valid signature over 4.1, generated with the key from 2.1.7

Page 223: ISIS-MTT Test Specification - TeleTrusT · 2009-04-03 · ISIS-MTT Test Specification: Introduction Version 1.1 Document History Page 3 of 19 Document History VERSION DATE CHANGES

ISIS-MTT Test Specification Part 5: Certificate Path Validation Version 1.1

Test Data Specification for Path Validation Page 11 of 24

2.5 End Entity Certificate, Invalid Signature 1

This certificate is the End Entity certificate from 2.4 with one modification: The field ValidityNotAfter was changed (e.g. with a hex editor) after the generation of the signature under the certificate. Thus signature verification must fail.

Table 7: End Entity Certificate, Invalid Signature 1

DATA OBJECT NAME DOPVEEINVAL1 FIELD

NO. FIELD OF DATA OBJECT

ISIS-MTT PART/SECTION

VALUE

5 End entity certificate 5.1 tbsCertificate P1.T2 5.1.1 version P1.T2.#2 v3 5.1.2 serialNumber P1.T2.#3 Valid serialnumber 5.1.3 signatureAlgorithm P1.T2.#4 sha1withRSAEncryption (1 2 840 113549 1 1 5), same as 5.2 5.1.4 issuer P1.T2#5 The Subject DN of the CA certificate, same as 2.1.6 5.1.5 validity P1.T3 notBefore: 02010101000000Z (1.1.2002, 00:00),

notAfter 20010101000000Z (1.1.2020, 00:00). After signature generation, notAfter must be changed with e.g. a hex editor to 21010101000000Z (1.1.2021, 00:00)

5.1.6 subject P1.T2#7 Valid DName. Must be different from 5.1.4 5.1.7 subjectPublicKeyInfo P1.T2#8 RSA public key with object identifier rsaEncryption

(1 2 840 113549 1 1 1) 5.1.8 issuerUniqueId P1.T2#9 EMPTY 5.1.9 subjectUniqueId P1.T2#10 EMPTY 5.1.10 extensions P1.T2#11 5.1.10.1 authorityKeyIdentifier P1.T11#1 The KeyIdentifier of the public key of the CA certificate, same as

2.1.10.5 5.1.10.2 basicConstraints P1.T18 Value: ca=FALSE (NULL-encoding, because FALSE is the

ASN.1 DEFAULT of ca) 5.1.10.3 issuerAltname P1.T16#2 The IssuerAltName of the CA certificate 5.1.10.4 keyUsage P1.T12 Value: nonRepudiation, digitalSignature 5.2 signatureAlgorithm P1.T1#3 sha1withRSAEncryption (1 2 840 113549 1 1 5), same as 2.1.3 5.3 signature P1.T1#4 Signature over 5.1 that was valid without the modification in

5.1.5

Page 224: ISIS-MTT Test Specification - TeleTrusT · 2009-04-03 · ISIS-MTT Test Specification: Introduction Version 1.1 Document History Page 3 of 19 Document History VERSION DATE CHANGES

ISIS-MTT Test Specification Part 5: Certificate Path Validation Version 1.1

Test Data Specification for Path Validation Page 12 of 24

2.6 End Entity Certificate, Invalid Signature 2

This certificate is the End Entity certificate from 2.4 with one modification: The field signature was changed (e.g. with a hex editor) after the generation of the signature under the certificate. Thus signature verification must fail.

Table 8: End Entity Certificate, Invalid Signature 2

DATA OBJECT NAME DOPVEEINVAL2 FIELD

NO. FIELD OF DATA OBJECT

ISIS-MTT PART/SECTION

VALUE

6 End entity certificate 6.1 tbsCertificate P1.T2 6.1.1 version P1.T2.#2 v3 6.1.2 serialNumber P1.T2.#3 Valid serialnumber 6.1.3 signatureAlgorithm P1.T2.#4 sha1withRSAEncryption (1 2 840 113549 1 1 5), same as 6.2 6.1.4 issuer P1.T2#5 The Subject DN of the CA certificate, same as 2.1.6 6.1.5 validity P1.T3 notBefore: 02010101000000Z (1.1.2002, 00:00),

notAfter 20010101000000Z (1.1.2020, 00:00). 6.1.6 subject P1.T2#7 Valid DName. Must be different from 6.1.4 6.1.7 subjectPublicKeyInfo P1.T2#8 RSA public key with object identifier rsaEncryption

(1 2 840 113549 1 1 1) 6.1.8 issuerUniqueId P1.T2#9 EMPTY 6.1.9 subjectUniqueId P1.T2#10 EMPTY 6.1.10 extensions P1.T2#11 6.1.10.1 authorityKeyIdentifier P1.T11#1 The KeyIdentifier of the public key of the CA certificate, same as

2.1.10.5 6.1.10.2 basicConstraints P1.T18 Value: ca=FALSE (NULL-encoding, because FALSE is the

ASN.1 DEFAULT of ca) 6.1.10.3 issuerAltname P1.T16#2 The IssuerAltName of the CA certificate 6.1.10.4 keyUsage P1.T12 Value: nonRepudiation, digitalSignature 6.2 signatureAlgorithm P1.T1#3 sha1withRSAEncryption (1 2 840 113549 1 1 5), same as 6.1.3 6.3 signature P1.T1#4 Signature over 6.1. After signature generation the first byte of the

content of this field must be changed to an arbitrary value. Tag and length must remain untouched.

Page 225: ISIS-MTT Test Specification - TeleTrusT · 2009-04-03 · ISIS-MTT Test Specification: Introduction Version 1.1 Document History Page 3 of 19 Document History VERSION DATE CHANGES

ISIS-MTT Test Specification Part 5: Certificate Path Validation Version 1.1

Test Data Specification for Path Validation Page 13 of 24

2.7 Expired End Entity Certificate

This certificate is the End Entity certificate from 2.4 with one modification: The notAfter field contains a time in the past, thus path building must fail.

Table 9: Expired End Entity Certificate

DATA OBJECT NAME DOPVEEEXPIRED FIELD

NO. FIELD OF DATA OBJECT

ISIS-MTT PART/SECTION

VALUE

7 End entity certificate 7.1 tbsCertificate P1.T2 7.1.1 version P1.T2.#2 v3 7.1.2 serialNumber P1.T2.#3 Valid serialnumber 7.1.3 signatureAlgorithm P1.T2.#4 sha1withRSAEncryption (1 2 840 113549 1 1 5), same as 7.2 7.1.4 issuer P1.T2#5 The Subject DN of the CA certificate, same as 2.1.6 7.1.5 validity P1.T3 notBefore: 02010101000000Z (1.1.2002, 00:00),

notAfter 02010101000000Z (1.1.2002, 00:00) 7.1.6 subject P1.T2#7 Valid DName. Must be different from 7.1.4 7.1.7 subjectPublicKeyInfo P1.T2#8 RSA public key with object identifier rsaEncryption

(1 2 840 113549 1 1 1) 7.1.8 issuerUniqueId P1.T2#9 EMPTY 7.1.9 subjectUniqueId P1.T2#10 EMPTY 7.1.10 extensions P1.T2#11 7.1.10.1 authorityKeyIdentifier P1.T11#1 The KeyIdentifier of the public key of the CA certificate, same as

2.1.10.5 7.1.10.2 basicConstraints P1.T18 Value: ca=FALSE (NULL-encoding, because FALSE is the

ASN.1 DEFAULT of ca) 7.1.10.3 issuerAltname P1.T16#2 The IssuerAltName of the CA certificate 7.1.10.4 keyUsage P1.T12 Value: nonRepudiation, digitalSignature 7.2 signatureAlgorithm P1.T1#3 sha1withRSAEncryption (1 2 840 113549 1 1 5), same as 7.1.3 7.3 signature P1.T1#4 Valid signature over 7.1, generated with the key from 2.1.7

Page 226: ISIS-MTT Test Specification - TeleTrusT · 2009-04-03 · ISIS-MTT Test Specification: Introduction Version 1.1 Document History Page 3 of 19 Document History VERSION DATE CHANGES

ISIS-MTT Test Specification Part 5: Certificate Path Validation Version 1.1

Test Data Specification for Path Validation Page 14 of 24

2.8 Empty Certificate Revocation List

This revocation list contains no revoked certificates.

Table 10: Empty Certificate Revocation List

DATA OBJECT NAME DOPVCRLEMPTY FIELD

NO. FIELD OF DATA OBJECT

ISIS-MTT PART/SECTION

VALUE

8 CRL 8.1 tbsCertificateList P1.T32 8.1.1 version P1.T32#2 v2 8.1.2 signature P1.T32#3 sha1withRSAEncryption (1 2 840 113549 1 1 5), same as 8.2 8.1.3 issuer P1.T32#4 The Subject DN of the CA certificate, same as 2.1.6 8.1.4 thisUpdate P1.T32#5 02010101000000Z (1.1.2002, 00:00) 8.1.5 nextUpdate P1.T32#6 20010101000000Z (1.1.2020, 00:00) 8.1.6 revokedCertificates P1.T32#7-#10 EMPTY 8.1.7 crlExtensions P1.T32#12 8.1.7.1 crlNumber P1.T34#2 1234 8.2 signatureAlgorithm P1.T31#3 sha1withRSAEncryption (1 2 840 113549 1 1 5), same as 8.1.2 8.3 signatureValue P1.T31#4 Valid signature over 8.1, generated with the key from 2.1.7

Page 227: ISIS-MTT Test Specification - TeleTrusT · 2009-04-03 · ISIS-MTT Test Specification: Introduction Version 1.1 Document History Page 3 of 19 Document History VERSION DATE CHANGES

ISIS-MTT Test Specification Part 5: Certificate Path Validation Version 1.1

Test Data Specification for Path Validation Page 15 of 24

2.9 Certificate Revocation List

This revocation list contains just the end entity certificate from 2.4.

Table 11: Certificate Revocation List

DATA OBJECT NAME DOPVCRLWITHEE FIELD

NO. FIELD OF DATA OBJECT

ISIS-MTT PART/SECTION

VALUE

9 CRL

9.1 tbsCertificateList P1.T32 9.1.1 version P1.T32#2 v2 9.1.2 signature P1.T32#3 sha1withRSAEncryption (1 2 840 113549 1 1 5), same as 8.2 9.1.3 issuer P1.T32#4 The Subject DN of the CA certificate, same as 2.1.6 9.1.4 thisUpdate P1.T32#5 02010101000000Z (1.1.2002, 00:00) 9.1.5 nextUpdate P1.T32#6 20010101000000Z (1.1.2020, 00:00) 9.1.6 revokedCertificates P1.T32#7 One entry for the end entitiy certificate 9.1.6.1 userCertificate P1.T32#8 Same as 4.1.2 9.1.6.2 revocationDate P1.T32#9 02060101000000Z (1.6.2002, 00:00) 9.1.7 crlExtensions P1.T32#12 9.1.7.1 crlNumber P1.T34#2 1234 9.2 signatureAlgorithm P1.T31#3 sha1withRSAEncryption (1 2 840 113549 1 1 5), same as 8.1.2 9.3 signatureValue P1.T31#4 Valid signature over 8.1, generated with the key from 2.1.7

Page 228: ISIS-MTT Test Specification - TeleTrusT · 2009-04-03 · ISIS-MTT Test Specification: Introduction Version 1.1 Document History Page 3 of 19 Document History VERSION DATE CHANGES

ISIS-MTT Test Specification Part 5: Certificate Path Validation Version 1.1

Test Case Specifications for Path Validation Page 16 of 24

3 Test Case Specifications for Path Validation

Test case specifications are presented in tabular form. Conditions and constraints that must be tested are described in easily readable text format. When all conditions and constraints are met then the test step is successfully passed. When all test steps are passed then the test case is passed (result = P), otherwise the test case fails (result = F).

As Part 5 “Certificate Path Validation” of the ISIS-MTT Specification consists mainly of pseudo-code with functions and processing steps, the Test Steps are given as a list of functions which are supposed to fail when an invalid certificate path is presented to the CUT. Due to the complexity of the algorithm functions with a positive result are not listed except for valid certificate paths.

As the CUT almost certainly does not use the exact algorithm specified in Part 5 “Certificate Path Validation”, this test specification can only give an approximation of the test steps the test operator is able to perform and to observe.

Normally a CUT will only validate a Certificate Path upon verification of a signature (e.g. an S/MIME message). It is the responsibility of the test operator to trigger path validation in the CUT. Possible ways may include generating a signature with the End Entity certificate contained in the certificate path and presenting the signature together with all certificates for verification to the CUT.

The specification of all test data objects assumes that the local clock of the CUT is set to a date between 1.6.2002 and 1.1.2020.

Page 229: ISIS-MTT Test Specification - TeleTrusT · 2009-04-03 · ISIS-MTT Test Specification: Introduction Version 1.1 Document History Page 3 of 19 Document History VERSION DATE CHANGES

ISIS-MTT Test Specification Part 5: Certificate Path Validation Version 1.1

Test Case Specifications for Path Validation Page 17 of 24

3.1 Test Group PATHVALID (Validation of Certificate Paths), Subgroup VALID

Table 12: Test Case TCPVVALID-1: Testing the processing of a valid certificate path

TEST CASE NAME TCPVVALID-1 TEST PURPOSE Test the processing of a valid, 3-step certificate path consisting of DOPVROOTCERT, DOPVCACERT, DOPVEECERT and

DOPVCRLEMPTY. CUT must accept the certificate path. TEST OBJECT (CUT) Product, software module PARAMETERS DOPVROOTCERT, DOPVCACERT, DOPVEECERT and DOPVCRLEMPTY. INSTRUCTIONS The certificate path shall be presented to the CUT. TEST

STEP

NO.

FUNCTION ISIS-MTT PART/SECTION

CONDITIONS, CONSTRAINTS

EVALUATION OF THE TEST STEP, INSTRUCTION FOR TEST

OPERATOR Test event to be controlled by the tester: 3-step certificate path with CRL to be presented to the CUT 1 BuildAndValidateCert

Path() P5.T3#1 Function returns “true” Certificate path is valid

Page 230: ISIS-MTT Test Specification - TeleTrusT · 2009-04-03 · ISIS-MTT Test Specification: Introduction Version 1.1 Document History Page 3 of 19 Document History VERSION DATE CHANGES

ISIS-MTT Test Specification Part 5: Certificate Path Validation Version 1.1

Test Case Specifications for Path Validation Page 18 of 24

3.2 Test Group PATHVALID (Validation of Certificate Paths), Subgroup INVALID

Table 13: Test Case TCPVSIGVINVALID-1: Testing the processing of an invalid certificate path

TEST CASE NAME TCPVSIGINVALID-1 TEST PURPOSE Test the processing of an invalid, 3-step certificate path consisting of DOPVROOTCERT, DOPVCACERT, DOPVEEINVALID1 and

DOPVCRLEMPTY. CUT must reject the certificate path. The certificate path contains an End Entity certificate with a wrong signature. CUT must detect that it cannot verify the signature under the EE certificate.

TEST OBJECT (CUT) Product, software module PARAMETERS DOPVROOTCERT, DOPVCACERT, DOPVEEINVALID1 and DOPVCRLEMPTY. INSTRUCTIONS The certificate path shall be presented to the CUT. TEST

STEP

NO.

FUNCTION ISIS-MTT PART/SECTION

CONDITIONS, CONSTRAINTS

EVALUATION OF THE TEST STEP, INSTRUCTION FOR TEST

OPERATOR Test event to be controlled by the tester: 3-step certificate path with CRL to be presented to the CUT 1 ValidateCertPath() P5.T4#10 Function returns “false” Signature invalid, Certificate

path is invalid 2 BuildAndValidateCert

Path() P5.T3#5 Function returns “false” Certificate path is invalid

Page 231: ISIS-MTT Test Specification - TeleTrusT · 2009-04-03 · ISIS-MTT Test Specification: Introduction Version 1.1 Document History Page 3 of 19 Document History VERSION DATE CHANGES

ISIS-MTT Test Specification Part 5: Certificate Path Validation Version 1.1

Test Case Specifications for Path Validation Page 19 of 24

Table 14: Test Case TCPVSIGVINVALID-2: Testing the processing of an invalid certificate path

TEST CASE NAME TCPVSIGINVALID-1 TEST PURPOSE Test the processing of an invalid, 3-step certificate path consisting of DOPVROOTCERT, DOPVCACERT, DOPVEEINVALID2 and

DOPVCRLEMPTY. CUT must reject the certificate path. The certificate path contains an End Entity certificate with a wrong signature. CUT must detect that it cannot verify the signature under the EE certificate.

TEST OBJECT (CUT) Product, software module PARAMETERS DOPVROOTCERT, DOPVCACERT, DOPVEEINVALID2 and DOPVCRLEMPTY. INSTRUCTIONS The certificate path shall be presented to the CUT. TEST

STEP

NO.

FUNCTION ISIS-MTT PART/SECTION

CONDITIONS, CONSTRAINTS

EVALUATION OF THE TEST STEP, INSTRUCTION FOR TEST

OPERATOR Test event to be controlled by the tester: 3-step certificate path with CRL to be presented to the CUT 1 ValidateCertPath() P5.T4#10 Function returns “false” Signature invalid, Certificate

path is invalid 2 BuildAndValidateCert

Path() P5.T3#5 Function returns “false” Certificate path is invalid

Page 232: ISIS-MTT Test Specification - TeleTrusT · 2009-04-03 · ISIS-MTT Test Specification: Introduction Version 1.1 Document History Page 3 of 19 Document History VERSION DATE CHANGES

ISIS-MTT Test Specification Part 5: Certificate Path Validation Version 1.1

Test Case Specifications for Path Validation Page 20 of 24

Table 15: Test Case TCPVCERTREVO-1: Testing the processing of an invalid certificate path

TEST CASE NAME TCPVCERTREVO-1 TEST PURPOSE Test the processing of an invalid, 3-step certificate path consisting of DOPVROOTCERT, DOPVCACERT, DOPVEECERT and

DOPVCRLWITHEE. CUT must reject the certificate path. The certificate path contains a Certificate Revocation List in which the serialnumber of the End Entity certificate is listed. CUT must detect that the EE certificate is revoked.

TEST OBJECT (CUT) Product, software module PARAMETERS DOPVROOTCERT, DOPVCACERT, DOPVEECERT and DOPVCRLWITHEE. INSTRUCTIONS The certificate path shall be presented to the CUT. TEST

STEP

NO.

FUNCTION ISIS-MTT PART/SECTION

CONDITIONS, CONSTRAINTS

EVALUATION OF THE TEST STEP, INSTRUCTION FOR TEST

OPERATOR Test event to be controlled by the tester: 3-step certificate path with CRL to be presented to the CUT 1 CheckStatusUsingCR

L() P5.T6#15 Function returns “false” User certificate is found to be

revoked 2 CheckRevocationStatu

s() P5.T5#5 Function returns “false” User certificate is found to be

revoked 3 ValidateCertPath() P5.T4#12 Function returns “false” Certificate path is invalid 4 BuildAndValidateCert

Path() P5.T3#5 Function returns “false” Certificate path is invalid

Page 233: ISIS-MTT Test Specification - TeleTrusT · 2009-04-03 · ISIS-MTT Test Specification: Introduction Version 1.1 Document History Page 3 of 19 Document History VERSION DATE CHANGES

ISIS-MTT Test Specification Part 5: Certificate Path Validation Version 1.1

Test Case Specifications for Path Validation Page 21 of 24

Table 16: Test Case TCPVEXPIRED-1: Testing the processing of an invalid certificate path

TEST CASE NAME TCPVEXPIRED-1 TEST PURPOSE Test the processing of an invalid, 3-step certificate path consisting of DOPVROOTCERT, DOPVCACERT, DOPVEEEXPIRED and

DOPVCRLEMPTY. CUT must reject the certificate path. The certificate path contains an End Entity certificate with a validityNotAfter before the current date. CUT must detect that the certificate is expired.

TEST OBJECT (CUT) Product, software module PARAMETERS DOPVROOTCERT, DOPVCACERT, DOPVEEEXPIRED and DOPVCRLEMPTY INSTRUCTIONS The certificate path shall be presented to the CUT. TEST

STEP

NO.

FUNCTION ISIS-MTT PART/SECTION

CONDITIONS, CONSTRAINTS

EVALUATION OF THE TEST STEP, INSTRUCTION FOR TEST

OPERATOR Test event to be controlled by the tester: 3-step certificate path with CRL to be presented to the CUT 1 ValidateCertPath() P5.T4#11 Function returns “false” Certificat expired, Certificate

path is invalid 2 BuildAndValidateCert

Path() P5.T3#5 Function returns “false” Certificate path is invalid

Page 234: ISIS-MTT Test Specification - TeleTrusT · 2009-04-03 · ISIS-MTT Test Specification: Introduction Version 1.1 Document History Page 3 of 19 Document History VERSION DATE CHANGES

ISIS-MTT Test Specification Part 5: Certificate Path Validation Version 1.1

Test Case Specifications for Path Validation Page 22 of 24

Table 17: Test Case TCPVINVALIDCA-1: Testing the processing of an invalid certificate path

TEST CASE NAME TCPVINVALIDCA-1 TEST PURPOSE Test the processing of an invalid, 3-step certificate path consisting of DOPVROOTCERT, DOPVCAINVALID, DOPVEECERT and

DOPVCRLEMPTY. CUT must reject the certificate path. The certificate path contains a CA certificate with a wrong signature. CUT must detect that it cannot verify the signature under the CA certificate.

TEST OBJECT (CUT) Product, software module PARAMETERS DOPVROOTCERT, DOPVCAINVALID, DOPVEECERT and DOPVCRLEMPTY. INSTRUCTIONS The certificate path shall be presented to the CUT. TEST

STEP

NO.

FUNCTION ISIS-MTT PART/SECTION

CONDITIONS, CONSTRAINTS

EVALUATION OF THE TEST STEP, INSTRUCTION FOR TEST

OPERATOR Test event to be controlled by the tester: 3-step certificate path with CRL to be presented to the CUT 1 ValidateCertPath() P5.T4#10 Function returns “false” Signature invalid, Certificate

path is invalid 2 BuildAndValidateCert

Path() P5.T3#5 Function returns “false” Certificate path is invalid

Page 235: ISIS-MTT Test Specification - TeleTrusT · 2009-04-03 · ISIS-MTT Test Specification: Introduction Version 1.1 Document History Page 3 of 19 Document History VERSION DATE CHANGES

ISIS-MTT Test Specification Part 5: Certificate Path Validation Version 1.1

Abbreviations Page 23 of 24

Abbreviations

ASN.1 abstract syntax notation one CSP certification service provider CUT component under test DER distinguished encoding rules DIT directory information tree F forbidden capability, test result: FAIL HTTP hypertext transfer protocol ISIS Industrial Signature Interoperability Specification LDAP lightweight directory access protocol MTT MailTrusT OCSP online certificate status protocol P test result: PASS PKI public key infrastructure TSA time stamping authority TSP time stamp protocol

Page 236: ISIS-MTT Test Specification - TeleTrusT · 2009-04-03 · ISIS-MTT Test Specification: Introduction Version 1.1 Document History Page 3 of 19 Document History VERSION DATE CHANGES

ISIS-MTT Test Specification Part 5: Certificate Path Validation Version 1.1

References Page 24 of 24

References

[ETSI-TSP] Draft ETSI TS 101 861 v1.1.4: Time Stamping Profile, November 2000 [ISIS-MTT] T7 i.Gr., TeleTrust: Common ISIS-MTT Specification for PKI

Applications; Version 1.1, February 2004 [LDAPv3] Wahl, M., Howes, T., and S. Kille, Lightweight Directory Access Protocol

(v3), RFC 2551, December 1997 [RFC1630] T. Berners-Lee, Universal Resource Identifiers in WWW, June 1994 [RFC1738] Berners-Lee, T., Masinter, L., and M. McCahill, Uniform Resource

Locators (URL), December 1994 [RFC1778] Howes, T., Kille, S., Yeong, W., and C. Robbins, The String

Representation of Standard Attribute Syntaxes, March 1995 [RFC1959] Howes, T., and M. Smith, An LDAP URL Format, June 1996 [RFC2068] Fielding, R., Gettys, J., Mogul, J., Frystyk, H., and T. Berners-Lee,

Hypertext Transfer Protocol -- HTTP/1.1, January 1997 [RFC2459] Housley, R., Ford, W., Polk, W., and D. Solo, Internet X.509 Public Key

Infrastructure - Certificate and CRL Profile, January 1999 [RFC2560] Internet X.509 Public Key Infrastructure - Online Certificate Status

Protocol – OCSP, RFC 2560, June 1999 [RFC2560] Myers, M., Ankney, R., Malpani, A., Galperin, S., and C. Adams, X.509

Internet Public Key Infrastructure Online Certificate Status Protocol -OCSP, June 1999

[TSP] Adams, C., Cain, P., Pinkas, D., and R. Zuccherato, Internet X.509 Public Key Infrastructure - Time Stamp Protocol (TSP), January 1999, RFC 3161, August 2001

Page 237: ISIS-MTT Test Specification - TeleTrusT · 2009-04-03 · ISIS-MTT Test Specification: Introduction Version 1.1 Document History Page 3 of 19 Document History VERSION DATE CHANGES

COMMON ISIS-MTT SPECIFICATIONS FOR INTEROPERABLE PKI APPLICATIONS

FROM T7 & TELETRUST

TEST SPECIFICATION

PART 7

CRYPTOGRAPHIC TOKEN INTERFACE

VERSION 1.1 – 22 SEPTEMBER 2004

Page 238: ISIS-MTT Test Specification - TeleTrusT · 2009-04-03 · ISIS-MTT Test Specification: Introduction Version 1.1 Document History Page 3 of 19 Document History VERSION DATE CHANGES

ISIS-MTT Test Specification Part 7: Cryptographic Token Interface Version 1.1

Contact Information Page 2 of 95

Contact Information

ISIS-MTT Working Group of the TeleTrusT Deutschland e.V.: www.teletrust.de The up-to-date version of ISIS-MTT can be downloaded from the above web site, from www.isis-mtt.org or from www.isis-mtt.de Please send comments and questions to [email protected]

Editors:

Jürgen Brauckmann

Alfred Giessler

Tamás Horváth

Hans-Joachim Knobloch

© T7 e.V. i.G. and TeleTrusT e.V., 2002-2004

Page 239: ISIS-MTT Test Specification - TeleTrusT · 2009-04-03 · ISIS-MTT Test Specification: Introduction Version 1.1 Document History Page 3 of 19 Document History VERSION DATE CHANGES

ISIS-MTT Test Specification Part 7: Cryptographic Token Interface Version 1.1

Document History Page 3 of 95

Document History

VERSION DATE

CHANGES

1.0.1 June 26th 2002

First published version

1.0.2 July 19th 2002

Editorial and stylistic changes, removal of bugs

1.0.2 August 11th 2003

Incorporated changes from Corrigenda version 1.2

1.1 September 22nd 2004

Removed all Test Cases for Functions that are not required to be supported according to P7.4. Removed Test Case TCGENERATEKEY-4, which cannot be effectively checked. Several editorial changes.

Page 240: ISIS-MTT Test Specification - TeleTrusT · 2009-04-03 · ISIS-MTT Test Specification: Introduction Version 1.1 Document History Page 3 of 19 Document History VERSION DATE CHANGES

ISIS-MTT Test Specification Part 7: Cryptographic Token Interface Version 1.1

Table of Contents Page 4 of 95

Table of Contents

1 Preface .......................................................................................................... 5

2 Test Case Specifications for ISIS-MTT Part 7....................................... 13

2.1 General Purpose Functions .............................................................................. 15

2.2 Slot and Token Management ........................................................................... 20

2.3 Session Management ......................................................................................... 33

2.4 Object Management.......................................................................................... 45

2.5 Encryption 58

2.6 Decryption 63

2.7 Message Digesting ............................................................................................. 68

2.8 Signing 74

2.9 Verification 77

2.10 TableMultiple Cryptographic Operations ...................................................... 80

2.11 Key Management............................................................................................... 85

2.12 Random Number Generation........................................................................... 93

Annexes............................................................................................................... 95

Annex A: Abbreviations ............................................................................................... 95

References .......................................................................................................... 95

Page 241: ISIS-MTT Test Specification - TeleTrusT · 2009-04-03 · ISIS-MTT Test Specification: Introduction Version 1.1 Document History Page 3 of 19 Document History VERSION DATE CHANGES

ISIS-MTT Test Specification Part 7: Cryptographic Token Interface Version 1.1

Preface Page 5 of 95

1 Preface

This part of the ISIS-MTT Test Specification covers the description of test cases for proving the functions and mechanisms provided by libraries that support [PKCS11], and components that use these libraries. These test cases can be used to check the conformance of products with Part 7 of [ISIS-MTT] regarding the

• set of functions and mechanisms supported by the library, and

• functionality within applications that are using the API, including

• initialization of slots (card readers),

• management of slots and tokens,

• management of objects,

• encryption and decryption,

• hashing,

• signing,

• verification of signatures and hash values,

• management of keys,

• random number generation, and

• parallel function management. An overview of the test cases corresponding to ISIS-MTT Part 7 is provided in Table 1.

Table 1: Test Cases corresponding to ISIS-MTT Part 7

TEST GROUP

SUBGROUP

NAME

TEST CASE NAME

TABLE TEST GROUP OBJECTIVE / TEST PURPOSE

GPF/ General purpose functions GPF/ TCINITIALIZE-1 Table 2 Ensure that the CUT is able to initialize the functions

library. GPF/ TCINITIALIZE-2 Table 3 Ensure that the CUT is able to reject a second trial to

initialize the functions library. GPF/ TCFINALIZE-1 Table 4 Ensure that the CUT is able to finish the use of the

functions library. GPF/ TCFINALIZE-2 Table 5 Ensure that the CUT able to reject the function call

C_Finalize with invalid input parameter preserved. GPF/ TCFINALIZE-3

Table 6 Ensure that the CUT is able to reject a second trial to finish the use of the functions library.

GPF/ TCGETINFO-1 Table 8

Ensure that the CUT is able to provide general information about the functions library.

Page 242: ISIS-MTT Test Specification - TeleTrusT · 2009-04-03 · ISIS-MTT Test Specification: Introduction Version 1.1 Document History Page 3 of 19 Document History VERSION DATE CHANGES

ISIS-MTT Test Specification Part 7: Cryptographic Token Interface Version 1.1

Preface Page 6 of 95

GPF/ TCGETINFO-2 Table 9 Ensure that the CUT is able to reject the function call C_GetInfo, if the functions library has not been initialized before.

GPF/ TCGETFUNCTIONLIST-1

Table 10

Ensure that the CUT is able to provide function pointers to all API routines in the functions library.

STM/ Slot and token management STM/ TCGETSLOTLIST-1 Table 11 Ensure that the CUT is able to indicate the number of all

slots attached to the CUT. STM/ TCGETSLOTLIST-2

Table 12 Ensure that the CUT is able to indicate the number of slots attached to the CUT with a token present.

STM/ TCGETSLOTLIST-3 Table 13 Ensure that the CUT is able to indicate the number and list of slots attached to the CUT.

STM/ TCGETSLOTINFO-1 Table 14

Ensure that the CUT is able to indicate information about a particular slot.

STM/ TCGETSLOTINFO-2 Table 15 Ensure that the CUT is able to reject the function call C_GetSlotInfo with an invalid slotID input parameter.

STM/ TCGETTOKENINFO-1 Table 16

Ensure that the CUT is able to indicate information about a particular token.

STM/ TCGETTOKENINFO-2 Table 17

Ensure that the CUT is able to reject the function call C_GetTokenInfo with an invalid slotID input parameter.

STM/ TCGETTOKENINFO-3 Table 18

Ensure that the CUT is able to reject the function call C_GetTokenInfo if the token has not been inserted into this slot.

STM/ TCGETTOKENINFO-4 Table 19

Ensure that the CUT is able to reject the function call C_GetTokenInfo, if an unsupported token has been inserted into this slot.

STM/ TCWAITFORSLOTEVENT-1

Table 20

To be provided

STM/ TCGETMECHANISMLIST-1

Table 21

Ensure that the CUT is able to indicate the number of mechanism types supported by a token.

STM/ TCGETMECHANISMLIST-2

Table 22

Ensure that the CUT is able to indicate the mechanism types supported by a token.

STM/ TCGETMECHANISMINFO-1

Table 23

Ensure that the CUT is able to indicate information about a particular mechanism supported by a token.

STM/ TCGETMECHANISMINFO-2

Table 24

Ensure that the CUT is able to reject the function call C_GetMechanismInfo for an invalid mechanism type.

STM/ TCINITTOKEN-1 Table 25

Ensure that the CUT is able to initialize a token without protected authentication path.

STM/ TCINITTOKEN-2 Table 26

Ensure that the CUT is able to initialize a token with protected authentication path.

STM/ TCINITTOKEN-3 Table 27

Ensure that the CUT is able to reject the function call C_InitToken with an invalid PIN.

STM/ TCINITPIN-1 Table 28

Ensure that the CUT is able to initialize the user PIN for a token without protected authentication path.

STM/ TCINITPIN-2 Table 29

Ensure that the CUT is able to initialize the user PIN for a token with protected authentication path.

STM/ TCINITPIN-3 Table 30

Ensure that the CUT is able to reject the function call C_InitPIN with an invalid PIN.

STM/ TCINITPIN-4 Table 31

Ensure that the CUT is able to reject the function call C_InitPIN in a state different from R/W SO.

Page 243: ISIS-MTT Test Specification - TeleTrusT · 2009-04-03 · ISIS-MTT Test Specification: Introduction Version 1.1 Document History Page 3 of 19 Document History VERSION DATE CHANGES

ISIS-MTT Test Specification Part 7: Cryptographic Token Interface Version 1.1

Preface Page 7 of 95

STM/ TCSETPIN-1 Table 32

Ensure that the CUT is able to modify the PIN of user that is currently logged in.

STM/ TCSETPIN-2 Table 33

Ensure that the CUT is able to reject the function call C_SetPIN in a state different from R/W SO or R/W User Functions.

SM/ Session management SM/ TCOPENSESSION-1 Table 34 Ensure that the CUT is able to open a read-only session

between an application and a token in a particular slot. SM/ TCOPENSESSION-2 Table 35 Ensure that the CUT is able to open a read-write session

between an application and a token in a particular slot. SM/ TCOPENSESSION-3

Table 36 Ensure that the CUT is able to reject the function call C_OpenSession with the CKF_SERIAL_SESSION bit off.

SM/ TCOPENSESSION-4 Table 37 Ensure that the CUT is able to reject the function call C_OpenSession, if the maximum number of session is exceeded.

SM/ TCOPENSESSION-5 Table 38

Ensure that the CUT is able to reject the function call C_OpenSession for a read-only session, IF a R/W SO session with the token is already open for the application.

SM/ TCOPENSESSION-6 Table 39 Ensure that the CUT is able to reject the function call C_OpenSession for a read-write session, IF the token is write-protected.

SM/ TCCLOSESESSION-1 Table 40

Ensure that the CUT is able to close a session between an application and a token.

SM/ TCCLOSESESSION-2 Table 41 Ensure that the CUT is able to reject the function call C_CloseSession with invalid session handle.

SM/ TCCLOSEALLSESSIONS-1

Table 42

Ensure that the CUT is able to close all sessions that an application has with a token.

SM/ TCCLOSEALLSESSIONS-2

Table 43 Ensure that the CUT is able to reject the function call C_CloseAllSessions with invalid slot id.

SM/ TCGETSESSIONINFO-1 Table 44

Ensure that the CUT is able to provide information about a session.

SM/ TCGETSESSIONINFO-2 Table 45 Ensure that the CUT is able to reject the function call C_GetSessionInfo with invalid session handle.

SM/ TCGETSESSIONINFO-3 Table 46

Ensure that the CUT is able to reject the function call C_GetSessionInfo for a closed session.

SM/ TCLOGIN-1 Table 47

Ensure that the CUT is able to log a normal user into a token with protected authentication path.

SM/ TCLOGIN-2 Table 48

Ensure that the CUT is able to log a normal user into a token without protected authentication path.

SM/ TCLOGIN-3 Table 49

Ensure that the CUT is able to log a SO user into a token with protected authentication path.

SM/ TCLOGIN-4 Table 50

Ensure that the CUT is able to log a SO into a token without protected authentication path.

SM/ TCLOGIN-5 Table 51

Ensure that the CUT is able to reject the function call C_Login with an invalid PIN for login of a normal user into a token with protected authentication path..

SM/ TCLOGIN-6 Table 52

Ensure that the CUT is able to reject the function call C_Login with an invalid PIN for login of a normal user into a token without protected authentication path.

SM/ TCLOGIN-7 Table 53

Ensure that the CUT is able to reject the function call C_Login for login of a SO user into a token with protected authentication path and a R/O session open for the token.

Page 244: ISIS-MTT Test Specification - TeleTrusT · 2009-04-03 · ISIS-MTT Test Specification: Introduction Version 1.1 Document History Page 3 of 19 Document History VERSION DATE CHANGES

ISIS-MTT Test Specification Part 7: Cryptographic Token Interface Version 1.1

Preface Page 8 of 95

SM/ TCLOGIN-8 Table 54

Ensure that the CUT is able to reject the function call C_Login for login of a SO user into a token without protected authentication path and a R/O session open for the token.

SM/ TCLOGOUT-1 Table 55

Ensure that the CUT is able to log out a user from a token.

SM/ TCLOGOUT-2 Table 56

Ensure that the CUT is able to reject the function call C_Logout with invalid session handle for logout of a user from a token.

SM/ TCLOGOUT-3 Table 57

Ensure that the CUT is able to reject the function call C_Logout, if the user has not been logged into the token.

OM/ Object management OM/ TCCREATEOBJECT-1 Table 58 Ensure that the CUT is able to create a new object for

which a valid template is supplied in the function call C_CreateObject.

OM/ TCCREATEOBJECT-2 Table 59 Ensure that the CUT is able to reject the function call C_CreateObject with a value for an invalid attribute.

OM/ TCCREATEOBJECT-3 Table 60

Ensure that the CUT is able to reject the function call C_CreateObject with an invalid value for a valid attribute.

OM/ TCCREATEOBJECT-4 Table 61 Ensure that the CUT is able to reject the function call C_CreateObject with insufficient attribute values.

OM/ TCCREATEOBJECT-5 Table 62

Ensure that the CUT is able to reject the function call C_CreateObject with inconsistent attribute values.

OM/ TCCREATEOBJECT-6 Table 63 Ensure that the CUT is able to create a new object for which a value for a read-only attribute is specified as modifiable.

OM/ TCCOPYOBJECT-1 Table 64

Ensure that the CUT is able to copy an object, i.e. to create a new object for the copy.

OM/ TCCOPYOBJECT-2 Table 65 Ensure that the CUT is able to reject the function call C_CopyObject with a value for an invalid attribute.

OM/ TCCOPYOBJECT-3 Table 66

Ensure that the CUT is able to reject the function call C_CopyObject with an invalid value for a valid attribute.

OM/ TCCOPYOBJECT-4 Table 67 Ensure that the CUT is able to reject the function call C_CopyObject with inconsistent attribute values.

OM/ TCDESTROYOBJECT-1 Table 68

Ensure that the CUT is able to destroy an object.

OM/ TCDESTROYOBJECT-2 Table 69 Ensure that the CUT is able to reject the function call C_DestroyObject with an invalid object handle value.

OM/ TCGETOBJECTSIZE-1 Table 70

Ensure that the CUT is able to indicate the size of an object.

OM/ TCGETOBJECTSIZE-2 Table 71 Ensure that the CUT is able to reject the function call C_GetObjectSize with an invalid object handle value.

OM/ TCGETATTRIBUTEVALUE-1

Table 72

Ensure that the CUT is able to indicate the value of one or more attributes of an object.

OM/ TCGETATTRIBUTEVALUE-2

Table 73 Ensure that the CUT is able to reject the function call C_GetAttributeValue with an invalid object handle value.

OM/ TCGETATTRIBUTEVALUE-3

Table 74

Ensure that the CUT is able to reject the function call C_GetAttributeValue with an requested attribute for a sensitive or non-extractable object.

OM/ TCGETATTRIBUTEVALUE-4

Table 75 Ensure that the CUT is able to reject the function call C_GetAttributeValue with a value for an invalid attribute.

OM/ TCSETATTRIBUTEVALUE-1

Table 76

Ensure that the CUT is able to modify the value of one or more attributes of an object.

Page 245: ISIS-MTT Test Specification - TeleTrusT · 2009-04-03 · ISIS-MTT Test Specification: Introduction Version 1.1 Document History Page 3 of 19 Document History VERSION DATE CHANGES

ISIS-MTT Test Specification Part 7: Cryptographic Token Interface Version 1.1

Preface Page 9 of 95

OM/ TCSETATTRIBUTEVALUE-2

Table 77 Ensure that the CUT is able to reject the function call C_SetAttributeValue with a value of an attribute which is incompatible with other attributes of the object.

OM/ TCFINDOBJECTSINIT-1

Table 78

Ensure that the CUT is able to initialize a search for token and session objects that match a template.

OM/ TCFINDOBJECTSINIT-2

Table 79 Ensure that the CUT is able to reject the function call C_FindObjectsInit with an invalid session handle value.

OM/ TCFINDOBJECTS-1 Table 80

Ensure that the CUT is able to continue a search for session and token objects that match a template, and is able to obtain the relevant object handles.

OM/ TCFINDOBJECTS-2 Table 81 Ensure that the CUT is able to reject the function call C_FindObjects with an invalid session handle value.

OM/ TCFINDOBJECTSFINAL-1

Table 82

Ensure that the CUT is able to terminate a search for token and session objects.

OM/ TCFINDOBJECTSFINAL-2

Table 83 Ensure that the CUT is able to reject the function call C_FindObjectsFINAL with an invalid session handle value.

ENC/ ENCRYPTion ENC/ TCENCRYPTINIT-1 Table 84 Ensure that the CUT is able to initialize an encryption

operation. ENC/ TCENCRYPTINIT-2 Table 85 Ensure that the CUT is able to reject the function call

C_EncryptInit with an invalid session handle value. ENC/ TCENCRYPTINIT-3

Table 86 Ensure that the CUT is able to reject the function call C_EncryptInit with an invalid key handle value.

ENC/ TCENCRYPTINIT-4 Table 87 Ensure that the CUT is able to reject the function call C_EncryptInit with an invalid mechanism type.

ENC/ TCENCRYPT-1 Table 88

Ensure that the CUT is able to encrypt single-part data.

ENC/ TCENCRYPT-2 Table 89 Ensure that the CUT is able to reject the function call C_EncryptInit , if the encryption operation has not been initialized before.

ENC/ TCENCRYPTUPDATE-1

Table 90

Ensure that the CUT is able to perform a multiple-part encryption operation.

ENC/ TCENCRYPTUPDATE-2

Table 91 Ensure that the CUT is able to reject the function call C_EncryptUpdate, if the encryption operation has not been initialized before.

ENC/ TCENCRYPTFINAL-1 Table 92

Ensure that the CUT is able to finish a multiple-part encryption operation.

ENC/ TCENCRYPTFINAL-2 Table 93 Ensure that the CUT is able to reject the function call C_EncryptFinal, if the encryption operation has not been initialized before.

DEC/ Decryption DEC/ TCDECRYPTINIT-1 Table 94 Ensure that the CUT is able to initialize a decryption

operation. DEC/ TCDECRYPTINIT-2 Table 95 Ensure that the CUT is able to reject the function call

C_DecryptInit with an invalid session handle value. DEC/ TCDECRYPTINIT-3

Table 96 Ensure that the CUT is able to reject the function call C_DecryptInit with an invalid key handle value.

DEC/ TCDECRYPTINIT-4 Table 97 Ensure that the CUT is able to reject the function call C_DecryptInit with an invalid mechanism type.

DEC/ TCDECRYPT-1 Table 98

Ensure that the CUT is able to decrypt encrypted data in a single part.

Page 246: ISIS-MTT Test Specification - TeleTrusT · 2009-04-03 · ISIS-MTT Test Specification: Introduction Version 1.1 Document History Page 3 of 19 Document History VERSION DATE CHANGES

ISIS-MTT Test Specification Part 7: Cryptographic Token Interface Version 1.1

Preface Page 10 of 95

DEC/ TCDECRYPT-2 Table 99 Ensure that the CUT is able to reject the function call C_Decrypt, if the decryption operation has not been initialized before.

DEC/ TCDECRYPTUPDATE-1

Table 100

Ensure that the CUT is able to perform a multiple-part decryption operation.

DEC/ TCDECRYPTUPDATE-2

Table 101 Ensure that the CUT is able to reject the function call C_DecryptUpdate, if the decryption operation has not been initialized before.

DEC/ TCDECRYPTFINAL-1 Table 102

Ensure that the CUT is able to finish a multiple-part decryption operation.

DEC/ TCDECRYPTFINAL-2 Table 103 Ensure that the CUT is able to reject the function call C_DecryptFinal, if the encryption operation has not been initialized before.

DIG/ Message digesting DIG/ TCDIGESTINIT-1 Table 104 Ensure that the CUT is able to initialize a message-

digesting operation. DIG/ TCDIGESTINIT-2 Table 105 Ensure that the CUT is able to reject the function call

C_DigestInit with an invalid session handle value. DIG/ TCDIGESTINIT-3

Table 106 Ensure that the CUT is able to reject the function call C_DigestInit with an invalid mechanism type.

DIG/ TCDIGEST-1 Table 107 Ensure that the CUT is able to digest data in a single part. DIG/ TCDIGEST-2

Table 108 Ensure that the CUT is able to reject the function call C_Digest, if the digesting operation has not been initialized before.

DIG/ TCDIGESTUPDATE-1 Table 109 Ensure that the CUT is able to perform a multiple-part message-digesting operation.

DIG/ TCDIGESTUPDATE-2 Table 110

Ensure that the CUT is able to reject the function call C_DigestUpdate f the digesting operation has not been initialized before.

DIG/ TCDIGESTKEY-1 Table 111 Ensure that the CUT is able to continue a multiple-part message-digesting operation by digesting the value of a secret key.

DIG/ TCDIGESTKEY-2 Table 112

Ensure that the CUT is able to reject the function call C_DigestKey, if the digesting operation has not been initialized before.

DIG/ TCDIGESTKEY-3 Table 113 Ensure that the CUT is able to reject the function call C_DigestKey with an invalid key handle.

DIG/ TCDIGESTFINAL-1 Table 114

Ensure that the CUT is able to finish a multiple-part message-digesting operation.

DIG/ TCDIGESTFINAL-2 Table 115 Ensure that the CUT is able to reject the function call C_DigestFinal, if the message-digesting operation has not been initialized before.

SIG/ Signing and MACing SIG/ TCSIGNINIT-1 Table 116 Ensure that the CUT is able to initialize a signature

operation. SIG/ TCSIGNINIT-2 Table 117 Ensure that the CUT is able to reject the function call

C_SignInit with an invalid session handle value. SIG/ TCSIGNINIT-3

Table 118 Ensure that the CUT is able to reject the function call C_SignInit with an invalid key handle value.

SIG/ TCSIGNINIT-4 Table 119 Ensure that the CUT is able to reject the function call C_SignInit with an invalid mechanism type.

SIG/ TCSIGN-1 Table 120

Ensure that the CUT is able to sign data in a single part.

Page 247: ISIS-MTT Test Specification - TeleTrusT · 2009-04-03 · ISIS-MTT Test Specification: Introduction Version 1.1 Document History Page 3 of 19 Document History VERSION DATE CHANGES

ISIS-MTT Test Specification Part 7: Cryptographic Token Interface Version 1.1

Preface Page 11 of 95

SIG/ TCSIGN-2 Table 121 Ensure that the CUT is able to reject the function call C_Sign, if the signature operation has not been initialized before.

VER/ Verification VER/ TCVERIFYINIT-1 Table 122 Ensure that the CUT is able to initialize a verification

operation, where the signature is an appendix to the data. VER/ TCVERIFYINIT-2 Table 123 Ensure that the CUT is able to reject the function call

C_VerifyInit with an invalid session handle value. VER/ TCVERIFYINIT-3

Table 124 Ensure that the CUT is able to reject the function call C_VerifyInit with an invalid key handle value.

VER/ TCVERIFYINIT-4 Table 125 Ensure that the CUT is able to reject the function call C_VerifyInit with an invalid mechanism type.

VER/ TCVERIFY-1 Table 126

Ensure that the CUT is able to verify a signature in a single-part operation, where the signature is an appendix to the data.

VER/ TCVERIFY-2 Table 127 Ensure that the CUT is able to reject the function call C_Verify , if the verification operation has not been initialized before.

VER/ TCVERIFY-3 Table 128

Ensure that the CUT is able to reject the function call C_Verify with an invalid signature.

MCO/ Multiple Cryptographic Operations MCO/ TCDIGESTENCRYPTU

PDATE-1 Table 129 Ensure that the CUT is able to perform multiple-part digest

and encryption operations, processing another data part. MCO/ TCDIGESTENCRYPTU

PDATE-2 Table 130

Ensure that the CUT is able to reject the function call C_DigestEncryptUpdate, if the digesting and encryption operations have not been initialized before.

MCO/ TCDECRYPTDIGESTUPDATE-1

Table 131

Ensure that the CUT is able to perform multiple-part digest and decryption operations, processing another data part.

MCO/ TCDECRYPTDIGESTUPDATE-2

Table 132 Ensure that the CUT is able to reject the function call C_DecryptDigestUpdate, if the digesting, and decryption operations have not been initialized before.

KM/ KEY Management KM/ TCGENERATEKEY-1 Table 133 Ensure that the CUT is able generate a secret key, creating

a new key object. KM/ TCGENERATEKEY-2 Table 134 Ensure that the CUT is able to reject the function call

C_GenerateKey with an invalid session handle. KM/ TCGENERATEKEY-3

Table 135 Ensure that the CUT is able to reject the function call C_GenerateKEY with an inconsistent template.

KM/ TCGENERATEKEYPAI

R-1 Table 136

Ensure that the CUT is able generate a public/private key pair, creating new key objects.

KM/ TCGENERATEKEYPAIR-2

Table 137 Ensure that the CUT is able to reject the function call C_GenerateKeyPair with an invalid session handle.

KM/ TCGENERATEKEYPAIR-3

Table 138

Ensure that the CUT is able to reject the function call C_GenerateKeyPair with an inconsistent template.

KM/ TCGENERATEKEYPAIR-4

Table 139 Ensure that the CUT is able to reject the function call C_GenerateKeyPair with an incomplete template.

KM/ TCWRAPKEY-1 Table 140

Ensure that the CUT is able encrypt a private or secret key.

KM/ TCWRAPKEY-2 Table 141 Ensure that the CUT is able to reject the function call C_WrapKey with an invalid session handle.

Page 248: ISIS-MTT Test Specification - TeleTrusT · 2009-04-03 · ISIS-MTT Test Specification: Introduction Version 1.1 Document History Page 3 of 19 Document History VERSION DATE CHANGES

ISIS-MTT Test Specification Part 7: Cryptographic Token Interface Version 1.1

Preface Page 12 of 95

KM/ TCWRAPKEY-3 Table 142

Ensure that the CUT is able to reject the function call C_WrapKey with an non-wrappable key.

KM/ TCWRAPKEY-4 Table 143 Ensure that the CUT is able to reject the function call C_WrapKey with an non-extractable key.

KM/ TCUNWRAPKEY-1 Table 144

Ensure that the CUT is able to decrypt an encrypted key, creating a new private key or secret key object.

KM/ TCUNWRAPKEY-2 Table 145 Ensure that the CUT is able to reject the function call C_UnwrapKey with an invalid session handle.

KM/ TCUNWRAPKEY-3 Table 146

Ensure that the CUT is able to reject the function call C_UnwrapKey with an invalid unwrapping key handle.

RNG/ RANDOM Number Generation RNG/ TCSEEDRANDOM-1 Table 147 Ensure that the CUT is able to mix additional seed material

into the token's random number generator. RNG/ TCSEEDRANDOM-2 Table 148 Ensure that the CUT is able to reject the function call

C_SeedRandom with an invalid session handle. RNG/ TCGENERATERANDO

M-1 Table 149

Ensure that the CUT is able to generate random, or pseudo-random data.

RNG/ TCGENERATERANDOM-2

Table 150 Ensure that the CUT is able to reject the function call C_GenerateRandom with an invalid session handle.

ST/ Stubs ST/ TCSTUBS-1 Table 7 Ensure that the CUT provides a stub for every not-

supported function

Page 249: ISIS-MTT Test Specification - TeleTrusT · 2009-04-03 · ISIS-MTT Test Specification: Introduction Version 1.1 Document History Page 3 of 19 Document History VERSION DATE CHANGES

ISIS-MTT Test Specification Part 7: Cryptographic Token Interface Version 1.1

Test Case Specifications for ISIS-MTT Part 7 Page 13 of 95

2 Test Case Specifications for ISIS-MTT Part 7

This chapter provides the description of test cases for proving the functions and mechanisms provided by libraries and tokens that support [PKCS11 97], and applications that use these libraries and tokens. These test cases can be used to check the conformance of products with Part 7 of [ISIS-MTT] regarding the

• set of functions and mechanisms supported by the library, and

• functionality within applications that are using the API, including

• initialization of slots (card readers),

• management of slots and tokens,

• management of objects,

• encryption and decryption,

• hashing,

• signing,

• verification of signatures and hash values,

• management of keys,

• random number generation, and

• parallel function management. The keywords CONTINUE, INPUT, LOG, MODIFICATION, PARAMETER, RESULT, RETURN, and STATE are used in the following test case tables to provide instructions for test step evaluation and test operators. These keywords have the following meaning: CONTINUE Test case shall be continued with the next test step or test case

INPUT Information about conditions or constraints of input parameter values

LOG Logging of values of output parameters that shall be documented in the test report.

MODIFICATION Reference to a test case whose description is used for the description of a new test case. The key words in the description of the new test case contain only the differences with respect to the referenced test case.

PARAMETER Test case parameter, which indicates that a test case can be run with different values of this parameter.

RESULT Conditions that must be met, in order to assign a PASS test result to the observed test outcome of an executed test case. Test outcomes that do not meet these conditions shall lead to a FAIL test result.

RETURN Return value that is expected to be returned by a particular function call in addition to the values of the output parameters of this function.

Page 250: ISIS-MTT Test Specification - TeleTrusT · 2009-04-03 · ISIS-MTT Test Specification: Introduction Version 1.1 Document History Page 3 of 19 Document History VERSION DATE CHANGES

ISIS-MTT Test Specification Part 7: Cryptographic Token Interface Version 1.1

Test Case Specifications for ISIS-MTT Part 7 Page 14 of 95

STATE Information about a state, in which a particular test case shall be executed.

Test cases of this test group are referenced by the character mnemonics “TCfunction name” (TC for test case, function name for name of PKCS#11 function), followed by a unique number that allows to add further identified test cases to this category. The cryptographic token interface can be considered as a low-level and local interface. Due to the nature of this interface the behavior of a CUT cannot be remotely controlled and observed by a tester. However, there is a strong requirement to use advanced testing methods preferably based on the availability of automatic testing tools. Possible solutions would be testing tools that simulate the CUT's DLL in order to check the function calls initiated by the CUT's application

by logging the received function calls and their related parameter values,

simulate the CUT's application in order to check the processing of function calls in the DLL and token, by logging the received return codes and related parameter values, or

operate in a spy mode, in which function calls from the CUT's application are directed to the tester which logs the function calls and the related parameter values, and in turn forwards the function calls unchanged to the CUT's DLL and token. Return codes and related parameters received from the token will also be logged and passed unchanged to the CUT's application.

Finally, the use of any software in the CUT that supports testing (i.e. configuration of the CUT to be run in debugging or testing mode) is recommended.

Page 251: ISIS-MTT Test Specification - TeleTrusT · 2009-04-03 · ISIS-MTT Test Specification: Introduction Version 1.1 Document History Page 3 of 19 Document History VERSION DATE CHANGES

ISIS-MTT Test Specification Part 7: Cryptographic Token Interface Version 1.1

Test Case Specifications for ISIS-MTT Part 7 Page 15 of 95

2.1 General Purpose Functions

Table 2: Test Case TCINITIALIZE-1: Initialization of Functions Library

TEST CASE NAME TCINITIALIZE-1

TEST PURPOSE Ensure that the CUT is able to initialize the functions library.

TEST OBJECT (CUT) Product, software module, cryptographic token

TEST

STEP # FUNCTION ISIS-MTT

PART.SECTION CONDITIONS, CONSTRAINTS

EVALUATION OF THE TEST STEP, INSTRUCTION FOR TEST OPERATOR

1 C_Initialize P7.S4.1 INPUT pInitArgs with the value NULL_PTR RETURN CKR_OK

STATE functions library has not been initialized RESULT CKR_OK

Table 3: Test Case TCINITIALIZE-2: Rejection of Further Attempts to Initialize the Functions Library

TEST CASE NAME TCINITIALIZE-2

TEST PURPOSE Ensure that the CUT is able to reject a second trial to initialize the functions library.

TEST OBJECT (CUT) Product, software module, cryptographic token

TEST

STEP # FUNCTION ISIS-MTT

PART.SECTION CONDITIONS, CONSTRAINTS

EVALUATION OF THE TEST STEP, INSTRUCTION FOR TEST OPERATOR

1 C_Initialize P7.S4.1 INPUT pInitArgs with the value NULL_PTR RETURN CKR_CRYPTOKI_AREADY_INITIALIZED

STATE functions library has already been initialized RESULT CKR_CRYPTOKI_AREADY_INITIALIZED

Page 252: ISIS-MTT Test Specification - TeleTrusT · 2009-04-03 · ISIS-MTT Test Specification: Introduction Version 1.1 Document History Page 3 of 19 Document History VERSION DATE CHANGES

ISIS-MTT Test Specification Part 7: Cryptographic Token Interface Version 1.1

Test Case Specifications for ISIS-MTT Part 7 Page 16 of 95

Table 4: Test Case TCFINALIZE-1: Closing of Functions Library

TEST CASE NAME TCFINALIZE-1

TEST PURPOSE Ensure that the CUT is able to finish the use of the functions library.

TEST OBJECT (CUT) Product, software module, cryptographic token

TEST

STEP # FUNCTION ISIS-MTT

PART.SECTION CONDITIONS, CONSTRAINTS

EVALUATION OF THE TEST STEP, INSTRUCTION FOR TEST OPERATOR

1 C_Finalize P7.S4.1 INPUT pReserved with the value NULL_PTR RETURN CKR_OK

STATE functions library has already been initialized RESULT CKR_OK

Table 5: Test Case TCFINALIZE-2: Rejection of Closing the Functions Library

TEST CASE NAME TCFINALIZE-2

TEST PURPOSE Ensure that the CUT able to reject the function call C_Finalize with invalid input parameter preserved.

TEST OBJECT (CUT) Product, software module, cryptographic token

TEST

STEP # FUNCTION ISIS-MTT

PART.SECTION CONDITIONS, CONSTRAINTS

EVALUATION OF THE TEST STEP, INSTRUCTION FOR TEST OPERATOR

1 C_Finalize P7.S4.1 INPUT pReserved with the value different from NULL_PTR RETURN CKR_ARGUMENTS_BAD

STATE functions library has already been initialized RESULT CKR_ARGUMENTS_BAD

Page 253: ISIS-MTT Test Specification - TeleTrusT · 2009-04-03 · ISIS-MTT Test Specification: Introduction Version 1.1 Document History Page 3 of 19 Document History VERSION DATE CHANGES

ISIS-MTT Test Specification Part 7: Cryptographic Token Interface Version 1.1

Test Case Specifications for ISIS-MTT Part 7 Page 17 of 95

Table 6: Test Case TCFINALIZE-3: Rejection of Further Trials to Close the Functions Library

TEST CASE NAME TCFINALIZE-3

TEST PURPOSE Ensure that the CUT is able to reject a second trial to finish the use of the functions library.

TEST OBJECT (CUT) Product, software module,cryptographic token

TEST

STEP # FUNCTION ISIS-MTT

PART.SECTION CONDITIONS, CONSTRAINTS

EVALUATION OF THE TEST STEP, INSTRUCTION FOR TEST OPERATOR

C_Finalize P7.S4.1 INPUT pReserved with the value NULL_PTR RETURN CKR_CRYPTOKI_NOT_INITIALIZED

STATE functions library has not been initialized before RESULT CKR_CRYPTOKI_NOT_INITIALIZED

Table 7: Test Case TCSTUBS-1: Provision of Stub for Unsupported Functions

TEST CASE NAME TCSTUBS-1

TEST PURPOSE Ensure that the CUT provides a stub for every unsupported function.

TEST OBJECT (CUT) Product, software module,cryptographic token

TEST

STEP # FUNCTION ISIS-MTT

PART.SECTION CONDITIONS, CONSTRAINTS

EVALUATION OF THE TEST STEP, INSTRUCTION FOR TEST OPERATOR

1 C_* P7.S4 INPUT with valid values RETURN CKR_FUNCTION_NO_SUPPORTED

PARAMETER Name of unsupported function as indicated in the CCS RESULT CKR_FUNCTION_NO_SUPPORTED

Page 254: ISIS-MTT Test Specification - TeleTrusT · 2009-04-03 · ISIS-MTT Test Specification: Introduction Version 1.1 Document History Page 3 of 19 Document History VERSION DATE CHANGES

ISIS-MTT Test Specification Part 7: Cryptographic Token Interface Version 1.1

Test Case Specifications for ISIS-MTT Part 7 Page 18 of 95

Table 8: Test Case TCGETINFO-1: Provision of General Information About the Functions Library

TEST CASE NAME TCGETINFO-1

TEST PURPOSE Ensure that the CUT is able to provide general information about the functions library.

TEST OBJECT (CUT) Product, software module,cryptographic token

TEST

STEP # FUNCTION ISIS-MTT

PART.SECTION CONDITIONS, CONSTRAINTS

EVALUATION OF THE TEST STEP, INSTRUCTION FOR TEST OPERATOR

1 C_GetInfo P7.S4.1 INPUT pInfo with the value that points to the location that receives the information RETURN CKR_OK

STATE functions library has already been initialized LOG CK_INFO pointed to by pInfo including the fields (cryptokiVersion, manufacturerID, flags, libraryDescription, and libraryVersion) RESULT CKR_OK and LOG information consistent with information about the CUT (see Fehler! Verweisquelle konnte nicht gefunden werden.)

Table 9: Test Case TCGETINFO-2. Rejection of Funcion Call C_GetInfo for Non-Initialized Functions Library

TEST CASE NAME TCGETINFO-2

TEST PURPOSE Ensure that the CUT is able to reject the function call C_GetInfo if the functions library has not been initialized before..

TEST OBJECT (CUT) Product, software module,cryptographic token

TEST

STEP # FUNCTION ISIS-MTT

PART.SECTION CONDITIONS, CONSTRAINTS

EVALUATION OF THE TEST STEP, INSTRUCTION FOR TEST OPERATOR

1 C_GetInfo P7.S4.1 INPUT pInfo with the value that points to the location that receives the information RETURN CKR_CRYPTOKI_NOT_INITIALIZED

STATE functions library has not been initialized before RESULT CKR_CRYPTOKI_NOT_INITIALIZED

Page 255: ISIS-MTT Test Specification - TeleTrusT · 2009-04-03 · ISIS-MTT Test Specification: Introduction Version 1.1 Document History Page 3 of 19 Document History VERSION DATE CHANGES

ISIS-MTT Test Specification Part 7: Cryptographic Token Interface Version 1.1

Test Case Specifications for ISIS-MTT Part 7 Page 19 of 95

Table 10: Test Case TCGETFUNCTIONLIST-1: Provision of Function Pointers to All API Routines in the Functions Library

TEST CASE NAME TCGETFUNCTIONLIST-1

TEST PURPOSE Ensure that the CUT is able to provide function pointers to all API routines in the functions library.

TEST OBJECT (CUT) Product, software module,cryptographic token

TEST

STEP # FUNCTION ISIS-MTT

PART.SECTION CONDITIONS, CONSTRAINTS

EVALUATION OF THE TEST STEP, INSTRUCTION FOR TEST OPERATOR

1 C_GetFunctionList

P7.S4.1 INPUT ppFunctionList with the value that points to the location that receives a pointer to the API routines in the library RETURN CKR_OK

PARAMETER / STATE functions library has been or has not been initialized before. LOG received information about the API routines in the library. RESULT CKR_OK and LOG information consistent with information about the CUT (see Fehler! Verweisquelle konnte nicht gefunden werden.)

Page 256: ISIS-MTT Test Specification - TeleTrusT · 2009-04-03 · ISIS-MTT Test Specification: Introduction Version 1.1 Document History Page 3 of 19 Document History VERSION DATE CHANGES

ISIS-MTT Test Specification Part 7: Cryptographic Token Interface Version 1.1

Test Case Specifications for ISIS-MTT Part 7 Page 20 of 95

2.2 Slot and Token Management

Table 11: Test Case TCGETSLOTLIST-1: Indication of All Attached Slots

TEST CASE NAME TCGETSLOTLIST-1

TEST PURPOSE Ensure that the CUT is able to indicate the number of all slots attached to the CUT.

TEST OBJECT (CUT) Product, software module,cryptographic token

TEST

STEP # FUNCTION ISIS-MTT

PART.SECTION CONDITIONS, CONSTRAINTS

EVALUATION OF THE TEST STEP, INSTRUCTION FOR TEST OPERATOR

1 C_GetSlotList P7.S4.2 INPUT pSlotList with the value NULL_PTR, and tokenPresent with the value FALSE RETURN CKR_OK

PARAMETER number of attached slots, number of tokens inserted into slots STATE slots have been attached to the CUT, and functions library has been initialized LOG value of pulCount. RESULT CKR_OK and LOG information consistent with PARAMETER information

Page 257: ISIS-MTT Test Specification - TeleTrusT · 2009-04-03 · ISIS-MTT Test Specification: Introduction Version 1.1 Document History Page 3 of 19 Document History VERSION DATE CHANGES

ISIS-MTT Test Specification Part 7: Cryptographic Token Interface Version 1.1

Test Case Specifications for ISIS-MTT Part 7 Page 21 of 95

Table 12: Test Case TCGETSLOTLIST-2: Indication of All Attached Slots With Token Present

TEST CASE NAME TCGETSLOTLIST-2

TEST PURPOSE Ensure that the CUT is able to indicate the number of slots attached to the CUT with a token present.

TEST OBJECT (CUT) Product, software module,cryptographic token

TEST

STEP # FUNCTION ISIS-MTT

PART.SECTION CONDITIONS, CONSTRAINTS

EVALUATION OF THE TEST STEP, INSTRUCTION FOR TEST OPERATOR

1 C_GetSlotList P7.S4.2 INPUT pSlotList with the value NULL_PTR, and tokenPresent with the value TRUE RETURN CKR_OK

PARAMETER number of attached slots, number of tokens inserted into slots STATE slots have been attached to the CUT, and functions library has been initialized LOG pulCount RESULT CKR_OK and LOG information consistent with PARAMETER information

Table 13: Test Case TCGETSLOTLIST-3: Indication of Number And List of Attached Slots

TEST CASE NAME TCGETSLOTLIST-3

TEST PURPOSE Ensure that the CUT is able to indicate the number and list of slots attached to the CUT.

TEST OBJECT (CUT) Product, software module,cryptographic token

TEST

STEP # FUNCTION ISIS-MTT

PART.SECTION CONDITIONS, CONSTRAINTS

EVALUATION OF THE TEST STEP, INSTRUCTION FOR TEST OPERATOR

1 C_GetSlotList P7.S4.2 INPUT pSlotList with the value not NULL_PTR, and tokenPresent with the value TRUE or FALSE RETURN CKR_OK or CKR_BUFFER_TOO_SMALL

PARAMETER number of attached slots, number of tokens inserted into slots, input parameter tokenPresent with the value TRUE or FALSE, and buffer size of pSlotList too small or sufficient STATE further slot have not been attached to the system after initialization of functions library LOG value of pulCount and pSlotList RESULT CKR_OK or CKR_BUFFER_TOO_SMALL and LOG information consistent with PARAMETER information

Page 258: ISIS-MTT Test Specification - TeleTrusT · 2009-04-03 · ISIS-MTT Test Specification: Introduction Version 1.1 Document History Page 3 of 19 Document History VERSION DATE CHANGES

ISIS-MTT Test Specification Part 7: Cryptographic Token Interface Version 1.1

Test Case Specifications for ISIS-MTT Part 7 Page 22 of 95

Table 14: Test Case TCGETSLOTINFO-1: Information About Particular Slot

TEST CASE NAME TCGETSLOTINFO-1

TEST PURPOSE Ensure that the CUT is able to indicate information about a particular slot.

TEST OBJECT (CUT) Product, software module,cryptographic token

TEST

STEP # FUNCTION ISIS-MTT

PART.SECTION CONDITIONS, CONSTRAINTS

EVALUATION OF THE TEST STEP, INSTRUCTION FOR TEST OPERATOR

1 C_GetSlotInfo

P7.S4.2 INPUT slotID with value that identifies an attached slot RETURN CKR_OK

STATE related slot has been attached to the CUT, functions library has been initialized. LOG value of CK_SLOT_INFO pointed to by pInfo including the fields (slotDescription, manufacturerID, flags, hardwareVersion, and firmwareVersion) RESULT CKR_OK and LOG information consistent with information about the CUT (see Fehler! Verweisquelle konnte nicht gefunden werden.)

Table 15: Test Case TCGETSLOTINFO-2: Rejection of Function Call C_GetSlotInfo

TEST CASE NAME TCGETSLOTINFO-2

TEST PURPOSE Ensure that the CUT is able to reject the function call C_GetSlotInfo with an invalid slotID input parameter.

TEST OBJECT (CUT) Product, software module,cryptographic token

TEST

STEP # FUNCTION ISIS-MTT

PART.SECTION CONDITIONS, CONSTRAINTS

EVALUATION OF THE TEST STEP, INSTRUCTION FOR TEST OPERATOR

1 C_GetSlotInfo

P7.S4.2 INPUT slotID with an invalid value RETURN CKR_SLOT_ID_INVALID

STATE related slot has not been attached to the CUT, functions library has been initialized. RESULT CKR_SLOT_ID_INVALID

Page 259: ISIS-MTT Test Specification - TeleTrusT · 2009-04-03 · ISIS-MTT Test Specification: Introduction Version 1.1 Document History Page 3 of 19 Document History VERSION DATE CHANGES

ISIS-MTT Test Specification Part 7: Cryptographic Token Interface Version 1.1

Test Case Specifications for ISIS-MTT Part 7 Page 23 of 95

Table 16: Test Case TCGETTOKENINFO-1: Indication of Information About Particular Token

TEST CASE NAME TCGETTOKENINFO-1

TEST PURPOSE Ensure that the CUT is able to indicate information about a particular token

TEST OBJECT (CUT) Product, software module,cryptographic token

TEST

STEP # FUNCTION ISIS-MTT

PART.SECTION CONDITIONS, CONSTRAINTS

EVALUATION OF THE TEST STEP, INSTRUCTION FOR TEST OPERATOR

1 C_GetTokenInfo

P7.S4.2 INPUT slotID with value that identifies an attached slot RETURN CKR_OK

STATE related slot has been attached to the CUT, functions library has been initialized. and the token has been inserted into this slot LOG value of CK_TOKEN_INFO pointed to by pInfo including the fields (label, manufacturerID, model, serialNumber, flags, ulMaxSessionCount, ulSessionCount, ulRwSessionCount, ulMaxPin, ulMinPin, ulTotalPublicMemory, ulFreePublicMemory, ulTotalPrivateMemory, hardwareVersion, firmwareVersion, and utcTime) RESULT CKR_OK and LOG information consistent with information about the CUT (see Fehler! Verweisquelle konnte nicht gefunden werden.)

Table 17: Test Case TCGetTokenInfo-2: Rejection of Function Call C_GetTokenInfo For Invalid Slot ID

TEST CASE NAME TCGETTOKENINFO-2

TEST PURPOSE Ensure that the CUT is able to reject the function call C_GetTokenInfo with an invalid slotID input parameter.

TEST OBJECT (CUT) Product, software module,cryptographic token

TEST

STEP # FUNCTION ISIS-MTT

PART.SECTION CONDITIONS, CONSTRAINTS

EVALUATION OF THE TEST STEP, INSTRUCTION FOR TEST OPERATOR

1 C_GetTokenInfo

P7.S4.2 INPUT slotID with an invalid value RETURN CKR_SLOT_ID_INVALID

STATE related slot has not been attached to the CUT, functions library has been initialized RESULT CKR_SLOT_ID_INVALID

Page 260: ISIS-MTT Test Specification - TeleTrusT · 2009-04-03 · ISIS-MTT Test Specification: Introduction Version 1.1 Document History Page 3 of 19 Document History VERSION DATE CHANGES

ISIS-MTT Test Specification Part 7: Cryptographic Token Interface Version 1.1

Test Case Specifications for ISIS-MTT Part 7 Page 24 of 95

Table 18: Test Case TCGETTOKENINFO-3: Rejection of Function Call C_GetTokenInfo For Token Not Inserted Into Slot

TEST CASE NAME TCGETTOKENINFO-3

TEST PURPOSE Ensure that the CUT is able to reject the function call C_GetTokenInfo when the token has not been inserted into the slot.

TEST OBJECT (CUT) Product, software module,cryptographic token

TEST

STEP # FUNCTION ISIS-MTT

PART.SECTION CONDITIONS, CONSTRAINTS

EVALUATION OF THE TEST STEP, INSTRUCTION FOR TEST OPERATOR

1 C_GetTokenInfo

P7.S4.2 INPUT slotID with value that identifies an attached slot RETURN CKR_TOKEN_NOT_PRESENT

STATE related slot has been attached to the CUT, functions library has been initialized, token has not been inserted into the slot RESULT CKR_TOKEN_NOT_PRESENT

Table 19: Test Case TCGETTOKENINFO-4: Rejection of Function Call C_GetTokenInfo For Not-Supported Token Inserted Into Slot

TEST CASE NAME TCGETTOKENINFO-4

TEST PURPOSE Ensure that the CUT is able to reject the function call C_GetTokenInfo when an not-supported token has been inserted into the slot.

TEST OBJECT (CUT) Product, software module,cryptographic token

TEST

STEP # FUNCTION ISIS-MTT

PART.SECTION CONDITIONS, CONSTRAINTS

EVALUATION OF THE TEST STEP, INSTRUCTION FOR TEST OPERATOR

1 C_GetTokenInfo

P7.S4.2 INPUT slotID with value that identifies an attached slot RETURN CKR_TOKEN_NOT_RECOGNIZED

STATE related slot has been attached to the CUT, functions library has been initialized, not-supported token has not been inserted into the slot RESULT CKR_TOKEN_NOT_RECOGNIZED

Page 261: ISIS-MTT Test Specification - TeleTrusT · 2009-04-03 · ISIS-MTT Test Specification: Introduction Version 1.1 Document History Page 3 of 19 Document History VERSION DATE CHANGES

ISIS-MTT Test Specification Part 7: Cryptographic Token Interface Version 1.1

Test Case Specifications for ISIS-MTT Part 7 Page 25 of 95

Table 20: Test Case TCWAITFORSLOTEVENT-1:Indication of the Occurrence of Slot Event

TEST CASE NAME TCWAITFORSLOTEVENT-1

TEST PURPOSE Ensure that the CUT is able to indicate the occurrence of a slot event.

TEST OBJECT (CUT) Product, software module,cryptographic token

TEST

STEP # FUNCTION ISIS-MTT

PART.SECTION CONDITIONS, CONSTRAINTS

EVALUATION OF THE TEST STEP, INSTRUCTION FOR TEST OPERATOR

1 C_WaitForSlotEvent

P7.S4.2 INPUT flags with value 0, pSlot with a value that points to the location for receiving the ID of the slot that the event occurred in, and pReserved with the value NULL_PTR RETURN CKR_OK

STATE related slot has been attached to the CUT, functions library has been initialized, token has not been inserted into or removed from the slot RESULT CKR_OK

Table 21: Test Case TCGETMECHANSIMLIST-1: Indication of Number of Mechanisms Types Supported by Token

TEST CASE NAME TCGETMECHANISMLIST-1

TEST PURPOSE Ensure that the CUT is able to indicate the number of mechanism types supported by a token.

TEST OBJECT (CUT) Product, software module,cryptographic token

TEST

STEP # FUNCTION ISIS-MTT

PART.SECTION CONDITIONS, CONSTRAINTS

EVALUATION OF THE TEST STEP, INSTRUCTION FOR TEST OPERATOR

1 C_GetMechanismList

P7.S4.2 INPUT slotID with value that identifies an attached slot, pMechanismList with value NULL_PTR, and pulCount with value that points to the location that receives the number of supported mechanism types RETURN CKR_OK

STATE related slot has been attached to the CUT, functions library has been initialized, token has been inserted into the slot LOG pulCount RESULT CKR_OK and LOG information consistent with CCS (see Fehler! Verweisquelle konnte nicht gefunden werden.) and information about the CUT (see Fehler! Verweisquelle konnte nicht gefunden werden.)

Page 262: ISIS-MTT Test Specification - TeleTrusT · 2009-04-03 · ISIS-MTT Test Specification: Introduction Version 1.1 Document History Page 3 of 19 Document History VERSION DATE CHANGES

ISIS-MTT Test Specification Part 7: Cryptographic Token Interface Version 1.1

Test Case Specifications for ISIS-MTT Part 7 Page 26 of 95

Table 22: Test Case TCGETMECHANSIMLIST-2. Indication of Mechanisms Types Supported by Token

TEST CASE NAME TCGETMECHANISMLIST-2

TEST PURPOSE Ensure that the CUT is able to indicate the mechanism types supported by a token.

TEST OBJECT (CUT) Product, software module,cryptographic token

TEST

STEP # FUNCTION ISIS-MTT

PART.SECTION CONDITIONS, CONSTRAINTS

EVALUATION OF THE TEST STEP, INSTRUCTION FOR TEST OPERATOR

1 C_GetMechanismList

P7.S4.2 INPUT slotID with value that identifies an attached slot, pMechanismList with value that points to the location that receives the supported mechanism types, and pulCount with value that points to the location that receives the number of supported mechanism types RETURN CKR_OK

STATE related slot has been attached to the CUT, functions library has been initialized, token has been inserted into the slot LOG pulCount, and pMechanismList RESULT CKR_OK and LOG information consistent with CCS (see ) and information about the CUT (see )

Table 23: Test Case TCGETMECHANSIMINFO-1: Indication of Information About Particular Mechanism Supported by Token

TEST CASE NAME TCGETMECHANISMINFO-1

TEST PURPOSE Ensure that the CUT is able to indicate information about a particular mechanism supported by a token.

TEST OBJECT (CUT) Product, software module,cryptographic token

TEST

STEP # FUNCTION ISIS-MTT

PART.SECTION CONDITIONS, CONSTRAINTS

EVALUATION OF THE TEST STEP, INSTRUCTION FOR TEST OPERATOR

1 C_GetMechanismInfo

P7.S4.2 INPUT slotID with value that identifies an attached slot, type with value that identifies a particular mechanism type, and pInfo with value that points to the location that receives the mechanism information RETURN CKR_OK

STATE related slot has been attached to the CUT, functions library has been initialized, token has been inserted into the slot LOG CK_MECHANISM_INFO pointed to by pInfo including the fields (ulMinKeySize, ulMaxKeySize, and flags) RESULT CKR_OK and LOG information consistent with CCS (see Fehler! Verweisquelle konnte nicht gefunden werden.) and information about the CUT (see Fehler! Verweisquelle konnte nicht gefunden werden.)

Page 263: ISIS-MTT Test Specification - TeleTrusT · 2009-04-03 · ISIS-MTT Test Specification: Introduction Version 1.1 Document History Page 3 of 19 Document History VERSION DATE CHANGES

ISIS-MTT Test Specification Part 7: Cryptographic Token Interface Version 1.1

Test Case Specifications for ISIS-MTT Part 7 Page 27 of 95

Page 264: ISIS-MTT Test Specification - TeleTrusT · 2009-04-03 · ISIS-MTT Test Specification: Introduction Version 1.1 Document History Page 3 of 19 Document History VERSION DATE CHANGES

ISIS-MTT Test Specification Part 7: Cryptographic Token Interface Version 1.1

Test Case Specifications for ISIS-MTT Part 7 Page 28 of 95

Table 24: Test Case TCGETMECHANSIMINFO-2. Rejection of Function Call C_GetMechanismInfo for Invalid Mechanism Type

TEST CASE NAME TCGETMECHANISMINFO-2

TEST PURPOSE Ensure that the CUT is able to reject the function call C_GetMechanismInfo for an invalid mechanism type.

TEST OBJECT (CUT) Product, software module,cryptographic token

TEST

STEP # FUNCTION ISIS-MTT

PART.SECTION CONDITIONS, CONSTRAINTS

EVALUATION OF THE TEST STEP, INSTRUCTION FOR TEST OPERATOR

1 C_GetMechanismInfo

P7.S4.2 INPUT slotID with value that identifies an attached slot, type with value that contains an invalid mechanism type, and pInfo with value that points to the location that receives the mechanism information RETURN CKR_MECHANISM_INVALID

STATE related slot has been attached to the CUT, functions library has been initialized, token has been inserted into the slot RESULT CKR_CKR_MECHANISM_INVALID

Table 25: Test Case TCInitToken-1: Initialization of Token Without Protected Authentication Path

TEST CASE NAME TCINITTOKEN-1

TEST PURPOSE Ensure that the CUT is able to initialize a token without protected authentication path.

TEST OBJECT (CUT) Product, software module,cryptographic token

TEST

STEP # FUNCTION ISIS-MTT

PART.SECTION CONDITIONS, CONSTRAINTS

EVALUATION OF THE TEST STEP, INSTRUCTION FOR TEST OPERATOR

1 C_InitToken P7.S4.2 INPUT slotID with value that identifies an attached slot, pPin with value that points to the SO's (security officer) initial PIN, ulPinLen with value that gives the length in bytes of the PIN, and pLabel with value that points to the token label RETURN CKR_OK

STATE related slot has been attached to the CUT, functions library has been initialized, token has been inserted into the slot RESULT CKR_OK

Page 265: ISIS-MTT Test Specification - TeleTrusT · 2009-04-03 · ISIS-MTT Test Specification: Introduction Version 1.1 Document History Page 3 of 19 Document History VERSION DATE CHANGES

ISIS-MTT Test Specification Part 7: Cryptographic Token Interface Version 1.1

Test Case Specifications for ISIS-MTT Part 7 Page 29 of 95

Table 26: Test Case TCINITTOKEN-2: Initialization of Token With Protected Authentication Path

TEST CASE NAME TCINITTOKEN-2

TEST PURPOSE Ensure that the CUT is able to initialize a token with protected authentication path.

TEST OBJECT (CUT) Product, software module,cryptographic token

TEST

STEP # FUNCTION ISIS-MTT

PART.SECTION CONDITIONS, CONSTRAINTS

EVALUATION OF THE TEST STEP, INSTRUCTION FOR TEST OPERATOR

1 C_InitToken P7.S4.2 INPUT slotID with value that identifies an attached slot, pPin with value NULL_PTR, ulPinLen with value that gives the length in bytes of the PIN, and pLabel with value that points to the token label RETURN CKR_OK

STATE related slot has been attached to the CUT, functions library has been initialized, token has been inserted into the slot, SO enters PIN on the token or slot device itself RESULT CKR_OK

Table 27: Test Case TCInitToken-3: Rejection of Function Call C_InitToken with Invalid PIN

TEST CASE NAME TCINITTOKEN-3

TEST PURPOSE Ensure that the CUT is able to reject the function call C_InitToken with an invalid PIN.

TEST OBJECT (CUT) Product, software module,cryptographic token

TEST

STEP # FUNCTION ISIS-MTT

PART.SECTION CONDITIONS, CONSTRAINTS

EVALUATION OF THE TEST STEP, INSTRUCTION FOR TEST OPERATOR

1 C_InitToken P7.S4.2 INPUT hSession with value that identifies an attached slot, pPin with value that points to an invalid PIN, ulPinLen with value that gives the length in bytes of the PIN, and pLabel with value that points to the token label RETURN CKR_PIN_INCORRECT

STATE related slot has been attached to the CUT, functions library has been initialized, token has been inserted into the slot RESULT CKR_PIN_INCORRECT

Page 266: ISIS-MTT Test Specification - TeleTrusT · 2009-04-03 · ISIS-MTT Test Specification: Introduction Version 1.1 Document History Page 3 of 19 Document History VERSION DATE CHANGES

ISIS-MTT Test Specification Part 7: Cryptographic Token Interface Version 1.1

Test Case Specifications for ISIS-MTT Part 7 Page 30 of 95

Table 28: Test Case TCINITPIN-1: Initialization of User PIN for Token Without Protected Authentication Path

TEST CASE NAME TCINITPIN-1

TEST PURPOSE Ensure that the CUT is able to initialize the user PIN for a token without protected authentication path.

TEST OBJECT (CUT) Product, software module,cryptographic token

TEST

STEP # FUNCTION ISIS-MTT

PART.SECTION CONDITIONS, CONSTRAINTS

EVALUATION OF THE TEST STEP, INSTRUCTION FOR TEST OPERATOR

1 C_InitPIN P7.S4.2 INPUT hSession with value that identifies the session's handle, pPin with value that points to the NU's (normal user) PIN, and ulPinLen with value that gives the length in bytes of the PIN RETURN CKR_OK

STATE related slot has been attached to the CUT, functions library has been initialized, token has been inserted into the slot, CUT is in the state R/W SO Functions RESULT CKR_OK

Table 29: Test Case TCINITPIN-2: Initialization of User PIN for Token With Protected Authentication Path

TEST CASE NAME TCINITPIN-2

TEST PURPOSE Ensure that the CUT is able to initialize the user PIN for a token with protected authentication path.

TEST OBJECT (CUT) Product, software module,cryptographic token

TEST

STEP # FUNCTION ISIS-MTT

PART.SECTION CONDITIONS, CONSTRAINTS

EVALUATION OF THE TEST STEP, INSTRUCTION FOR TEST OPERATOR

1 C_InitPIN P7.S4.2 INPUT hSession with value that identifies the session's handle, pPin with value NULL_PTR, and ulPinLen with value that gives the length in bytes of the PIN RETURN CKR_OK

STATE related slot has been attached to the CUT, functions library has been initialized, token has been inserted into the slot, CUT is in the state R/W SO Functions, SO enters PIN on the token or slot device itself RESULT CKR_OK

Page 267: ISIS-MTT Test Specification - TeleTrusT · 2009-04-03 · ISIS-MTT Test Specification: Introduction Version 1.1 Document History Page 3 of 19 Document History VERSION DATE CHANGES

ISIS-MTT Test Specification Part 7: Cryptographic Token Interface Version 1.1

Test Case Specifications for ISIS-MTT Part 7 Page 31 of 95

Table 30: Test Case TCINITPIN-3: Rejection of Function Call C_InitPIN With Invalid PIN

TEST CASE NAME TCINITPIN-3

TEST PURPOSE Ensure that the CUT is able to reject the function call C_InitPIN with an invalid PIN.

TEST OBJECT (CUT) Product, software module,cryptographic token

TEST

STEP # FUNCTION ISIS-MTT

PART.SECTION CONDITIONS, CONSTRAINTS

EVALUATION OF THE TEST STEP, INSTRUCTION FOR TEST OPERATOR

1 C_InitPIN P7.S4.2 INPUT hSession with value that identifies an attached slot, pPin with value that points to an invalid PIN, andulPinLen with value that gives the length in bytes of the PIN RETURN CKR_PIN_INVALID

STATE related slot has been attached to the CUT, functions library has been initialized, token has been inserted into the slot, CUT is in the state R/W SO Functions RESULT CKR_PIN_INVALID

Table 31: Test Case TCInitPIN-4: Rejection of Function Call C_InitPIN in State Different from R/W SO Functions

TEST CASE NAME TCINITPIN-4

TEST PURPOSE Ensure that the CUT is able to reject the function call C_InitPIN in a state different from R/W SO Functions.

TEST OBJECT (CUT) Product, software module,cryptographic token

TEST

STEP # FUNCTION ISIS-MTT

PART.SECTION CONDITIONS, CONSTRAINTS

EVALUATION OF THE TEST STEP, INSTRUCTION FOR TEST OPERATOR

1 C_InitPIN P7.S4.2 INPUT hSession with value that identifies the session's handle, pPin with value that points to the NU's (normal user) PIN, and ulPinLen with value that gives the length in bytes of the PIN RETURN CKR_USER_NOT_LOGGED_IN

STATE related slot has been attached to the CUT, functions library has been initialized, token has been inserted into the slot, CUT is not in the state R/W SO Functions RESULT CKR_USER_NOT_LOGGED_IN

Page 268: ISIS-MTT Test Specification - TeleTrusT · 2009-04-03 · ISIS-MTT Test Specification: Introduction Version 1.1 Document History Page 3 of 19 Document History VERSION DATE CHANGES

ISIS-MTT Test Specification Part 7: Cryptographic Token Interface Version 1.1

Test Case Specifications for ISIS-MTT Part 7 Page 32 of 95

Table 32: Test Case TCSETPIN-1: Modification of PIN of User Currently Logged-in

TEST CASE NAME TCSETPIN-1

TEST PURPOSE Ensure that the CUT is able to modify the PIN of a user that is currently logged in.

TEST OBJECT (CUT) Product, software module,cryptographic token

TEST

STEP # FUNCTION ISIS-MTT

PART.SECTION CONDITIONS, CONSTRAINTS

EVALUATION OF THE TEST STEP, INSTRUCTION FOR TEST OPERATOR

1 C_SetPIN P7.S4.2 INPUT hSession with value that identifies the session's handle, pOldPin with value that points to the old PIN, ulOldLen with value that gives the length in bytes of the old PIN, pNewPin with value that points to the new PIN, ulNewLen with value that gives the length in bytes of the new PIN RETURN CKR_OK

STATE related slot has been attached to the CUT, functions library has been initialized, token has been inserted into the slot, CUT is in the state R/W SO Functions or the state R/W User Functions RESULT CKR_OK

Table 33: Test Case TCSetPIN-2: Rejection of Function Call C_SetPIN in State Different from R/W SO or R/W User Functions

TEST CASE NAME TCSETPIN-2

TEST PURPOSE Ensure that the CUT is able to reject the function call C_SetPIN in a state different from R/W SO or R/W User Functions.

TEST OBJECT (CUT) Product, software module,cryptographic token

TEST

STEP # FUNCTION ISIS-MTT

PART.SECTION CONDITIONS, CONSTRAINTS

EVALUATION OF THE TEST STEP, INSTRUCTION FOR TEST OPERATOR

1 C_SetPIN P7.S4.2 INPUT hSession with value that identifies the session's handle, pPin with value that points to the NU's (normal user) PIN, and ulPinLen with value that gives the length in bytes of the PIN RETURN CKR_SESSION_READ_ONLY

STATE related slot has been attached to the CUT, functions library has been initialized, token has been inserted into the slot, CUT is not in the state R/W SO Functions or the state R/W User Functions RESULT CKR_SESSION_READ_ONLY

Page 269: ISIS-MTT Test Specification - TeleTrusT · 2009-04-03 · ISIS-MTT Test Specification: Introduction Version 1.1 Document History Page 3 of 19 Document History VERSION DATE CHANGES

ISIS-MTT Test Specification Part 7: Cryptographic Token Interface Version 1.1

Test Case Specifications for ISIS-MTT Part 7 Page 33 of 95

2.3 Session Management

Table 34: Test Case TCOPENSESSION-1: Openning of Read-Only Session

TEST CASE NAME TCOPENSESSION-1

TEST PURPOSE Ensure that the CUT is able to open a read-only session between an application and a token in a particular slot.

TEST OBJECT (CUT) Product, software module,cryptographic token

TEST

STEP # FUNCTION ISIS-MTT

PART.SECTION CONDITIONS, CONSTRAINTS

EVALUATION OF THE TEST STEP, INSTRUCTION FOR TEST OPERATOR

1 C_OpenSession

P7.S4.3 INPUT slotID with value that identifies an attached slot, flags with value CKF_SERIAL_SESSION bit on and CKF_RW_SESSION bit off, pApplication with value that contains an application-defined value to be passed to the notification callback, Notify with value that gives the address of the notification callback function, and phSession with value that points to the location that receives the handle for the new session RETURN CKR_OK

PARAMETER value of Notify (NULL_PTR for non-support of callback) STATE related slot has been attached to the CUT, functions library has been initialized, token has been inserted into the slot, number of existing sessions less than ulMaxSessionCount, and less than ulMaxRwSessionCount, no R/W SO session with the token open for the application RESULT CKR_OK

Table 35: Test Case TCOPENSESSION-2: Openning of Read-Write Session

TEST CASE NAME TCOPENSESSION-2

TEST PURPOSE Ensure that the CUT is able to open a read-write session between an application and a token in a particular slot.

TEST OBJECT (CUT) Product, software module,cryptographic token

TEST

STEP # FUNCTION ISIS-MTT

PART.SECTION CONDITIONS, CONSTRAINTS

EVALUATION OF THE TEST STEP, INSTRUCTION FOR TEST OPERATOR

1 C_OpenSession

P7.S4.3 INPUT flags with value CKF_RW_SESSION bit on RETURN CKR_OK

MODIFICATION of test case TCOPENSESSION-1 STATE R/W SO session with token may be open for the application RESULT CKR_OK

Page 270: ISIS-MTT Test Specification - TeleTrusT · 2009-04-03 · ISIS-MTT Test Specification: Introduction Version 1.1 Document History Page 3 of 19 Document History VERSION DATE CHANGES

ISIS-MTT Test Specification Part 7: Cryptographic Token Interface Version 1.1

Test Case Specifications for ISIS-MTT Part 7 Page 34 of 95

Table 36: Test Case TCOPENSESSION-3: Rejection of Function Call C_OpenSession With CKF_SERIAL_SESSION Bit off

TEST CASE NAME TCOPENSESSION-3

TEST PURPOSE Ensure that the CUT is able to reject the function call C_OpenSession with the CKF_SERIAL_SESSION bit off.

TEST OBJECT (CUT) Product, software module,cryptographic token

TEST

STEP # FUNCTION ISIS-MTT

PART.SECTION CONDITIONS, CONSTRAINTS

EVALUATION OF THE TEST STEP, INSTRUCTION FOR TEST OPERATOR

1 C_OpenSession

P7.S4.3 INPUT slotID with value CKF_SERIAL_SESSION bit off RETURN CKR_PARALLEL_NOT_SUPPORTED

MODIFICATION of test case TCOPENSESSION-1 or TCOPENSESSION-2 RESULT CKR_PARALLEL_NOT_SUPPORTED

Table 37: Test Case TCOPENSESSION-4: Rejection of Function Call C_OpenSession When Maximimum Number of Sessions Is Exceeded

TEST CASE NAME TCOPENSESSION-4

TEST PURPOSE Ensure that the CUT is able to reject the function call C_OpenSession if the maximum number of session is exceeded.

TEST OBJECT (CUT) Product, software module,cryptographic token

TEST

STEP # FUNCTION ISIS-MTT

PART.SECTION CONDITIONS, CONSTRAINTS

EVALUATION OF THE TEST STEP, INSTRUCTION FOR TEST OPERATOR

1 C_OpenSession

P7.S4.3 RETURN CKR_SESSION_COUNT MODIFICATION of test case TCOPENSESSION-1 or TCOPENSESSION-2 STATE number of existing sessions equals ulMaxSessionCount, or ulMaxRwSessionCount RESULT CKR_SESSION_COUNT

Page 271: ISIS-MTT Test Specification - TeleTrusT · 2009-04-03 · ISIS-MTT Test Specification: Introduction Version 1.1 Document History Page 3 of 19 Document History VERSION DATE CHANGES

ISIS-MTT Test Specification Part 7: Cryptographic Token Interface Version 1.1

Test Case Specifications for ISIS-MTT Part 7 Page 35 of 95

Table 38: Test Case TCOPENSESSION-5: Rejection of Function Call C_OpenSession With CKF_SERIAL_SESSION Bit off

TEST CASE NAME TCOPENSESSION-5

TEST PURPOSE Ensure that the CUT is able to reject the function call C_OpenSession for a read-only session if a R/W SO session with the token is already open for the application.

TEST OBJECT (CUT) Product, software module,cryptographic token

TEST

STEP # FUNCTION ISIS-MTT

PART.SECTION CONDITIONS, CONSTRAINTS

EVALUATION OF THE TEST STEP, INSTRUCTION FOR TEST OPERATOR

1 C_OpenSession

P7.S4.3 RETURN CKR_SESSION_READ_WRITE_SO_EXISTS

MODIFICATION of test case TCOPENSESSION-1 STATE R/W SO session with token is already open for the application RESULT CKR_SESSION_READ_WRITE_SO_EXISTS

Table 39: Test Case TCOPENSESSION-6: Rejection of Function Call C_OpenSession For R/W Session And Token Write-Protected

TEST CASE NAME TCOPENSESSION-6

TEST PURPOSE Ensure that the CUT is able to reject the function call C_OpenSession for a read-write session if the token is write-protected.

TEST OBJECT (CUT) Product, software module,cryptographic token

TEST

STEP # FUNCTION ISIS-MTT

PART.SECTION CONDITIONS, CONSTRAINTS

EVALUATION OF THE TEST STEP, INSTRUCTION FOR TEST OPERATOR

1 C_OpenSession

P7.S4.3 Token is write-protected RETURN CKR_TOKEN_WRITE_PROTECTED

MODIFICATION of test case TCOPENSESSION-2 RESULT CKR_TOKEN_WRITE_PROTECTED

Page 272: ISIS-MTT Test Specification - TeleTrusT · 2009-04-03 · ISIS-MTT Test Specification: Introduction Version 1.1 Document History Page 3 of 19 Document History VERSION DATE CHANGES

ISIS-MTT Test Specification Part 7: Cryptographic Token Interface Version 1.1

Test Case Specifications for ISIS-MTT Part 7 Page 36 of 95

Table 40: Test Case TCCLOSESESSION-1: Closing Of Session

TEST CASE NAME TCCLOSESESSION-1

TEST PURPOSE Ensure that the CUT is able to close a session between an application and a token.

TEST OBJECT (CUT) Product, software module,cryptographic token

TEST

STEP # FUNCTION ISIS-MTT

PART.SECTION CONDITIONS, CONSTRAINTS

EVALUATION OF THE TEST STEP, INSTRUCTION FOR TEST OPERATOR

1 C_CloseSession

P7.S4.3 INPUT hSession with value that identifies the session's handle RETURN CKR_OK

PARAMETER number of opened sessions STATE session with the token open for the application LOG if token is ejected from the reader after last session is closed RESULT CKR_OK

Table 41: Test Case TCCLOSESESSION-2: Rejection of Function Call C_CloseSession With Invalid Session Handle

TEST CASE NAME TCCLOSESESSION-2

TEST PURPOSE Ensure that the CUT is able to reject the function call C_CloseSession with invalid session handle.

TEST OBJECT (CUT) Product, software module,cryptographic token

TEST

STEP # FUNCTION ISIS-MTT

PART.SECTION CONDITIONS, CONSTRAINTS

EVALUATION OF THE TEST STEP, INSTRUCTION FOR TEST OPERATOR

1 C_CloseSession

P7.S4.3 INPUT hSession with invalid value of session's handle RETURN CKR_SESSION_HANDLE_INVALID

STATE session with the token open for the application RESULT CKR_SESSION_HANDLE_INVALID

Page 273: ISIS-MTT Test Specification - TeleTrusT · 2009-04-03 · ISIS-MTT Test Specification: Introduction Version 1.1 Document History Page 3 of 19 Document History VERSION DATE CHANGES

ISIS-MTT Test Specification Part 7: Cryptographic Token Interface Version 1.1

Test Case Specifications for ISIS-MTT Part 7 Page 37 of 95

Table 42: Test Case TCCLOSEALLSESSIONS-1: Closing All Sessions

TEST CASE NAME TCCLOSEALLSESSIONS-1

TEST PURPOSE ENSURE THAT THE CUT IS ABLE TO REJECT THE FUNCTION CALL C_CLOSESESSION WITH INVALID SESSION HANDLE.

TEST OBJECT (CUT) Product, software module,cryptographic token

TEST

STEP # FUNCTION ISIS-MTT

PART.SECTION CONDITIONS, CONSTRAINTS

EVALUATION OF THE TEST STEP, INSTRUCTION FOR TEST OPERATOR

1 C_CloseAllSessions

P7.S4.3 INPUT slotID with value that identifies the token's slot RETURN CKR_OK

STATE session(s) with the token open for the application LOG if token is ejected from the reader RESULT CKR_OK

Table 43: Test Case TCCLOSEALLSESSIONS-2: Rejection of Function Call C_CloseAllSessions With Invalid Slot ID

TEST CASE NAME TCCLOSEALLSESSIONS-2

TEST PURPOSE Ensure that the CUT is able to reject the function call C_CloseAllSessions with invalid slot id..

TEST OBJECT (CUT) Product, software module,cryptographic token

TEST

STEP # FUNCTION ISIS-MTT

PART.SECTION CONDITIONS, CONSTRAINTS

EVALUATION OF THE TEST STEP, INSTRUCTION FOR TEST OPERATOR

1 C_CloseAllSessions

P7.S4.3 INPUT slotID with invalid value RETURN CKR_SLOT_ID_INVALID

STATE session(s) with the token open for the application LOG if token is ejected from the reader RESULT CKR_SLOT_ID_INVALID

Page 274: ISIS-MTT Test Specification - TeleTrusT · 2009-04-03 · ISIS-MTT Test Specification: Introduction Version 1.1 Document History Page 3 of 19 Document History VERSION DATE CHANGES

ISIS-MTT Test Specification Part 7: Cryptographic Token Interface Version 1.1

Test Case Specifications for ISIS-MTT Part 7 Page 38 of 95

Table 44: Test Case TCGETSESSIONINFO-1: Indication of Information About Session

TEST CASE NAME TCGETSESSIONINFO-1

TEST PURPOSE Ensure that the CUT is able to provide information about a session.

TEST OBJECT (CUT) Product, software module,cryptographic token

TEST

STEP # FUNCTION ISIS-MTT

PART.SECTION CONDITIONS, CONSTRAINTS

EVALUATION OF THE TEST STEP, INSTRUCTION FOR TEST OPERATOR

1 C_GetSessionInfo

P7.S4.3 INPUT hSession with value that identifies the session's handle, and pInfo with value that points to the location that receives the session information RETURN CKR_OK

STATE session(s) with the token open for the application LOG CK_SESSION_INFO pointed to by pInfo including the fields (slotID, state, flags, and ulDeviceError) RESULT CKR_OK and LOG information consistent with STATE information

Table 45: Test Case TCGETSESSIONINFO-2: Rejection of Function Call C_GetSessionInfo With Invalid Session Handle

TEST CASE NAME TCGETSESSIONINFO-2

TEST PURPOSE Ensure that the CUT is able to reject the function call C_GetSessionInfo with invalid session handle.

TEST OBJECT (CUT) Product, software module,cryptographic token

TEST

STEP # FUNCTION ISIS-MTT

PART.SECTION CONDITIONS, CONSTRAINTS

EVALUATION OF THE TEST STEP, INSTRUCTION FOR TEST OPERATOR

1 C_GetSessionInfo

P7.S4.3 INPUT hSession with invalid value for session's handle RETURN CKR_SESSION_HANDLE_INVALID

MODIFICATION of test case TCGETSESSIONINFO-1 RESULT CKR_SESSION_HANDLE_INVALID

Page 275: ISIS-MTT Test Specification - TeleTrusT · 2009-04-03 · ISIS-MTT Test Specification: Introduction Version 1.1 Document History Page 3 of 19 Document History VERSION DATE CHANGES

ISIS-MTT Test Specification Part 7: Cryptographic Token Interface Version 1.1

Test Case Specifications for ISIS-MTT Part 7 Page 39 of 95

Table 46: Test Case TCGETSESSIONINFO-3: Rejection of Function Call C_GetSessionInfo for Closed Session

TEST CASE NAME TCGETSESSIONINFO-3

TEST PURPOSE Ensure that the CUT is able to reject the function call C_GetSessionInfo for a closed session.

TEST OBJECT (CUT) Product, software module,cryptographic token

TEST

STEP # FUNCTION ISIS-MTT

PART.SECTION CONDITIONS, CONSTRAINTS

EVALUATION OF THE TEST STEP, INSTRUCTION FOR TEST OPERATOR

1 C_GetSessionInfo

P7.S4.3 INPUT hSession with value for session's handle of an already closed session RETURN CKR_SESSION_CLOSED

MODIFICATION of test case TCGETSESSIONINFO-1 STATE session already closed RESULT CKR_SESSION_CLOSED

Table 47: Test Case TCLOGIN-1: Login of Normal User Into Token With Protected Authentication Path

TEST CASE NAME TCLOGIN-1

TEST PURPOSE Ensure that the CUT is able to log a normal user into a token with protected authentication path.

TEST OBJECT (CUT) Product, software module,cryptographic token

TEST

STEP # FUNCTION ISIS-MTT

PART.SECTION CONDITIONS, CONSTRAINTS

EVALUATION OF THE TEST STEP, INSTRUCTION FOR TEST OPERATOR

1 C_Login P7.S4.3 INPUT hSession with value that identifies the session's handle, userType with value CKU_USER, pPin with value NULL_PTR, and ulPinLen with value 0 RETURN CKR_OK

PARAMETER R/W or R/O session STATE session(s) with the token open for the application, PIN is entered on a PINpad o the token or slot device itself CONTINUE with test case TCGETSESSIONINFO-1 LOG state information from TCGETSESSIONINFO-1 RESULT CKR_OK, and state equals CKS_RO_USER_FUNCTIONS or CKS_RW_USER_FUNCTIONS

Page 276: ISIS-MTT Test Specification - TeleTrusT · 2009-04-03 · ISIS-MTT Test Specification: Introduction Version 1.1 Document History Page 3 of 19 Document History VERSION DATE CHANGES

ISIS-MTT Test Specification Part 7: Cryptographic Token Interface Version 1.1

Test Case Specifications for ISIS-MTT Part 7 Page 40 of 95

Table 48: Test Case TCLOGIN-2: Login of Normal User Into Token Without Protected Authentication Path

TEST CASE NAME TCLOGIN-2

TEST PURPOSE Ensure that the CUT is able to log a normal user into a token without protected authentication path.

TEST OBJECT (CUT) Product, software module,cryptographic token

TEST

STEP # FUNCTION ISIS-MTT

PART.SECTION CONDITIONS, CONSTRAINTS

EVALUATION OF THE TEST STEP, INSTRUCTION FOR TEST OPERATOR

1 C_Login P7.S4.3 INPUT hSession with value that identifies the session's handle, userType with value CKU_USER, pPin with value that points to the user's PIN, and ulPinLen with value that specifies the length of the PIN RETURN CKR_OK

PARAMETER R/W or R/O session STATE session(s) with the token open for the application CONTINUE with test case TCGETSESSIONINFO-1 LOG state information from TCGETSESSIONINFO-1 RESULT CKR_OK, and state equals CKS_RO_USER_FUNCTIONS or CKS_RW_USER_FUNCTIONS

Table 49: Test Case TCLOGIN-3: Login of SO User Into Token With Protected Authentication Path

TEST CASE NAME TCLOGIN-3

TEST PURPOSE Ensure that the CUT is able to log a SO user into a token with protected authentication path.

TEST OBJECT (CUT) Product, software module,cryptographic token

TEST

STEP # FUNCTION ISIS-MTT

PART.SECTION CONDITIONS, CONSTRAINTS

EVALUATION OF THE TEST STEP, INSTRUCTION FOR TEST OPERATOR

1 C_Login P7.S4.3 INPUT hSession with value that identifies the session's handle, userType with value CKU_SO, pPin with value NULL_PTR, and ulPinLen with value 0 RETURN CKR_OK

STATE session(s) with the token open for the application, PIN is entered on a PINpad on the token or slot device itself, no R/O session open CONTINUE with test case TCGETSESSIONINFO-1 LOG state information from TCGETSESSIONINFO-1 RESULT CKR_OK, and state equals CKS_RW_SO_FUNCTIONS

Page 277: ISIS-MTT Test Specification - TeleTrusT · 2009-04-03 · ISIS-MTT Test Specification: Introduction Version 1.1 Document History Page 3 of 19 Document History VERSION DATE CHANGES

ISIS-MTT Test Specification Part 7: Cryptographic Token Interface Version 1.1

Test Case Specifications for ISIS-MTT Part 7 Page 41 of 95

Table 50: Test Case TCLOGIN-4: Login of SO User Into Token Without Protected Authentication Path

TEST CASE NAME TCLOGIN-4

TEST PURPOSE Ensure that the CUT is able to log a SO user into a token without protected authentication path.

TEST OBJECT (CUT) Product, software module,cryptographic token

TEST

STEP # FUNCTION ISIS-MTT

PART.SECTION CONDITIONS, CONSTRAINTS

EVALUATION OF THE TEST STEP, INSTRUCTION FOR TEST OPERATOR

1 C_Login P7.S4.3 INPUT hSession with value that identifies the session's handle, userType with value CKU_SO, pPin with value that points to the user's PIN, and ulPinLen with value that specifies the length of the PIN RETURN CKR_OK

STATE session(s) with the token open for the application, no R/O session open CONTINUE with test case TCGETSESSIONINFO-1 LOG state information from TCGETSESSIONINFO-1 RESULT CKR_OK, and state equals CKS_RW_SO_FUNCTIONS

Table 51: Test Case TCLOGIN-5: Rejection of Login of Normal User With Invalid PIN Into Token With Protected Authentication Path

TEST CASE NAME TCLOGIN-5

TEST PURPOSE Ensure that the CUT is able to reject the function call C_Login with an invalid PIN for login of a normal user into a token with protected authentication path.

TEST OBJECT (CUT) Product, software module,cryptographic token

TEST

STEP # FUNCTION ISIS-MTT

PART.SECTION CONDITIONS, CONSTRAINTS

EVALUATION OF THE TEST STEP, INSTRUCTION FOR TEST OPERATOR

1 C_Login P7.S4.3 RETURN CKR_PIN_INCORRECT MODIFICATION of test case TCLOGIN-1 STATE invalid PIN is entered on a PINpad on the token or slot device itself RESULT CKR_PIN_INCORRECT

Page 278: ISIS-MTT Test Specification - TeleTrusT · 2009-04-03 · ISIS-MTT Test Specification: Introduction Version 1.1 Document History Page 3 of 19 Document History VERSION DATE CHANGES

ISIS-MTT Test Specification Part 7: Cryptographic Token Interface Version 1.1

Test Case Specifications for ISIS-MTT Part 7 Page 42 of 95

Table 52: Test Case TCLOGIN-6: Rejection of Login of Normal User With Invalid PIN Into Token Without Protected Authentication Path

TEST CASE NAME TCLOGIN-6

TEST PURPOSE Ensure that the CUT is able to reject the function call C_Login with an invalid PIN for login of a normal user into a token without protected authentication path.

TEST OBJECT (CUT) Product, software module,cryptographic token

TEST

STEP # FUNCTION ISIS-MTT

PART.SECTION CONDITIONS, CONSTRAINTS

EVALUATION OF THE TEST STEP, INSTRUCTION FOR TEST OPERATOR

1 C_Login P7.S4.3 INPUT pPin with invalid PIN value RETURN CKR_PIN_INCORRECT

MODIFICATION of test case TCLOGIN-2 RESULT CKR_PIN_INCORRECT

Table 53: Test Case TCLOGIN-7: Rejection of Login of SO User Into Token With Protected Authentication Path And R/O Session

TEST CASE NAME TCLOGIN-7

TEST PURPOSE Ensure that the CUT is able to reject the function call C_Login for login of a SO user into a token with protected authentication path and a R/O session open for the token.

TEST OBJECT (CUT) Product, software module,cryptographic token

TEST

STEP # FUNCTION ISIS-MTT

PART.SECTION CONDITIONS, CONSTRAINTS

EVALUATION OF THE TEST STEP, INSTRUCTION FOR TEST OPERATOR

1 C_Login P7.S4.3 RETURN CKR_SESSION_READ_ONLY_EXISTS MODIFICATION of test case TCLOGIN-3 STATE R/O session open for the token RESULT CKR_SESSION_READ_ONLY_EXISTS

Page 279: ISIS-MTT Test Specification - TeleTrusT · 2009-04-03 · ISIS-MTT Test Specification: Introduction Version 1.1 Document History Page 3 of 19 Document History VERSION DATE CHANGES

ISIS-MTT Test Specification Part 7: Cryptographic Token Interface Version 1.1

Test Case Specifications for ISIS-MTT Part 7 Page 43 of 95

Table 54: Test Case TCLOGIN-8: Rejection of Login of SO User Into Token Without Protected Authentication Path And R/O Session

TEST CASE NAME TCLOGIN-8

TEST PURPOSE Ensure that the CUT is able to reject the function call C_Login for login of a SO user into a token without protected authentication path and a R/O session open for the token.

TEST OBJECT (CUT) Product, software module,cryptographic token

TEST

STEP # FUNCTION ISIS-MTT

PART.SECTION CONDITIONS, CONSTRAINTS

EVALUATION OF THE TEST STEP, INSTRUCTION FOR TEST OPERATOR

1 C_Login P7.S4.3 RETURN CKR_SESSION_READ_ONLY_EXISTS MODIFICATION of test case TCLOGIN-4 RESULT CKR_SESSION_READ_ONLY_EXISTS

Table 55: Test Case TCLOGOUT-1: Logout of User From Token

TEST CASE NAME TCLOGOUT-1

TEST PURPOSE Ensure that the CUT is able to log out a user from a token.

TEST OBJECT (CUT) Product, software module,cryptographic token

TEST

STEP # FUNCTION ISIS-MTT

PART.SECTION CONDITIONS, CONSTRAINTS

EVALUATION OF THE TEST STEP, INSTRUCTION FOR TEST OPERATOR

1 C_Logout P7.S4.3 INPUT hSession with value that identifies the session's handle RETURN CKR_OK

PARAMETER session state either R/W User Functions or R/O User Functions STATE user logged into token CONTINUE with test case TCGETSESSIONINFO-1 LOG state information from TCGETSESSIONINFO-1 RESULT CKR_OK, and state equals CKS_RO_PUBLIC_SESSION or CKS_RW_PUBLIC_SESSION

Page 280: ISIS-MTT Test Specification - TeleTrusT · 2009-04-03 · ISIS-MTT Test Specification: Introduction Version 1.1 Document History Page 3 of 19 Document History VERSION DATE CHANGES

ISIS-MTT Test Specification Part 7: Cryptographic Token Interface Version 1.1

Test Case Specifications for ISIS-MTT Part 7 Page 44 of 95

Table 56: Test Case TCLOGOUT-2: Rejection of Logout With Invalid Session Handle

TEST CASE NAME TCLOGOUT-2

TEST PURPOSE Ensure that the CUT is able to reject the function call C_Logout with invalid session handle for logout of a user from a token.

TEST OBJECT (CUT) Product, software module,cryptographic token

TEST

STEP # FUNCTION ISIS-MTT

PART.SECTION CONDITIONS, CONSTRAINTS

EVALUATION OF THE TEST STEP, INSTRUCTION FOR TEST OPERATOR

1 C_Logout P7.S4.3 INPUT hSession with invalid value of session's handle RETURN CKR_SESSION_HANDLE_INVALID

STATE user logged into token RESULT CKR_SESSION_HANDLE_INVALID

Table 57: Test Case TCLOGOUT-3: Rejection of Logout When User Has Not Been Logged Into Token

TEST CASE NAME TCLOGOUT-3

TEST PURPOSE Ensure that the CUT is able to reject the function call C_Logout if the user has not been logged into the token.

TEST OBJECT (CUT) Product, software module,cryptographic token

TEST

STEP # FUNCTION ISIS-MTT

PART.SECTION CONDITIONS, CONSTRAINTS

EVALUATION OF THE TEST STEP, INSTRUCTION FOR TEST OPERATOR

1 C_Logout P7.S4.3 RETURN CKR_USER_NOT_LOGGED_IN MODIFICATION of test case TCLOGOUT-1 STATE user logged not into token RESULT CKR_USER_NOT_LOGGED_IN

Page 281: ISIS-MTT Test Specification - TeleTrusT · 2009-04-03 · ISIS-MTT Test Specification: Introduction Version 1.1 Document History Page 3 of 19 Document History VERSION DATE CHANGES

ISIS-MTT Test Specification Part 7: Cryptographic Token Interface Version 1.1

Test Case Specifications for ISIS-MTT Part 7 Page 45 of 95

2.4 Object Management

Table 58: Test Case TCCREATEOBJECT-1: Creation Of New Object With Valid Template

TEST CASE NAME TCCREATEOBJECT-1

TEST PURPOSE Ensure that the CUT is able to create a new object for which a valid template is supplied in the function call C_CreateObject.

TEST OBJECT (CUT) Product, software module,cryptographic token

TEST

STEP # FUNCTION ISIS-MTT

PART.SECTION CONDITIONS, CONSTRAINTS

EVALUATION OF THE TEST STEP, INSTRUCTION FOR TEST OPERATOR

1 C_CreateObject

P7.S4.4 INPUT hSession with value of session's handle, pTemplate with pointer value to the object's template, ulCount with value that gives the number of attributes in the template, and phObject with value that points to the location that receives the new object's handle RETURN CKR_OK

PARAMETER type of supplied template in order to create a data, certificate, or key object RESULT CKR_OK

Table 59: Test Case TCCREATEOBJECT-2: Rejection of Creation Of New Object With Value for Invalid Attribute

TEST CASE NAME TCCREATEOBJECT-2

TEST PURPOSE Ensure that the CUT is able to reject the function call C_CreateObject with a value for an invalid attribute..

TEST OBJECT (CUT) Product, software module,cryptographic token

TEST

STEP # FUNCTION ISIS-MTT

PART.SECTION CONDITIONS, CONSTRAINTS

EVALUATION OF THE TEST STEP, INSTRUCTION FOR TEST OPERATOR

1 C_CreateObject

P7.S4.4 INPUT pTemplate with pointer value to the object's template that contains an invalid attribute RETURN CKR_ATTRIBUTE_TYPE_INVALID

MODIFICATION of test case TCCREATEOBJECT-1 RESULT CKR_ATTRIBUTE_TYPE_INVALID

Page 282: ISIS-MTT Test Specification - TeleTrusT · 2009-04-03 · ISIS-MTT Test Specification: Introduction Version 1.1 Document History Page 3 of 19 Document History VERSION DATE CHANGES

ISIS-MTT Test Specification Part 7: Cryptographic Token Interface Version 1.1

Test Case Specifications for ISIS-MTT Part 7 Page 46 of 95

Table 60: Test Case TCCREATEOBJECT-3: Rejection of Creation Of New Object With Invalid Value for Valid Attribute

TEST CASE NAME TCCREATEOBJECT-3

TEST PURPOSE Ensure that the CUT is able to reject the function call C_CreateObject with an invalid value for a valid attribute.

TEST OBJECT (CUT) Product, software module,cryptographic token

TEST

STEP # FUNCTION ISIS-MTT

PART.SECTION CONDITIONS, CONSTRAINTS

EVALUATION OF THE TEST STEP, INSTRUCTION FOR TEST OPERATOR

1 C_CreateObject

P7.S4.4 INPUT pTemplate with pointer value to the object's template that contains an invalid value for a valid attribute RETURN CKR_ATTRIBUTE_VALUE_INVALID

MODIFICATION of test case TCCREATEOBJECT-1 RESULT CKR_ATTRIBUTE_VALUE_INVALID

Table 61: Test Case TCCREATEOBJECT-4: Rejection of Creation Of New Object With Insufficient Attribute Values

TEST CASE NAME TCCREATEOBJECT-4

TEST PURPOSE Ensure that the CUT is able to reject the function call C_CreateObject with insufficient attribute values.

TEST OBJECT (CUT) Product, software module,cryptographic token

TEST

STEP # FUNCTION ISIS-MTT

PART.SECTION CONDITIONS, CONSTRAINTS

EVALUATION OF THE TEST STEP, INSTRUCTION FOR TEST OPERATOR

1 C_CreateObject

P7.S4.4 INPUT pTemplate with pointer value to the object's template with insufficient attribute values supplied RETURN CKR_TEMPLATE_INCOMPLETE

MODIFICATION of test case TCCREATEOBJECT-1 RESULT CKR_TEMPLATE_INCOMPLETE

Page 283: ISIS-MTT Test Specification - TeleTrusT · 2009-04-03 · ISIS-MTT Test Specification: Introduction Version 1.1 Document History Page 3 of 19 Document History VERSION DATE CHANGES

ISIS-MTT Test Specification Part 7: Cryptographic Token Interface Version 1.1

Test Case Specifications for ISIS-MTT Part 7 Page 47 of 95

Table 62: Test Case TCCREATEOBJECT-5: Rejection of Creation Of New Object With Inconsistent Attribute Values

TEST CASE NAME TCCREATEOBJECT-5

TEST PURPOSE Ensure that the CUT is able to reject the function call C_CreateObject with inconsistent attribute values.

TEST OBJECT (CUT) Product, software module,cryptographic token

TEST

STEP # FUNCTION ISIS-MTT

PART.SECTION CONDITIONS, CONSTRAINTS

EVALUATION OF THE TEST STEP, INSTRUCTION FOR TEST OPERATOR

1 C_CreateObject

P7.S4.4 INPUT pTemplate with pointer value to the object's template that contains inconsistent attribute values RETURN CKR_TEMPLATE_INCONSISTENT

MODIFICATION of test case TCCREATEOBJECT-1 RESULT CKR_TEMPLATE_INCONSISTENT

Table 63: Test Case TCCREATEOBJECT-6. Creation Of New Object With Value For Modifyable R/W Attribute

TEST CASE NAME TCCREATEOBJECT-6

TEST PURPOSE Ensure that the CUT is able to create a new object for which a value for a read-only attribute is specified as modifiable.

TEST OBJECT (CUT) Product, software module, cryptographic token

TEST

STEP # FUNCTION ISIS-MTT

PART.SECTION CONDITIONS, CONSTRAINTS

EVALUATION OF THE TEST STEP, INSTRUCTION FOR TEST OPERATOR

1 C_CreateObject

P7.S4.4 INPUT pTemplate with pointer value to the object's template with a value for a read-only attribute specified as modifiable RETURN CKR_OK

MODIFICATION of test case TCCREATEOBJECT-1 STATE RESULT CKR_OK

Page 284: ISIS-MTT Test Specification - TeleTrusT · 2009-04-03 · ISIS-MTT Test Specification: Introduction Version 1.1 Document History Page 3 of 19 Document History VERSION DATE CHANGES

ISIS-MTT Test Specification Part 7: Cryptographic Token Interface Version 1.1

Test Case Specifications for ISIS-MTT Part 7 Page 48 of 95

Table 64: Test Case TCCOPYOBJECT-1: Copying Object

TEST CASE NAME TCCOPYOBJECT-1

TEST PURPOSE Ensure that the CUT is able to copy an object, i.e. to create a new object for the copy

TEST OBJECT (CUT) Product, software module, cryptographic token

TEST

STEP # FUNCTION ISIS-MTT

PART.SECTION CONDITIONS, CONSTRAINTS

EVALUATION OF THE TEST STEP, INSTRUCTION FOR TEST OPERATOR

1 C_CopyObject

P7.S4.4 INPUT hSession with value of session's handle, hObject with value of object's handle, pTemplate with value that points to the template for the new object, ulCount with value that gives the number of attributes in the template , and phNewObject with value that points to the location that receives the handle for the copy of the object RETURN CKR_OK

STATE object to be copied has already been created RESULT CKR_OK

Table 65: Test Case TCCOPYOBJECT-2: Rejection of Copying Object With Value For Invalid Attribute

TEST CASE NAME TCCOPYOBJECT-2

TEST PURPOSE Ensure that the CUT is able to reject the function call C_CopyObject with a value for an invalid attribute.

TEST OBJECT (CUT) Product, software module, cryptographic token

TEST

STEP # FUNCTION ISIS-MTT

PART.SECTION CONDITIONS, CONSTRAINTS

EVALUATION OF THE TEST STEP, INSTRUCTION FOR TEST OPERATOR

1 C_CopyObject

P7.S4.4 INPUT pTemplate with pointer value to the object's template that contains an invalid attribute RETURN CKR_ATTRIBUTE_TYPE_INVALID

MODIFICATION of test case TCCOPYOBJECT-1 RESULT CKR_ATTRIBUTE_TYPE_INVALID

Page 285: ISIS-MTT Test Specification - TeleTrusT · 2009-04-03 · ISIS-MTT Test Specification: Introduction Version 1.1 Document History Page 3 of 19 Document History VERSION DATE CHANGES

ISIS-MTT Test Specification Part 7: Cryptographic Token Interface Version 1.1

Test Case Specifications for ISIS-MTT Part 7 Page 49 of 95

Table 66: Test Case TCCOPYOBJECT-3: Rejection of Copying Object With Invalid Value For Valid Attribute

TEST CASE NAME TCCOPYOBJECT-3

TEST PURPOSE Ensure that the CUT is able to reject the function call C_CopyObject with an invalid value for a valid attribute.

TEST OBJECT (CUT) Product, software module, cryptographic token

TEST

STEP # FUNCTION ISIS-MTT

PART.SECTION CONDITIONS, CONSTRAINTS

EVALUATION OF THE TEST STEP, INSTRUCTION FOR TEST OPERATOR

1 C_CopyObject

P7.S4.4 INPUT pTemplate with pointer value to the object's template that contains an invalid value for a valid attribute RETURN CKR_ATTRIBUTE_VALUE_INVALID

MODIFICATION of test case TCCOPYOBJECT-1 RESULT CKR_ATTRIBUTE_VALUE_INVALID

Table 67: Test Case TCCOPYOBJECT-4: Rejection of Copying Object With Inconsistent Attribute Values

TEST CASE NAME TCCOPYOBJECT-4

TEST PURPOSE Ensure that the CUT is able to reject the function call C_CopyObject with inconsistent attribute values.

TEST OBJECT (CUT) Product, software module, cryptographic token

TEST

STEP # FUNCTION ISIS-MTT

PART.SECTION CONDITIONS, CONSTRAINTS

EVALUATION OF THE TEST STEP, INSTRUCTION FOR TEST OPERATOR

1 C_CopyObject

P7.S4.4 INPUT pTemplate with pointer value to the object's template with inconsistent attribute values supplied RETURN CKR_TEMPLATE_INCONSISTENT

MODIFICATION of test case TCCOPYOBJECT-1 RESULT CKR_TEMPLATE_INCONSISTENT

Page 286: ISIS-MTT Test Specification - TeleTrusT · 2009-04-03 · ISIS-MTT Test Specification: Introduction Version 1.1 Document History Page 3 of 19 Document History VERSION DATE CHANGES

ISIS-MTT Test Specification Part 7: Cryptographic Token Interface Version 1.1

Test Case Specifications for ISIS-MTT Part 7 Page 50 of 95

Table 68: Test Case TCDESTROYOBJECT-1: Deletion of Object

TEST CASE NAME TCDESTROYOBJECT-1

TEST PURPOSE Ensure that the CUT is able to destroy an object.

TEST OBJECT (CUT) Product, software module, cryptographic token

TEST

STEP # FUNCTION ISIS-MTT

PART.SECTION CONDITIONS, CONSTRAINTS

EVALUATION OF THE TEST STEP, INSTRUCTION FOR TEST OPERATOR

1 C_DestroyObject

P7.S4.4 INPUT hSession with value of session's handle, and hObject with value of object's handle RETURN CKR_OK

STATE object to be deleted has already been created RESULT CKR_OK

Table 69: Test Case TCDESTROYOBJECT-2: Rejection of Deletion of Object With Invalid Object Handle Value

TEST CASE NAME TCDESTROYOBJECT-2

TEST PURPOSE Ensure that the CUT is able to reject the function call C_DestroyObject with an invalid object handle value.

TEST OBJECT (CUT) Product, software module, cryptographic token

TEST

STEP # FUNCTION ISIS-MTT

PART.SECTION CONDITIONS, CONSTRAINTS

EVALUATION OF THE TEST STEP, INSTRUCTION FOR TEST OPERATOR

1 C_DestroyObject

P7.S4.4 INPUT hObject with invalid value of object's handle RETURN CKR_OBJECT_HANDLE_INVALID

MODIFICATION of test case TCDESTROYOBJECT-1 RESULT CKR_OBJECT_HANDLE_INVALID

Page 287: ISIS-MTT Test Specification - TeleTrusT · 2009-04-03 · ISIS-MTT Test Specification: Introduction Version 1.1 Document History Page 3 of 19 Document History VERSION DATE CHANGES

ISIS-MTT Test Specification Part 7: Cryptographic Token Interface Version 1.1

Test Case Specifications for ISIS-MTT Part 7 Page 51 of 95

Table 70: Test Case TCGETOBJECTSIZE-1: Indication of Size of Object

TEST CASE NAME TCGETOBJECTSIZE-1

TEST PURPOSE Ensure that the CUT is able to indicate the size of an object.

TEST OBJECT (CUT) Product, software module, cryptographic token

TEST

STEP # FUNCTION ISIS-MTT

PART.SECTION CONDITIONS, CONSTRAINTS

EVALUATION OF THE TEST STEP, INSTRUCTION FOR TEST OPERATOR

1 C_GetObjectSize

P7.S4.4 INPUT hSession with value of session's handle, hObject with value of object's handle, and pulSize with value that points to the location that receives the size in bytes of the object RETURN CKR_OK

STATE object has already been created RESULT CKR_OK

Table 71: Test Case TCGETOBJECTSIZE-2: Rejection of Function Call C_GetObjectSize With Invalid Object Handle Value

TEST CASE NAME TCGETOBJECTSIZE-2

TEST PURPOSE Ensure that the CUT is able to reject the function call C_GetObjectSize with an invalid object handle value.

TEST OBJECT (CUT) Product, software module, cryptographic token

TEST

STEP # FUNCTION ISIS-MTT

PART.SECTION CONDITIONS, CONSTRAINTS

EVALUATION OF THE TEST STEP, INSTRUCTION FOR TEST OPERATOR

1 C_GetObjectSize

P7.S4.4 INPUT hObject with invalid value of object's handle RETURN CKR_OBJECT_HANDLE_INVALID

MODIFICATION of test case TCGETOBJECTSIZE-1 RESULT CKR_OBJECT_HANDLE_INVALID

Page 288: ISIS-MTT Test Specification - TeleTrusT · 2009-04-03 · ISIS-MTT Test Specification: Introduction Version 1.1 Document History Page 3 of 19 Document History VERSION DATE CHANGES

ISIS-MTT Test Specification Part 7: Cryptographic Token Interface Version 1.1

Test Case Specifications for ISIS-MTT Part 7 Page 52 of 95

Table 72: Test Case TCGETATTRIBUTEVALUE-1: Indication of Value of Object Attributes

TEST CASE NAME TCGETATTRIBUTEVALUE-1

TEST PURPOSE Ensure that the CUT is able to indicate the value of one or more attributes of an object.

TEST OBJECT (CUT) Product, software module, cryptographic token

TEST

STEP # FUNCTION ISIS-MTT

PART.SECTION CONDITIONS, CONSTRAINTS

EVALUATION OF THE TEST STEP, INSTRUCTION FOR TEST OPERATOR

1 C_GetAttributeValue

P7.S4.4 INPUT hSession with value of session's handle, hObject with value of object's handle, pTemplate with value that points to a template that specifies which attribute values are to be obtained and receives the attribute values, and ulCount with value that gives the number of attributes in the template RETURN CKR_OK

STATE object has already been created RESULT CKR_OK

Table 73: Test Case TCGETATTRIBUTEVALUE-2: Rejection of Function Call C_GetAttributeVale With Invalid Object Handle Value

TEST CASE NAME TCGETATTRIBUTEVALUE-2

TEST PURPOSE Ensure that the CUT is able to reject the function call C_GetAttributeValue with an invalid object handle value

TEST OBJECT (CUT) Product, software module, cryptographic token

TEST

STEP # FUNCTION ISIS-MTT

PART.SECTION CONDITIONS, CONSTRAINTS

EVALUATION OF THE TEST STEP, INSTRUCTION FOR TEST OPERATOR

1 C_GetAttributeValue

P7.S4.4 INPUT hObject with invalid value of object's handle RETURN CKR_OBJECT_HANDLE_INVALID

MODIFICATION of test case TCGETATTRIBUTEVALUE-1 RESULT CKR_OBJECT_HANDLE_INVALID

Page 289: ISIS-MTT Test Specification - TeleTrusT · 2009-04-03 · ISIS-MTT Test Specification: Introduction Version 1.1 Document History Page 3 of 19 Document History VERSION DATE CHANGES

ISIS-MTT Test Specification Part 7: Cryptographic Token Interface Version 1.1

Test Case Specifications for ISIS-MTT Part 7 Page 53 of 95

Table 74: Test Case TCGETATTRIBUTEVALUE-3: Rejection of Function Call C_GetAttributeVale With Requested Attribute for a

Sensitive or Non-Extractable Object

TEST CASE NAME TCGETATTRIBUTEVALUE-3

TEST PURPOSE Ensure that the CUT is able to reject the function call C_GetAttributeValue with an requested attribute for an sensitive or non-extractable object.

TEST OBJECT (CUT) Product, software module, cryptographic token

TEST

STEP # FUNCTION ISIS-MTT

PART.SECTION CONDITIONS, CONSTRAINTS

EVALUATION OF THE TEST STEP, INSTRUCTION FOR TEST OPERATOR

1 C_GetAttributeValue

P7.S4.4 INPUT pTemplate with value that points to a template with an requested attribute for an sensitive or unextractable object RETURN CKR_ATTRIBUTE_SENSITIVE

MODIFICATION of test case TCGETATTRIBUTEVALUE-1 RESULT CKR_ATTRIBUTE_SENSITIVE

Table 75: Test Case TCGETATTRIBUTEVALUE-4: Rejection of Function Call C_GetAttributeVale With Value for Invalid Attribute

TEST CASE NAME TCGETATTRIBUTEVALUE-4

TEST PURPOSE Ensure that the CUT is able to reject the function call C_GetAttributeValue with a value for an invalid attribute.

TEST OBJECT (CUT) Product, software module, cryptographic token

TEST

STEP # FUNCTION ISIS-MTT

PART/SECTION CONDITIONS, CONSTRAINTS

EVALUATION OF THE TEST STEP, INSTRUCTION FOR TEST OPERATOR

1 C_GetAttributeValue

P7.S4.4 INPUT hObject with invalid value of object's handle RETURN CKR_ATTRIBUTE_TYPE_INVALID

MODIFICATION of test case TCGETATTRIBUTEVALUE-1 RESULT CKR_ATTRIBUTE_TYPE_INVALID

Page 290: ISIS-MTT Test Specification - TeleTrusT · 2009-04-03 · ISIS-MTT Test Specification: Introduction Version 1.1 Document History Page 3 of 19 Document History VERSION DATE CHANGES

ISIS-MTT Test Specification Part 7: Cryptographic Token Interface Version 1.1

Test Case Specifications for ISIS-MTT Part 7 Page 54 of 95

Table 76: Test Case TCSETATTRIBUTEVALUE-1: Modification of Value of Attribute Object

TEST CASE NAME TCSETATTRIBUTEVALUE-1

TEST PURPOSE Ensure that the CUT is able to modify the value of one or more attributes of an object.

TEST OBJECT (CUT) Product, software module, cryptographic token

TEST

STEP # FUNCTION ISIS-MTT

PART.SECTION CONDITIONS, CONSTRAINTS

EVALUATION OF THE TEST STEP, INSTRUCTION FOR TEST OPERATOR

1 C_SetAttributeValue

P7.S4.4 INPUT hSession with value of session's handle, hObject with value of object's handle, pTemplate with value that points to a template that specifies which attribute values are to be modified and receives their new attribute values, and ulCount with value that gives the number of attributes in the template RETURN CKR_OK

STATE object has already been created RESULT CKR_OK

Table 77: Test Case TCSETATTRIBUTEVALUE-2: Rejection of Modification of Value of Attribute that is Incompatible With Other Attributes of the Object

TEST CASE NAME TCSETATTRIBUTEVALUE-2

TEST PURPOSE Ensure that the CUT is able to reject the function call C_SetAttributeValue with a value of an attribute which is incompatible with other attributes of the object.

TEST OBJECT (CUT) Product, software module, cryptographic token

TEST

STEP # FUNCTION ISIS-MTT

PART.SECTION CONDITIONS, CONSTRAINTS

EVALUATION OF THE TEST STEP, INSTRUCTION FOR TEST OPERATOR

1 C_SetAttributeValue

P7.S4.4 INPUT pTemplate with value that points to a template with a value of an attribute which is incompatible with other attributes of the object RETURN CKR_TEMPLATE_INCONSISTENT

MODIFICATION of test case TCSETATTRIBUTEVALUE-1 RESULT CKR_TEMPLATE_INCONSISTENT

Page 291: ISIS-MTT Test Specification - TeleTrusT · 2009-04-03 · ISIS-MTT Test Specification: Introduction Version 1.1 Document History Page 3 of 19 Document History VERSION DATE CHANGES

ISIS-MTT Test Specification Part 7: Cryptographic Token Interface Version 1.1

Test Case Specifications for ISIS-MTT Part 7 Page 55 of 95

Table 78: Test Case TCFINDOBJECTSINIT-1: Initialization of Search for Token and Session Objects

TEST CASE NAME TCFINDOBJECTSINIT-1

TEST PURPOSE Ensure that the CUT is able to initialize a search for token and session objects that match a template.

TEST OBJECT (CUT) Product, software module, cryptographic token

TEST

STEP # FUNCTION ISIS-MTT

PART.SECTION CONDITIONS, CONSTRAINTS

EVALUATION OF THE TEST STEP, INSTRUCTION FOR TEST OPERATOR

1 C_FindObjectsInit

P7.S4.4 INPUT hSession with value of session's handle, pTemplate with value that points to a search template that specifies the attribute values to match, and ulCount with value that gives the number of attributes in the search template RETURN CKR_OK or CKR_ATTRIBUTE_TYPE_INVALID or CKR_ATTRIBUTE_VALUE_INVALID

PARAMETER search template with or without existing attributes RESULT RETURN CKR_OK or CKR_ATTRIBUTE_TYPE_INVALID or CKR_ATTRIBUTE_VALUE_INVALID

Table 79: Test Case TCFINDOBJECTSINIT-2: Rejection of Function Call C_FindObjectsInit With Invalid Session Handle Value

TEST CASE NAME TCFINDOBJECTSINIT-2

TEST PURPOSE Ensure that the CUT is able to reject the function call C_FindObjectsInit with an invalid session handle value.

TEST OBJECT (CUT) Product, software module, cryptographic token

TEST

STEP # FUNCTION ISIS-MTT

PART.SECTION CONDITIONS, CONSTRAINTS

EVALUATION OF THE TEST STEP, INSTRUCTION FOR TEST OPERATOR

1 C_FindObjectsInit

P7.S4.4 INPUT hSession with invalid value of session handle RETURN CKR_SESSION_HANDLE_INVALID

MODIFICATION of test case TCFINDOBJECTSINIT-1 RESULT CKR_SESSION_HANDLE_INVALID

Page 292: ISIS-MTT Test Specification - TeleTrusT · 2009-04-03 · ISIS-MTT Test Specification: Introduction Version 1.1 Document History Page 3 of 19 Document History VERSION DATE CHANGES

ISIS-MTT Test Specification Part 7: Cryptographic Token Interface Version 1.1

Test Case Specifications for ISIS-MTT Part 7 Page 56 of 95

Table 80: Test Case TCFINDOBJECTS-1: Continuation of Search for Session and Token Objects

TEST CASE NAME TCFINDOBJECTS-1

TEST PURPOSE Ensure that the CUT is able to continue a search for session and token objects that match a template, and is able to obtain the relevant object handles.

TEST OBJECT (CUT) Product, software module, cryptographic token

TEST

STEP # FUNCTION ISIS-MTT

PART.SECTION CONDITIONS, CONSTRAINTS

EVALUATION OF THE TEST STEP, INSTRUCTION FOR TEST OPERATOR

1 C_FindObjects

P7.S4.4 INPUT hSession with value of session's handle, phObject with value that points to the location that receives the list of additional object handles, ulMaxObjectCount with value that specifies the maximum number of object handles to be returned, and puObjectCount with value that points to the location that receives the actual number of object handles returned RETURN CKR_OK

STATE function call C_FindObjectsInit has already been processed LOG received object handles RESULT CKR_OK

Table 81: Test Case TCFINDOBJECTS-2: Rejection of Function Call C_FindObjects With Invalid Session Handle Value

TEST CASE NAME TCFINDOBJECTS-2

TEST PURPOSE Ensure that the CUT is able to reject the function call C_FindObjects with an invalid session handle value..

TEST OBJECT (CUT) Product, software module, cryptographic token

TEST

STEP # FUNCTION ISIS-MTT

PART.SECTION CONDITIONS, CONSTRAINTS

EVALUATION OF THE TEST STEP, INSTRUCTION FOR TEST OPERATOR

1 C_FindObjects

P7.S4.4 INPUT hSession with invalid value of session handle RETURN CKR_SESSION_HANDLE_INVALID

MODIFICATION of test case TCFINDOBJECTS-1 RESULT CKR_SESSION_HANDLE_INVALID

Page 293: ISIS-MTT Test Specification - TeleTrusT · 2009-04-03 · ISIS-MTT Test Specification: Introduction Version 1.1 Document History Page 3 of 19 Document History VERSION DATE CHANGES

ISIS-MTT Test Specification Part 7: Cryptographic Token Interface Version 1.1

Test Case Specifications for ISIS-MTT Part 7 Page 57 of 95

Table 82: Test Case TCFINDOBJECTSFINAL-1. Termination of Search for Token And Session Objects

TEST CASE NAME TCFINDOBJECTSFINAL-1

TEST PURPOSE Ensure that the CUT is able to terminate a search for token and session objects.

TEST OBJECT (CUT) Product, software module, cryptographic token

TEST

STEP # FUNCTION ISIS-MTT

PART.SECTION CONDITIONS, CONSTRAINTS

EVALUATION OF THE TEST STEP, INSTRUCTION FOR TEST OPERATOR

1 C_FindObjectsFinal

P7.S4.4 INPUT hSession with value of session's handle RETURN CKR_OK

STATE function call C_FindObjects has already been processed RESULT CKR_OK

Table 83: Test Case TCFINDOBJECTSFINAL-2: Rejection of Function Call C_FindObjectsInit With Invalid Session Handle Value

TEST CASE NAME TCFINDOBJECTSFINAL-2

TEST PURPOSE Ensure that the CUT is able to reject the function call C_FindObjectsFinal with an invalid session handle value.

TEST OBJECT (CUT) Product, software module, cryptographic token

TEST

STEP # FUNCTION ISIS-MTT

PART.SECTION CONDITIONS, CONSTRAINTS

EVALUATION OF THE TEST STEP, INSTRUCTION FOR TEST OPERATOR

1 C_FindObjectsFinal

P7.S4.4 INPUT hSession with invalid value of session handle RETURN CKR_SESSION_HANDLE_INVALID

MODIFICATION of test case TCFINDOBJECTSFINAL-1 RESULT CKR_SESSION_HANDLE_INVALID

Page 294: ISIS-MTT Test Specification - TeleTrusT · 2009-04-03 · ISIS-MTT Test Specification: Introduction Version 1.1 Document History Page 3 of 19 Document History VERSION DATE CHANGES

ISIS-MTT Test Specification Part 7: Cryptographic Token Interface Version 1.1

Test Case Specifications for ISIS-MTT Part 7 Page 58 of 95

2.5 Encryption

Table 84: Test Case TCENCRYPTINIT-1: Initialization of Encryption Operation

TEST CASE NAME TCENCRYPTINIT-1

TEST PURPOSE Ensure that the CUT is able to initialize an encryption operation.

TEST OBJECT (CUT) Product, software module, cryptographic token

TEST

STEP # FUNCTION ISIS-MTT

PART.SECTION CONDITIONS, CONSTRAINTS

EVALUATION OF THE TEST STEP, INSTRUCTION FOR TEST OPERATOR

1 C_EncryptInit

P7.S4.5 INPUT hSession with value of session's handle, pMechanism with value that points to the encryption mechanism, hKey with value that gives the handle of the encryption key RETURN CKR_OK

PARAMETER encryption mechanism STATE encryption key has already been created with the CKA_ENCRYPT attribute with the value TRUE RESULT CKR_OK

Table 85: Test Case TCENCRYPTINIT-2: Rejection of Function Call C_EncryptInit With Invalid Session Handle Value

TEST CASE NAME TCENCRYPTINIT-2

TEST PURPOSE Ensure that the CUT is able to reject the function call C_EncryptInit with an invalid session handle value..

TEST OBJECT (CUT) Product, software module, cryptographic token

TEST

STEP # FUNCTION ISIS-MTT

PART.SECTION CONDITIONS, CONSTRAINTS

EVALUATION OF THE TEST STEP, INSTRUCTION FOR TEST OPERATOR

1 C_EncryptInit

P7.S4.5 INPUT hSession with invalid value of session handle RETURN CKR_SESSION_HANDLE_INVALID

MODIFICATION of test case TCENCRYPTINIT-1 RESULT CKR_SESSION_HANDLE_INVALID

Page 295: ISIS-MTT Test Specification - TeleTrusT · 2009-04-03 · ISIS-MTT Test Specification: Introduction Version 1.1 Document History Page 3 of 19 Document History VERSION DATE CHANGES

ISIS-MTT Test Specification Part 7: Cryptographic Token Interface Version 1.1

Test Case Specifications for ISIS-MTT Part 7 Page 59 of 95

Table 86: Test Case TCENCRYPTINIT-3: Rejection of Function Call C_EncryptInit With Invalid Key Handle Value

TEST CASE NAME TCENCRYPTINIT-3

TEST PURPOSE Ensure that the CUT is able to reject the function call C_EncryptInit with an invalid key handle value.

TEST OBJECT (CUT) Product, software module, cryptographic token

TEST

STEP # FUNCTION ISIS-MTT

PART.SECTION CONDITIONS, CONSTRAINTS

EVALUATION OF THE TEST STEP, INSTRUCTION FOR TEST OPERATOR

1 C_EncryptInit

P7.S4.5 INPUT hKey with invalid value of key handle RETURN CKR_KEY_HANDLE_INVALID

MODIFICATION of test case TCENCRYPTINIT-1 RESULT CKR_KEY_HANDLE_INVALID

Table 87: Test Case TCENCRYPTINIT-4: Rejection of Function Call C_EncryptInit With Invalid Mechanism Type

TEST CASE NAME TCENCRYPTINIT-4

TEST PURPOSE Ensure that the CUT is able to reject the function call C_EncryptInit with an invalid mechanism type.

TEST OBJECT (CUT) Product, software module, cryptographic token

TEST

STEP # FUNCTION ISIS-MTT

PART.SECTION CONDITIONS, CONSTRAINTS

EVALUATION OF THE TEST STEP, INSTRUCTION FOR TEST OPERATOR

1 C_EncryptInit

P7.S4.5 INPUT pMechanism with invalid mechanism type RETURN CKR_MECHANISM_INVALID

MODIFICATION of test case TCENCRYPTINIT-1 RESULT CKR_MECHANISM_INVALID

Page 296: ISIS-MTT Test Specification - TeleTrusT · 2009-04-03 · ISIS-MTT Test Specification: Introduction Version 1.1 Document History Page 3 of 19 Document History VERSION DATE CHANGES

ISIS-MTT Test Specification Part 7: Cryptographic Token Interface Version 1.1

Test Case Specifications for ISIS-MTT Part 7 Page 60 of 95

Table 88: Test Case TCENCRYPT-1: Encryption of Single-Part Data

TEST CASE NAME TCENCRYPT-1

TEST PURPOSE Ensure that the CUT is able to encrypt single-part data.

TEST OBJECT (CUT) Product, software module, cryptographic token

TEST

STEP # FUNCTION ISIS-MTT

PART.SECTION CONDITIONS, CONSTRAINTS

EVALUATION OF THE TEST STEP, INSTRUCTION FOR TEST OPERATOR

1 C_Encrypt P7.S4.5 INPUT hSession with value of session's handle, pData with value that points to the data to be encrypted, ulDataLen with value that gives the length in bytes of the data, pEncryptedData with value that points to the location that receives the encrypted data, and pulEncryptedDataLen with value that points to the location that holds the length in bytes of the encrypted data RETURN CKR_OK

PARAMETER encryption mechanism STATE encryption operation has already been initialized LOG encrypted data pointed to by pEncryptedData, decrypt ciphertext and compare with data pointed to by pData RESULT CKR_OK and decrypted data identical with input data

Table 89: Test Case TCENCRYPT-2: Rejection of Function Call C_Encrypt For Non-Initialzed Encryption Operation

TEST CASE NAME TCENCRYPT-2

TEST PURPOSE Ensure that the CUT is able to reject the function call C_Encrypt if the encryption operation has not been initialized before.

TEST OBJECT (CUT) Product, software module, cryptographic token

TEST

STEP # FUNCTION ISIS-MTT

PART.SECTION CONDITIONS, CONSTRAINTS

EVALUATION OF THE TEST STEP, INSTRUCTION FOR TEST OPERATOR

1 C_Encrypt P7.S4.5 RETURN CKR_OPERATION_NOT_INITIALIZED MODIFICATION of test case TCENCRYPT-1 STATE encryption operation has not been initialized RESULT CKR_OPERATION_NOT_INITIALIZED

Page 297: ISIS-MTT Test Specification - TeleTrusT · 2009-04-03 · ISIS-MTT Test Specification: Introduction Version 1.1 Document History Page 3 of 19 Document History VERSION DATE CHANGES

ISIS-MTT Test Specification Part 7: Cryptographic Token Interface Version 1.1

Test Case Specifications for ISIS-MTT Part 7 Page 61 of 95

Table 90: Test Case TCENCRYPTUPDATE-1: Encryption of Multi-Part Data

TEST CASE NAME TCENCRYPTUPDATE-1

TEST PURPOSE Ensure that the CUT is able to perform a multiple-part encryption operation.

TEST OBJECT (CUT) Product, software module, cryptographic token

TEST

STEP # FUNCTION ISIS-MTT

PART.SECTION CONDITIONS, CONSTRAINTS

EVALUATION OF THE TEST STEP, INSTRUCTION FOR TEST OPERATOR

1 C_EncryptUpdate

P7.S4.5 INPUT hSession with value of session's handle, pPart with value that points to another data part to be encrypted, ulPartLen with value that gives the length in bytes of the data part, pEncryptedPart with value that points to the location that receives the encrypted data part, and pulEncryptedPartLen with value that points to the location that holds the length in bytes of the encrypted data part RETURN CKR_OK

PARAMETER encryption mechanism STATE encryption operation has already been initialized LOG encrypted data part pointed to by pEncryptedPart , decrypt ciphertext and compare with data pointed to by pPart RESULT CKR_OK and decrypted data part identical with input data

Table 91: Test Case TCENCRYPTUPDATE-2: Rejection of Function Call C_EncryptUpdate For Non-Initialzed Encryption Operation

TEST CASE NAME TCENCRYPTUPDATE-2

TEST PURPOSE Ensure that the CUT is able to reject the function call C_EncryptUpdate if the encryption operation has not been initialized before.

TEST OBJECT (CUT) Product, software module, cryptographic token

TEST

STEP # FUNCTION ISIS-MTT

PART.SECTION CONDITIONS, CONSTRAINTS

EVALUATION OF THE TEST STEP, INSTRUCTION FOR TEST OPERATOR

1 C_EncryptUpdate

P7.S4.5 RETURN CKR_OPERATION_NOT_INITIALIZED MODIFICATION of test case TCENCRYPTUPDATE-1 STATE encryption operation has not been initialized RESULT CKR_OPERATION_NOT_INITIALIZED

Page 298: ISIS-MTT Test Specification - TeleTrusT · 2009-04-03 · ISIS-MTT Test Specification: Introduction Version 1.1 Document History Page 3 of 19 Document History VERSION DATE CHANGES

ISIS-MTT Test Specification Part 7: Cryptographic Token Interface Version 1.1

Test Case Specifications for ISIS-MTT Part 7 Page 62 of 95

Table 92: Test Case TCENCRYPTFINAL-1: Finishing Multi-Part Encryption Operation

TEST CASE NAME TCENCRYPTFINAL-1

TEST PURPOSE Ensure that the CUT is able to finish a multiple-part encryption operation.

TEST OBJECT (CUT) Product, software module, cryptographic token

TEST

STEP # FUNCTION ISIS-MTT

PART.SECTION CONDITIONS, CONSTRAINTS

EVALUATION OF THE TEST STEP, INSTRUCTION FOR TEST OPERATOR

1 C_EncryptFinal

P7.S4.5 INPUT hSession with value of session's handle, pLastEncryptedPart with value that points to the location that receives the last encrypted data part, and pulLastEncryptedPartLen with value that points to the location that holds the length in bytes of last the encrypted data part RETURN CKR_OK

PARAMETER encryption mechanism STATE multiple-part encryption operation(s) has/have already been performed LOG last encrypted data part pointed to by pLastEncryptedPart RESULT CKR_OK

Table 93: Test Case TCENCRYPTFINAL-2: Rejection of Function Call C_EncryptFinal For Non-Initialzed Encryption Operation

TEST CASE NAME TCENCRYPTFINAL-2

TEST PURPOSE Ensure that the CUT is able to reject the function call C_EncryptFinal if the encryption operation has not been initialized before.

TEST OBJECT (CUT) Product, software module, cryptographic token

TEST

STEP # FUNCTION ISIS-MTT

PART.SECTION CONDITIONS, CONSTRAINTS

EVALUATION OF THE TEST STEP, INSTRUCTION FOR TEST OPERATOR

1 C_EncryptFinal

P7.S4.5 RETURN CKR_OPERATION_NOT_INITIALIZED MODIFICATION of test case TCENCRYPTFINAL-1 STATE encryption operation has not been initialized RESULT CKR_OPERATION_NOT_INITIALIZED

Page 299: ISIS-MTT Test Specification - TeleTrusT · 2009-04-03 · ISIS-MTT Test Specification: Introduction Version 1.1 Document History Page 3 of 19 Document History VERSION DATE CHANGES

ISIS-MTT Test Specification Part 7: Cryptographic Token Interface Version 1.1

Test Case Specifications for ISIS-MTT Part 7 Page 63 of 95

2.6 Decryption

Table 94: Test Case TCDECRYPTINIT-1: Initialization of Decryption Operation

TEST CASE NAME TCDECRYPTINIT-1

TEST PURPOSE Ensure that the CUT is able to initialize a decryption operation.

TEST OBJECT (CUT) Product, software module, cryptographic token

TEST

STEP # FUNCTION ISIS-MTT

PART.SECTION CONDITIONS, CONSTRAINTS

EVALUATION OF THE TEST STEP, INSTRUCTION FOR TEST OPERATOR

1 C_DecryptInit

P7.S4.6 INPUT hSession with value of session's handle, pMechanism with value that points to the decryption mechanism, and hKey with value that gives the handle of the decryption key RETURN CKR_OK

PARAMETER decryption mechanism STATE decryption key has already been created with the CKA_DECRYPT attribute with the value TRUE RESULT CKR_OK

Table 95: Test Case TCDECRYPTINIT-2: Rejection of Function Call C_DecryptInit With Invalid Session Handle Value

TEST CASE NAME TCDECRYPTINIT-2

TEST PURPOSE Ensure that the CUT is able to reject the function call C_DecryptInit with an invalid session handle value.

TEST OBJECT (CUT) Product, software module, cryptographic token

TEST

STEP # FUNCTION ISIS-MTT

PART.SECTION CONDITIONS, CONSTRAINTS

EVALUATION OF THE TEST STEP, INSTRUCTION FOR TEST OPERATOR

1 C_DecryptInit

P7.S4.6 INPUT hSession with invalid value of session handle RETURN CKR_SESSION_HANDLE_INVALID

MODIFICATION of test case TCDECRYPTINIT-1 RESULT CKR_SESSION_HANDLE_INVALID

Page 300: ISIS-MTT Test Specification - TeleTrusT · 2009-04-03 · ISIS-MTT Test Specification: Introduction Version 1.1 Document History Page 3 of 19 Document History VERSION DATE CHANGES

ISIS-MTT Test Specification Part 7: Cryptographic Token Interface Version 1.1

Test Case Specifications for ISIS-MTT Part 7 Page 64 of 95

Table 96: Test Case TCDECRYPTINIT-3: Rejection of Function Call C_DecryptInit With Invalid Key Handle Value

TEST CASE NAME TCDECRYPTINIT-3

TEST PURPOSE Ensure that the CUT is able to reject the function call C_DecryptInit with an invalid key handle value.

TEST OBJECT (CUT) Product, software module, cryptographic token

TEST

STEP # FUNCTION ISIS-MTT

PART.SECTION CONDITIONS, CONSTRAINTS

EVALUATION OF THE TEST STEP, INSTRUCTION FOR TEST OPERATOR

1 C_DecryptInit

P7.S4.6 INPUT hKey with invalid value of key handle RETURN CKR_KEY_HANDLE_INVALID

MODIFICATION of test case TCDECRYPTINIT-1 RESULT CKR_KEY_HANDLE_INVALID

Table 97: Test Case TCDECRYPTINIT-4: Rejection of Function Call C_DecryptInit With Invalid Mechanism Type

TEST CASE NAME TCDECRYPTINIT-4

TEST PURPOSE Ensure that the CUT is able to reject the function call C_DecryptInit with an invalid mechanism type.

TEST OBJECT (CUT) Product, software module, cryptographic token

TEST

STEP # FUNCTION ISIS-MTT

PART.SECTION CONDITIONS, CONSTRAINTS

EVALUATION OF THE TEST STEP, INSTRUCTION FOR TEST OPERATOR

1 C_DecryptInit

P7.S4.6 INPUT pMechanism with invalid mechanism type RETURN CKR_MECHANISM_INVALID

MODIFICATION of test case TCDECRYPTINIT-1 RESULT CKR_MECHANISM_INVALID

Page 301: ISIS-MTT Test Specification - TeleTrusT · 2009-04-03 · ISIS-MTT Test Specification: Introduction Version 1.1 Document History Page 3 of 19 Document History VERSION DATE CHANGES

ISIS-MTT Test Specification Part 7: Cryptographic Token Interface Version 1.1

Test Case Specifications for ISIS-MTT Part 7 Page 65 of 95

Table 98: Test Case TCDECRYPT-1: Decryption of Encrypted Data in a Single Part

TEST CASE NAME TCDECRYPT-1

TEST PURPOSE Ensure that the CUT is able to decrypt encrypted data in a single part.

TEST OBJECT (CUT) Product, software module, cryptographic token

TEST

STEP # FUNCTION ISIS-MTT

PART.SECTION CONDITIONS, CONSTRAINTS

EVALUATION OF THE TEST STEP, INSTRUCTION FOR TEST OPERATOR

1 C_Decrypt P7.S4.6 INPUT hSession with value of session's handle, pEncryptedData with value that points to the encrypted data, ulEncryptedDataLen with value that gives the length in bytes of the encrypted data, pData with value that points to the location that receives the recovered data, and pulDataLen with value that points to the location that holds the length in bytes of the recovered data RETURN CKR_OK

PARAMETER encryption mechanism STATE decryption operation has already been initialized LOG recovered data pointed to by pData, compare recovered with data that have been encrypted RESULT CKR_OK and recovered data identical with input data

Table 99: Test Case TCDECRYPT-2: Rejection of Function Call C_Decrypt For Non-Initialzed Decryption Operation

TEST CASE NAME TCDECRYPT-2

TEST PURPOSE Ensure that the CUT is able to reject the function call C_Decrypt if the decryption operation has not been initialized before.

TEST OBJECT (CUT) Product, software module, cryptographic token

TEST

STEP # FUNCTION ISIS-MTT

PART.SECTION CONDITIONS, CONSTRAINTS

EVALUATION OF THE TEST STEP, INSTRUCTION FOR TEST OPERATOR

1 C_Decrypt P7.S4.6 RETURN CKR_OPERATION_NOT_INITIALIZED MODIFICATION of test case TCDECRYPT-1 STATE decryption operation has not been initialized RESULT CKR_OPERATION_NOT_INITIALIZED

Page 302: ISIS-MTT Test Specification - TeleTrusT · 2009-04-03 · ISIS-MTT Test Specification: Introduction Version 1.1 Document History Page 3 of 19 Document History VERSION DATE CHANGES

ISIS-MTT Test Specification Part 7: Cryptographic Token Interface Version 1.1

Test Case Specifications for ISIS-MTT Part 7 Page 66 of 95

Table 100: Test Case TCDECRYPTUPDATE-1: Decryption of Multi-Part Data

TEST CASE NAME TCDECRYPTUPDATE-1

TEST PURPOSE Ensure that the CUT is able to perform a multiple-part decryption operation..

TEST OBJECT (CUT) Product, software module, cryptographic token

TEST

STEP # FUNCTION ISIS-MTT

PART.SECTION CONDITIONS, CONSTRAINTS

EVALUATION OF THE TEST STEP, INSTRUCTION FOR TEST OPERATOR

1 C_DecryptUpdate

P7.S4.6 INPUT hSession with value of session's handle, pEncryptedPart with value that points to another encrypted data part, ulEncryptedPartLen with value that gives the length in bytes of the encrypted data part, pPart with value that points to the location that receives the recovered data part, and pulPartLen with value that points to the location that holds the length in bytes of the recovered data part RETURN CKR_OK

PARAMETER decryption mechanism STATE decryption operation has already been initialized LOG recovered data part pointed to by pPart, and compare with clear input data RESULT CKR_OK and recovered data part identical with clear input data

Table 101: Test Case TCDECRYPTUPDATE-2: Rejection of Function Call C_DecryptUpdate For Non-Initialzed Decryption Operation

TEST CASE NAME TCDECRYPTUPDATE-2

TEST PURPOSE Ensure that the CUT is able to reject the function call C_DecryptUpdate if the decryption operation has not been initialized before.

TEST OBJECT (CUT) Product, software module, cryptographic token

TEST

STEP # FUNCTION ISIS-MTT

PART.SECTION CONDITIONS, CONSTRAINTS

EVALUATION OF THE TEST STEP, INSTRUCTION FOR TEST OPERATOR

1 C_DecryptUpdate

P7.S4.6 RETURN CKR_OPERATION_NOT_INITIALIZED MODIFICATION of test case TCDECRYPTUPDATE-1 STATE encryption operation has not been initialized RESULT CKR_OPERATION_NOT_INITIALIZED

Page 303: ISIS-MTT Test Specification - TeleTrusT · 2009-04-03 · ISIS-MTT Test Specification: Introduction Version 1.1 Document History Page 3 of 19 Document History VERSION DATE CHANGES

ISIS-MTT Test Specification Part 7: Cryptographic Token Interface Version 1.1

Test Case Specifications for ISIS-MTT Part 7 Page 67 of 95

Table 102: Test Case TCDECRYPTFINAL-1: Finishing of Multiple-Part Decryption Operation

TEST CASE NAME TCDECRYPTFINAL-1

TEST PURPOSE Ensure that the CUT is able to finish a multiple-part decryption operation.

TEST OBJECT (CUT) Product, software module, cryptographic token

TEST

STEP # FUNCTION ISIS-MTT

PART.SECTION CONDITIONS, CONSTRAINTS

EVALUATION OF THE TEST STEP, INSTRUCTION FOR TEST OPERATOR

1 C_DecryptFinal

P7.S4.6 INPUT hSession with value of session's handle, pLastPart with value that points to the location that receives the last recovered data part, and pulLastPartLen with value that points to the location that holds the length in bytes of last the recovered data part RETURN CKR_OK

PARAMETER decryption mechanism STATE multiple-part decryption operation(s) has/have already been performed LOG last recovered data part pointed to by pLastPart RESULT CKR_OK

Table 103: Test Case TCDECRYPTFINAL-2: Rejection of Function Call C_DecryptFinal For Non-Initialzed Decryption Operation

TEST CASE NAME TCDECRYPTFINAL-2

TEST PURPOSE Ensure that the CUT is able to reject the function call C_DecryptFinal if the decryption operation has not been initialized before.

TEST OBJECT (CUT) Product, software module, cryptographic token

TEST

STEP # FUNCTION ISIS-MTT

PART.SECTION CONDITIONS, CONSTRAINTS

EVALUATION OF THE TEST STEP, INSTRUCTION FOR TEST OPERATOR

1 C_DecryptFinal

P7.S4.6 RETURN CKR_OPERATION_NOT_INITIALIZED MODIFICATION of test case TCDECRYPTFINAL-1 STATE decryption operation has not been initialized RESULT CKR_OPERATION_NOT_INITIALIZED

Page 304: ISIS-MTT Test Specification - TeleTrusT · 2009-04-03 · ISIS-MTT Test Specification: Introduction Version 1.1 Document History Page 3 of 19 Document History VERSION DATE CHANGES

ISIS-MTT Test Specification Part 7: Cryptographic Token Interface Version 1.1

Test Case Specifications for ISIS-MTT Part 7 Page 68 of 95

2.7 Message Digesting

Table 104: Test Case TCDIGESTINIT-1: Initialization of Message-Digesting Operation

TEST CASE NAME TCDIGESTINIT-1

TEST PURPOSE Ensure that the CUT is able to initialize a message-digesting operation.

TEST OBJECT (CUT) Product, software module, cryptographic token

TEST

STEP # FUNCTION ISIS-MTT

PART.SECTION CONDITIONS, CONSTRAINTS

EVALUATION OF THE TEST STEP, INSTRUCTION FOR TEST OPERATOR

1 C_DigestInit P7.S4.7 INPUT hSession with value of session's handle, and pMechanism with value that points to the digesting mechanism RETURN CKR_OK

PARAMETER digesting mechanism STATE session open RESULT CKR_OK

Table 105: Test Case TCDIGESTINIT-2: Rejection of Function Call C_DigestInit With Invalid Session Handle Value

TEST CASE NAME TCDIGESTINIT-2

TEST PURPOSE Ensure that the CUT is able to reject the function call C_DigestInit with an invalid session handle value.

TEST OBJECT (CUT) Product, software module, cryptographic token

TEST

STEP # FUNCTION ISIS-MTT

PART.SECTION CONDITIONS, CONSTRAINTS

EVALUATION OF THE TEST STEP, INSTRUCTION FOR TEST OPERATOR

1 C_DigestInit P7.S4.7 INPUT hSession with invalid value of session handle RETURN CKR_SESSION_HANDLE_INVALID

MODIFICATION of test case TCDIGESTINIT-1 RESULT CKR_SESSION_HANDLE_INVALID

Page 305: ISIS-MTT Test Specification - TeleTrusT · 2009-04-03 · ISIS-MTT Test Specification: Introduction Version 1.1 Document History Page 3 of 19 Document History VERSION DATE CHANGES

ISIS-MTT Test Specification Part 7: Cryptographic Token Interface Version 1.1

Test Case Specifications for ISIS-MTT Part 7 Page 69 of 95

Table 106: Test Case TCDIGESTINIT-3: Rejection of Function Call C_DigestInit With Invalid Mechanism Type

TEST CASE NAME TCDIGESTINIT-3

TEST PURPOSE Ensure that the CUT is able to reject the function call C_DigestInit with an invalid mechanism type.

TEST OBJECT (CUT) Product, software module, cryptographic token

TEST

STEP # FUNCTION ISIS-MTT

PART.SECTION CONDITIONS, CONSTRAINTS

EVALUATION OF THE TEST STEP, INSTRUCTION FOR TEST OPERATOR

1 C_DigestInit P7.S4.7 INPUT pMechanism with invalid mechanism type RETURN CKR_MECHANISM_INVALID

MODIFICATION of test case TCdigestinit-1 RESULT CKR_MECHANISM_INVALID

Table 107: Test Case TCDIGEST-1: Digesting Data in a Single Part

TEST CASE NAME TCDIGEST-1

TEST PURPOSE Ensure that the CUT is able to digest data in a single part.

TEST OBJECT (CUT) Product, software module, cryptographic token

TEST

STEP # FUNCTION ISIS-MTT

PART.SECTION CONDITIONS, CONSTRAINTS

EVALUATION OF THE TEST STEP, INSTRUCTION FOR TEST OPERATOR

1 C_Digest P7.S4.7 INPUT hSession with value of session's handle, pData with value that points to the data, ulDataLen with value that gives the length in bytes of the data, pDigest with value that points to the location that receives the message digest, and pulDigestLen with value that points to the location that holds the length in bytes of the message digest RETURN CKR_OK

PARAMETER digesting mechanism STATE message-digesting operation has already been initialized LOG message digest pointed to by pDigest, perform own digesting operation on input data RESULT CKR_OK and message digest identical with own message digest

Page 306: ISIS-MTT Test Specification - TeleTrusT · 2009-04-03 · ISIS-MTT Test Specification: Introduction Version 1.1 Document History Page 3 of 19 Document History VERSION DATE CHANGES

ISIS-MTT Test Specification Part 7: Cryptographic Token Interface Version 1.1

Test Case Specifications for ISIS-MTT Part 7 Page 70 of 95

Table 108: Test Case TCDIGEST-2: Rejection of Function Call C_Digest For Non-Initialzed Digesting Operation

TEST CASE NAME TCDIGEST-2

TEST PURPOSE Ensure that the CUT is able to reject the function call C_Digest if the digesting operation has not been initialized before.

TEST OBJECT (CUT) Product, software module, cryptographic token

TEST

STEP # FUNCTION ISIS-MTT

PART.SECTION CONDITIONS, CONSTRAINTS

EVALUATION OF THE TEST STEP, INSTRUCTION FOR TEST OPERATOR

1 C_Digest P7.S4.7 RETURN CKR_OPERATION_NOT_INITIALIZED MODIFICATION of test case TCDIGEST-1 STATE digesting operation has not been initialized RESULT CKR_OPERATION_NOT_INITIALIZED

Table 109: Test Case TCDIGESTUPDATE-1: Multiple-Part Message-Digesting Operation

TEST CASE NAME TCDIGESTUPDATE-1

TEST PURPOSE Ensure that the CUT is able to perform a multiple-part message-digesting operation.

TEST OBJECT (CUT) Product, software module, cryptographic token

TEST

STEP # FUNCTION ISIS-MTT

PART.SECTION CONDITIONS, CONSTRAINTS

EVALUATION OF THE TEST STEP, INSTRUCTION FOR TEST OPERATOR

1 C_DigestUpdate

P7.S4.7 INPUT hSession with value of session's handle, pPart with value that points to the data part, and ulPartLen with value that gives the length in bytes of the data part RETURN CKR_OK

PARAMETER digesting mechanism STATE message-digesting operation has already been initialized RESULT CKR_OK CONTINUE with this test case for remaining data parts (if applicable) and finish with test case TCDIGESTFINAL-1

Page 307: ISIS-MTT Test Specification - TeleTrusT · 2009-04-03 · ISIS-MTT Test Specification: Introduction Version 1.1 Document History Page 3 of 19 Document History VERSION DATE CHANGES

ISIS-MTT Test Specification Part 7: Cryptographic Token Interface Version 1.1

Test Case Specifications for ISIS-MTT Part 7 Page 71 of 95

Table 110: Test Case TCDIGESTUPDATE-2: Rejection of Function Call C_DigestUpdate For Non-Initialzed Digesting Operation

TEST CASE NAME TCDIGESTUPDATE-2

TEST PURPOSE Ensure that the CUT is able to reject the function call C_DigestUpdatei f the digesting operation has not been initialized before.

TEST OBJECT (CUT) Product, software module, cryptographic token

TEST

STEP # FUNCTION ISIS-MTT

PART.SECTION CONDITIONS, CONSTRAINTS

EVALUATION OF THE TEST STEP, INSTRUCTION FOR TEST OPERATOR

1 C_DigestUpdate

P7.S4.7 RETURN CKR_OPERATION_NOT_INITIALIZED MODIFICATION of test case TCDIGESTUPDATE-1 STATE digesting operation has not been initialized RESULT CKR_OPERATION_NOT_INITIALIZED

Table 111: Test Case TCDIGESTKEY-1: Continuation of Multiple-Part Message-Digesting Operation for Digesting Value of Secret Key

TEST CASE NAME TCDIGESTKEY-1

TEST PURPOSE Ensure that the CUT is able to continue a multiple-part message-digesting operation by digesting the value of a secret key.

TEST OBJECT (CUT) Product, software module, cryptographic token

TEST

STEP # FUNCTION ISIS-MTT

PART.SECTION CONDITIONS, CONSTRAINTS

EVALUATION OF THE TEST STEP, INSTRUCTION FOR TEST OPERATOR

1 C_DigestKey P7.S4.7 INPUT hSession with value of session's handle, and hKey with value that gives the handle of the secret key to be digested RETURN CKR_OK

PARAMETER digesting mechanism STATE message-digesting operation has already been initialized RESULT CKR_OK CONTINUE with test case TCDIGESTUPDATE-1 for remaining data parts (if applicable) and finish with test case TCDIGESTFINAL-1

Page 308: ISIS-MTT Test Specification - TeleTrusT · 2009-04-03 · ISIS-MTT Test Specification: Introduction Version 1.1 Document History Page 3 of 19 Document History VERSION DATE CHANGES

ISIS-MTT Test Specification Part 7: Cryptographic Token Interface Version 1.1

Test Case Specifications for ISIS-MTT Part 7 Page 72 of 95

Table 112: Test Case TCDIGESTKEY-2: Rejection of Function Call C_DigestKey For Non-Initialzed Digesting Operation

TEST CASE NAME TCDIGESTKEY-2

TEST PURPOSE Ensure that the CUT is able to reject the function call C_DigestKey if the digesting operation has not been initialized before.

TEST OBJECT (CUT) Product, software module, cryptographic token

TEST

STEP # FUNCTION ISIS-MTT

PART.SECTION CONDITIONS, CONSTRAINTS

EVALUATION OF THE TEST STEP, INSTRUCTION FOR TEST OPERATOR

1 C_DigestKey P7.S4.7 RETURN CKR_OPERATION_NOT_INITIALIZED MODIFICATION of test case TCDIGESTKEY-1 STATE digesting operation has not been initialized RESULT CKR_OPERATION_NOT_INITIALIZED

Table 113: Test Case TCDIGESTKEY-3: Rejection of Function Call C_DigestKey With Invalid Key Handle

TEST CASE NAME TCDIGESTKEY-3

TEST PURPOSE Ensure that the CUT is able to reject the function call C_DigestKey with an invalid key handle.

TEST OBJECT (CUT) Product, software module, cryptographic token

TEST

STEP # FUNCTION ISIS-MTT

PART.SECTION CONDITIONS, CONSTRAINTS

EVALUATION OF THE TEST STEP, INSTRUCTION FOR TEST OPERATOR

1 C_DigestKey P7.S4.7 INPUT hKey with invalid value of the secret key's handle RETURN CKR_KEY_HANDLE_INVALID

MODIFICATION of test case TCDIGESTKEY-1 STATE digesting operation has been initialized before RESULT CKR_KEY_HANDLE_INVALID

Page 309: ISIS-MTT Test Specification - TeleTrusT · 2009-04-03 · ISIS-MTT Test Specification: Introduction Version 1.1 Document History Page 3 of 19 Document History VERSION DATE CHANGES

ISIS-MTT Test Specification Part 7: Cryptographic Token Interface Version 1.1

Test Case Specifications for ISIS-MTT Part 7 Page 73 of 95

Table 114: Test Case TCDIGESTFINAL-1: Finishing Multiple-Part Message-Digesting Operation

TEST CASE NAME TCDIGESTFINAL-1

TEST PURPOSE Ensure that the CUT is able to finish a multiple-part message-digesting operation.

TEST OBJECT (CUT) Product, software module, cryptographic token

TEST

STEP # FUNCTION ISIS-MTT

PART.SECTION CONDITIONS, CONSTRAINTS

EVALUATION OF THE TEST STEP, INSTRUCTION FOR TEST OPERATOR

1 C_DigestFinal

P7.S4.7 INPUT hSession with value of session's handle, pDigest with value that points to the location that receives the message digest, and pulDigestLen with value that points to the location that holds the length in bytes of last message digest RETURN CKR_OK

PARAMETER decryption mechanism STATE multiple-part message-digesting operation(s) has/have already been performed LOG last message digest pointed to by pDigest, perform own digesting operation on input data RESULT CKR_OK and message digest identical with own message digest

Table 115: Test Case TCDIGESTFINAL-2: Rejection of Function Call C_DigestFinal For Non-Initialzed Digesting Operation

TEST CASE NAME TCDIGESTFINAL-2

TEST PURPOSE Ensure that the CUT is able to reject the function call C_DigestFinal if the message-digesting operation has not been initialized before.

TEST OBJECT (CUT) Product, software module, cryptographic token

TEST

STEP # FUNCTION ISIS-MTT

PART.SECTION CONDITIONS, CONSTRAINTS

EVALUATION OF THE TEST STEP, INSTRUCTION FOR TEST OPERATOR

1 C_DigestFinal

P7.S4.7 RETURN CKR_OPERATION_NOT_INITIALIZED MODIFICATION of test case TCDIGESTFINAL-1 STATE message-digesting operation has not been initialized RESULT CKR_OPERATION_NOT_INITIALIZED

Page 310: ISIS-MTT Test Specification - TeleTrusT · 2009-04-03 · ISIS-MTT Test Specification: Introduction Version 1.1 Document History Page 3 of 19 Document History VERSION DATE CHANGES

ISIS-MTT Test Specification Part 7: Cryptographic Token Interface Version 1.1

Test Case Specifications for ISIS-MTT Part 7 Page 74 of 95

2.8 Signing

Table 116: Test Case TCSIGNINIT-1: Initilization of Signature Operation

TEST CASE NAME TCSIGNINIT-1

TEST PURPOSE Ensure that the CUT is able to initialize a signature operation.

TEST OBJECT (CUT) Product, software module, cryptographic token

TEST

STEP # FUNCTION ISIS-MTT

PART.SECTION CONDITIONS, CONSTRAINTS

EVALUATION OF THE TEST STEP, INSTRUCTION FOR TEST OPERATOR

1 C_SignInit P7.S4.8 INPUT hSession with value of session's handle, pMechanism with value that points to the signature mechanism, and hKey with value that gives the handle of the signature key RETURN CKR_OK

PARAMETER signature mechanism STATE signature key has already been created with the CKA_SIGN attribute with the value TRUE RESULT CKR_OK

Table 117: Test Case TCSIGNINIT-2: Rejection of Function Call C_SignInit With Invalid Session Handle Value

TEST CASE NAME TCSIGNINIT-2

TEST PURPOSE Ensure that the CUT is able to reject the function call C_SignInit with an invalid session handle value.

TEST OBJECT (CUT) Product, software module, cryptographic token

TEST

STEP # FUNCTION ISIS-MTT

PART.SECTION CONDITIONS, CONSTRAINTS

EVALUATION OF THE TEST STEP, INSTRUCTION FOR TEST OPERATOR

1 C_SignInit P7.S4.8 INPUT hSession with invalid value of session handle RETURN CKR_SESSION_HANDLE_INVALID

MODIFICATION of test case TCSIGNINIT-1 RESULT CKR_SESSION_HANDLE_INVALID

Page 311: ISIS-MTT Test Specification - TeleTrusT · 2009-04-03 · ISIS-MTT Test Specification: Introduction Version 1.1 Document History Page 3 of 19 Document History VERSION DATE CHANGES

ISIS-MTT Test Specification Part 7: Cryptographic Token Interface Version 1.1

Test Case Specifications for ISIS-MTT Part 7 Page 75 of 95

Table 118: Test Case TCSIGNINIT-3: Rejection of Function Call C_SignInit With Invalid Key Handle Value

TEST CASE NAME TCSIGNINIT-3

TEST PURPOSE Ensure that the CUT is able to reject the function call C_SignInit with an invalid key handle value.

TEST OBJECT (CUT) Product, software module, cryptographic token

TEST

STEP # FUNCTION ISIS-MTT

PART.SECTION CONDITIONS, CONSTRAINTS

EVALUATION OF THE TEST STEP, INSTRUCTION FOR TEST OPERATOR

1 C_SignInit P7.S4.8 INPUT hKey with invalid value of key handle RETURN CKR_KEY_HANDLE_INVALID

MODIFICATION of test case TCSIGNINIT-1. RESULT CKR_KEY_HANDLE_INVALID

Table 119: Test Case TCSIGNINIT-4: Rejection of Function Call C_SignInit With Invalid Mechanism Type

TEST CASE NAME TCSIGNINIT-4

TEST PURPOSE Ensure that the CUT is able to reject the function call C_SignInit with an invalid mechanism type.

TEST OBJECT (CUT) Product, software module, cryptographic token

TEST

STEP # FUNCTION ISIS-MTT

PART.SECTION CONDITIONS, CONSTRAINTS

EVALUATION OF THE TEST STEP, INSTRUCTION FOR TEST OPERATOR

1 C_SignInit P7.S4.8 INPUT pMechanism with invalid mechanism type RETURN CKR_MECHANISM_INVALID

MODIFICATION of test case TCSIGNINIT-1. RESULT CKR_MECHANISM_INVALID

Page 312: ISIS-MTT Test Specification - TeleTrusT · 2009-04-03 · ISIS-MTT Test Specification: Introduction Version 1.1 Document History Page 3 of 19 Document History VERSION DATE CHANGES

ISIS-MTT Test Specification Part 7: Cryptographic Token Interface Version 1.1

Test Case Specifications for ISIS-MTT Part 7 Page 76 of 95

Table 120: Test Case TCSIGN-1: Signing Data in Single Part

TEST CASE NAME TCSIGN-1

TEST PURPOSE Ensure that the CUT is able to sign data in a single part.

TEST OBJECT (CUT) Product, software module, cryptographic token

TEST

STEP # FUNCTION ISIS-MTT

PART.SECTION CONDITIONS, CONSTRAINTS

EVALUATION OF THE TEST STEP, INSTRUCTION FOR TEST OPERATOR

1 C_Sign P7.S4.8 INPUT hSession with value of session's handle, pData with value that points to the data, ulDataLen with value that gives the length in bytes of the data, pSignature with value that points to the location that receives the signature, and pulSignatureLen with value that points to the location that holds the length in bytes of the signature RETURN CKR_OK

PARAMETER signature mechanism STATE signature operation has already been initialized LOG signature pointed to by pSignature, verify signature RESULT CKR_OK and verification passed

Table 121: Test Case TCSIGN-2: Rejection of Function Call C_Sign For Non-Initialzed Signature Operation

TEST CASE NAME TCSIGN-2

TEST PURPOSE Ensure that the CUT is able to reject the function call C_Sign if the signature operation has not been initialized before.

TEST OBJECT (CUT) Product, software module, cryptographic token

TEST

STEP # FUNCTION ISIS-MTT

PART.SECTION CONDITIONS, CONSTRAINTS

EVALUATION OF THE TEST STEP, INSTRUCTION FOR TEST OPERATOR

1 C_Sign P7.S4.8 RETURN CKR_OPERATION_NOT_INITIALIZED MODIFICATION of test case TCSIGN-1 STATE signature operation has not been initialized RESULT CKR_OPERATION_NOT_INITIALIZED

Page 313: ISIS-MTT Test Specification - TeleTrusT · 2009-04-03 · ISIS-MTT Test Specification: Introduction Version 1.1 Document History Page 3 of 19 Document History VERSION DATE CHANGES

ISIS-MTT Test Specification Part 7: Cryptographic Token Interface Version 1.1

Test Case Specifications for ISIS-MTT Part 7 Page 77 of 95

2.9 Verification

Table 122: Test Case TCVERIFYINIT-1: Initialization of Verification Operation Where Signature is Appendix to Data

TEST CASE NAME TCVERIFYINIT-1

TEST PURPOSE Ensure that the CUT is able to initialize a verification operation, where the signature is an appendix to the data.

TEST OBJECT (CUT) Product, software module, cryptographic token

TEST

STEP # FUNCTION ISIS-MTT

PART.SECTION CONDITIONS, CONSTRAINTS

EVALUATION OF THE TEST STEP, INSTRUCTION FOR TEST OPERATOR

1 C_VerifyInit P7.S4.9 INPUT hSession with value of session's handle, pMechanism with value that points to the structure that specifies the verification mechanism, and hKey with value that gives the handle of the verification key RETURN CKR_OK

PARAMETER verification mechanism STATE verification key has already been created with the CKA_VERIFY attribute with the value TRUE RESULT CKR_OK

Table 123: Test Case TCVERIFYINIT-2: Rejection of Function Call C_VerifyInit With Invalid Session Handle Value

TEST CASE NAME TCVERIFYINIT-2

TEST PURPOSE Ensure that the CUT is able to reject the function call C_VerifyInit with an invalid session handle value.

TEST OBJECT (CUT) Product, software module, cryptographic token

TEST

STEP # FUNCTION ISIS-MTT

PART.SECTION CONDITIONS, CONSTRAINTS

EVALUATION OF THE TEST STEP, INSTRUCTION FOR TEST OPERATOR

1 C_VerifyInit P7.S4.9 INPUT hSession with invalid value of session handle RETURN CKR_SESSION_HANDLE_INVALID

MODIFICATION of test case TCVERIFYINIT-1 RESULT CKR_SESSION_HANDLE_INVALID

Page 314: ISIS-MTT Test Specification - TeleTrusT · 2009-04-03 · ISIS-MTT Test Specification: Introduction Version 1.1 Document History Page 3 of 19 Document History VERSION DATE CHANGES

ISIS-MTT Test Specification Part 7: Cryptographic Token Interface Version 1.1

Test Case Specifications for ISIS-MTT Part 7 Page 78 of 95

Table 124: Test Case TCVERIFYINIT-3: Rejection of Function Call C_VerifyInit With Invalid Key Handle Value

TEST CASE NAME TCVERIFYINIT-3

TEST PURPOSE Ensure that the CUT is able to reject the function call C_VerifyInit with an invalid key handle value.

TEST OBJECT (CUT) Product, software module, cryptographic token

TEST

STEP # FUNCTION ISIS-MTT

PART.SECTION CONDITIONS, CONSTRAINTS

EVALUATION OF THE TEST STEP, INSTRUCTION FOR TEST OPERATOR

1 C_VerifyInit P7.S4.9 INPUT hKey with invalid value of key handle RETURN CKR_KEY_HANDLE_INVALID

MODIFICATION of test case TCVERIFYINIT-1 RESULT CKR_KEY_HANDLE_INVALID

Table 125: Test Case TCVERIFYINIT-4: Rejection of Function Call C_VerifyInit With Invalid Mechanism Type

TEST CASE NAME TCVERIFYINIT-4

TEST PURPOSE Ensure that the CUT is able to reject the function call C_VerifyInit with an invalid mechanism type.

TEST OBJECT (CUT) Product, software module, cryptographic token

TEST

STEP # FUNCTION ISIS-MTT

PART.SECTION CONDITIONS, CONSTRAINTS

EVALUATION OF THE TEST STEP, INSTRUCTION FOR TEST OPERATOR

1 C_VerifyInit P7.S4.9 INPUT pMechanism with invalid mechanism type RETURN CKR_MECHANISM_INVALID

MODIFICATION of test case TCVERIFYINIT-1 RESULT CKR_MECHANISM_INVALID

Page 315: ISIS-MTT Test Specification - TeleTrusT · 2009-04-03 · ISIS-MTT Test Specification: Introduction Version 1.1 Document History Page 3 of 19 Document History VERSION DATE CHANGES

ISIS-MTT Test Specification Part 7: Cryptographic Token Interface Version 1.1

Test Case Specifications for ISIS-MTT Part 7 Page 79 of 95

Table 126: Test Case TCVERIFY-1: Verification of Signature in Single-Part Operation Where Signature is Appendix to the Data

TEST CASE NAME TCVERIFY-1

TEST PURPOSE Ensure that the CUT is able to verify a signature in a single-part operation, where the signature is an appendix to the data.

TEST OBJECT (CUT) Product, software module, cryptographic token

TEST

STEP # FUNCTION ISIS-MTT

PART.SECTION CONDITIONS, CONSTRAINTS

EVALUATION OF THE TEST STEP, INSTRUCTION FOR TEST OPERATOR

1 C_Verify P7.S4.9 INPUT hSession with value of session's handle, pData with value that points to the data, ulDataLen with value that gives the length in bytes of the data, pSignature with value that points to signature, and ulSignatureLen with value that gives the length in bytes of the signature RETURN CKR_OK

PARAMETER verification mechanism STATE verification operation has already been initialized RESULT CKR_OK

Table 127: Test Case TCVERIFY-2: Rejection of Function Call C_Verify For Non-Initialzed Verification Operation

TEST CASE NAME TCVERIFY-2

TEST PURPOSE Ensure that the CUT is able to reject the function call C_Verify if the verification operation has not been initialized before.

TEST OBJECT (CUT) Product, software module, cryptographic token

TEST

STEP # FUNCTION ISIS-MTT

PART.SECTION CONDITIONS, CONSTRAINTS

EVALUATION OF THE TEST STEP, INSTRUCTION FOR TEST OPERATOR

1 C_Verify P7.S4.9 RETURN CKR_OPERATION_NOT_INITIALIZED MODIFICATION of test case TCVERIFY-1 STATE verification operation has not been initialized RESULT CKR_OPERATION_NOT_INITIALIZED

Page 316: ISIS-MTT Test Specification - TeleTrusT · 2009-04-03 · ISIS-MTT Test Specification: Introduction Version 1.1 Document History Page 3 of 19 Document History VERSION DATE CHANGES

ISIS-MTT Test Specification Part 7: Cryptographic Token Interface Version 1.1

Test Case Specifications for ISIS-MTT Part 7 Page 80 of 95

Table 128: Test Case TCVERIFY-3: : Rejection of Function Call C_Verify For Invalid Signature

TEST CASE NAME TCVERIFY-3

TEST PURPOSE Ensure that the CUT is able to reject the function call C_Verify with an invalid signature.

TEST OBJECT (CUT) Product, software module, cryptographic token

TEST

STEP # FUNCTION ISIS-MTT

PART.SECTION CONDITIONS, CONSTRAINTS

EVALUATION OF THE TEST STEP, INSTRUCTION FOR TEST OPERATOR

1 C_Verify P7.S4.9 INPUT pSignature with value that points to an invalid signature RETURN CKR_SIGNATURE_INVALID

MODIFICATION of test case TCVERIFY-1 STATE signature operation has been initialized RESULT CKR_SIGNATURE_INVALID

2.10 Table

Page 317: ISIS-MTT Test Specification - TeleTrusT · 2009-04-03 · ISIS-MTT Test Specification: Introduction Version 1.1 Document History Page 3 of 19 Document History VERSION DATE CHANGES

ISIS-MTT Test Specification Part 7: Cryptographic Token Interface Version 1.1

Test Case Specifications for ISIS-MTT Part 7 Page 81 of 95

Multiple Cryptographic Operations

Table 129: Test Case TCDIGESTENCRYPTUPDATE-1: Multiple-Part Digesting And Encryption Operations Processing Another Data Part

TEST CASE NAME TCDIGESTENCRYPTUPDATE-1

TEST PURPOSE Ensure that the CUT is able to perform multiple-part digest and encryption operations, processing another data part.

TEST OBJECT (CUT) Product, software module, cryptographic token

TEST

STEP # FUNCTION ISIS-MTT

PART.SECTION CONDITIONS, CONSTRAINTS

EVALUATION OF THE TEST STEP, INSTRUCTION FOR TEST OPERATOR

1 C_DigestEncryptUpdate

P7.S4.10 INPUT hSession with value of session's handle, pPart with value that points to the data part, ulPartLen with value that gives the length in bytes of the data part, pEncryptedPart with value that points to the location that receives the digested and encrypted data part, and ulEncryptedPartLen with value that points to the location that holds the length in bytes of the encrypted data part RETURN CKR_OK

PARAMETER digesting, and encryption mechanisms STATE message-digesting, and encryption operations have already been initialized LOG digested and encrypted data pointed to by pEncryptedPart RESULT CKR_OK CONTINUE with this test case for remaining data parts, and test cases TCDIGESTUPDATE-1, TCENCRYPTUPDATE-1 (if applicable), and finish with the test cases TCDIGESTFINAL-1 and TCENCRYPTFINAL-1

Page 318: ISIS-MTT Test Specification - TeleTrusT · 2009-04-03 · ISIS-MTT Test Specification: Introduction Version 1.1 Document History Page 3 of 19 Document History VERSION DATE CHANGES

ISIS-MTT Test Specification Part 7: Cryptographic Token Interface Version 1.1

Test Case Specifications for ISIS-MTT Part 7 Page 82 of 95

Table 130: Test Case TCDIGESTENCRYPTUPDATE-2: Rejection of Function Call C_DigestEncryptUpdate For Non-Initialzed Digesting

And Encryption Operations

TEST CASE NAME TCDIGESTENCRYPTUPDATE-2

TEST PURPOSE Ensure that the CUT is able to reject the function call C_DigestEncryptUpdate if the digesting and encryption operations have not been initialized before.

TEST OBJECT (CUT) Product, software module, cryptographic token

TEST

STEP # FUNCTION ISIS-MTT

PART.SECTION CONDITIONS, CONSTRAINTS

EVALUATION OF THE TEST STEP, INSTRUCTION FOR TEST OPERATOR

1 C_DigestEncryptUpdate

P7.S4.10 RETURN CKR_OPERATION_NOT_INITIALIZED MODIFICATION of test case TCDIGESTENCRYPTUPDATE-1 STATE digesting, and encryption operations have not been initialized RESULT CKR_OPERATION_NOT_INITIALIZED

Page 319: ISIS-MTT Test Specification - TeleTrusT · 2009-04-03 · ISIS-MTT Test Specification: Introduction Version 1.1 Document History Page 3 of 19 Document History VERSION DATE CHANGES

ISIS-MTT Test Specification Part 7: Cryptographic Token Interface Version 1.1

Test Case Specifications for ISIS-MTT Part 7 Page 83 of 95

Table 131: Test Case TCDECRYPTDIGESTUPDATE-1: Multiple-Part Digesting And Decryption Operations Processing Another Data

Part

TEST CASE NAME TCDECRYPTDIGESTUPDATE-1

TEST PURPOSE Ensure that the CUT is able to perform multiple-part digest and decryption operations, processing another data part.

TEST OBJECT (CUT) Product, software module, cryptographic token

TEST

STEP # FUNCTION ISIS-MTT

PART.SECTION CONDITIONS, CONSTRAINTS

EVALUATION OF THE TEST STEP, INSTRUCTION FOR TEST OPERATOR

1 C_DecryptDigestUpdate

P7.S4.10 INPUT hSession with value of session's handle, pEncryptedPart with value that points to the encrypted data part, and ulEncryptedPartLen with value that gives the length in bytes of the encrypted data part, pPart with value that points to the location that receives the recovered data part, and ulPartLen with value that points to the location that holds the length in bytes of the recovered data part RETURN CKR_OK

PARAMETER digesting, and decryption mechanisms STATE message-digesting, and decryption operations have already been initialized LOG recovered data pointed to by pPart RESULT CKR_OK CONTINUE with this test case for remaining data parts, and test cases TCDIGESTUPDATE-1, TCDECRYPTUPDATE-1(if applicable), and finish with the test cases TCDIGESTFINAL-1 and TCDECRYPTFINAL-1

Table 132: Test Case TCDECRYPTDIGESTUPDATE-2: Rejection of Function Call C_DecryptDigestUpdate For Non-Initialzed Digesting

And Decryption Operations

TEST CASE NAME TCDECRYPTDIGESTUPDATE-2

TEST PURPOSE Ensure that the CUT is able to reject the function call C_DecryptDigest-Update if the digesting, and decryption operations have not been initialized before.

TEST OBJECT (CUT) Product, software module, cryptographic token

TEST

STEP # FUNCTION ISIS-MTT

PART.SECTION CONDITIONS, CONSTRAINTS

EVALUATION OF THE TEST STEP, INSTRUCTION FOR TEST OPERATOR

Page 320: ISIS-MTT Test Specification - TeleTrusT · 2009-04-03 · ISIS-MTT Test Specification: Introduction Version 1.1 Document History Page 3 of 19 Document History VERSION DATE CHANGES

ISIS-MTT Test Specification Part 7: Cryptographic Token Interface Version 1.1

Test Case Specifications for ISIS-MTT Part 7 Page 84 of 95

1 C_DecryptDigestUpdate

P7.S4.10 RETURN CKR_OPERATION_NOT_INITIALIZED MODIFICATION of test case TCDECRYPTDIGESTUPDATE-1 STATE digesting, and encryption operations have not been initialized RESULT CKR_OPERATION_NOT_INITIALIZED

Page 321: ISIS-MTT Test Specification - TeleTrusT · 2009-04-03 · ISIS-MTT Test Specification: Introduction Version 1.1 Document History Page 3 of 19 Document History VERSION DATE CHANGES

ISIS-MTT Test Specification Part 7: Cryptographic Token Interface Version 1.1

Test Case Specifications for ISIS-MTT Part 7 Page 85 of 95

2.11 Key Management

Table 133: Test Case TCGENERATEKEY-1: Generation of Secret Key

TEST CASE NAME TCGENERATEKEY-1

TEST PURPOSE Ensure that the CUT is able generate a secret key, creating a new key object.

TEST OBJECT (CUT) Product, software module, cryptographic token

TEST

STEP # FUNCTION ISIS-MTT

PART.SECTION CONDITIONS, CONSTRAINTS

EVALUATION OF THE TEST STEP, INSTRUCTION FOR TEST OPERATOR

1 C_GenerateKey

P7.S4.11 INPUT hSession with value of session's handle, pMechanism with value that points to the key generation mechanism, pTemplate with value that points to the template for a new key, ulCount with value that specifies the number of attributes in the template, and phKey with value that points to the location that receives the handle of the new key RETURN CKR_OK

PARAMETER key generation mechanism STATE session open, user logged in RESULT CKR_OK

Table 134: Test Case TCGENERATEKEY-2: Rejection of Function Call C_GenerateKey With Invalid Session Handle

TEST CASE NAME TCGENERATEKEY-2

TEST PURPOSE Ensure that the CUT is able to reject the function call C_GenerateKey with an invalid session handle.

TEST OBJECT (CUT) Product, software module, cryptographic token

TEST

STEP # FUNCTION ISIS-MTT

PART.SECTION CONDITIONS, CONSTRAINTS

EVALUATION OF THE TEST STEP, INSTRUCTION FOR TEST OPERATOR

1 C_GenerateKey

P7.S4.11 RETURN CKR_SESSION_HANDLE_INVALID MODIFICATION of test case TCGENERATEKEY-1 RESULT CKR_SESSION_HANDLE_INVALID

Page 322: ISIS-MTT Test Specification - TeleTrusT · 2009-04-03 · ISIS-MTT Test Specification: Introduction Version 1.1 Document History Page 3 of 19 Document History VERSION DATE CHANGES

ISIS-MTT Test Specification Part 7: Cryptographic Token Interface Version 1.1

Test Case Specifications for ISIS-MTT Part 7 Page 86 of 95

Table 135: Test Case TCGENERATEKEY-3: Rejection of Function Call C_GenerateKey With Inconsistent Template

TEST CASE NAME TCGENERATEKEY-3

TEST PURPOSE Ensure that the CUT is able to reject the function call C_GenerateKey with an inconsistent template.

TEST OBJECT (CUT) Product, software module, cryptographic token

TEST

STEP # FUNCTION ISIS-MTT

PART.SECTION CONDITIONS, CONSTRAINTS

EVALUATION OF THE TEST STEP, INSTRUCTION FOR TEST OPERATOR

1 C_GenerateKey

P7.S4.11 INPUT pTemplate with value that points to an inconsistent template for a new key RETURN CKR_TEMPLATE_INCONSISTENT

MODIFICATION of test case TCGENERATEKEY-1 RESULT CKR_TEMPLATE_INCONSISTENT

Page 323: ISIS-MTT Test Specification - TeleTrusT · 2009-04-03 · ISIS-MTT Test Specification: Introduction Version 1.1 Document History Page 3 of 19 Document History VERSION DATE CHANGES

ISIS-MTT Test Specification Part 7: Cryptographic Token Interface Version 1.1

Test Case Specifications for ISIS-MTT Part 7 Page 87 of 95

Table 136: Test Case TCGENERATEKEYPAIR-1: Generation of Public/Private Key Pair

TEST CASE NAME TCGENERATEKEYPAIR-1

TEST PURPOSE Ensure that the CUT is able generate a public/private key pair, creating new key objects.

TEST OBJECT (CUT) Product, software module, cryptographic token

TEST

STEP # FUNCTION ISIS-MTT

PART.SECTION CONDITIONS, CONSTRAINTS

EVALUATION OF THE TEST STEP, INSTRUCTION FOR TEST OPERATOR

1 C_GenerateKeyPair

P7.S4.11 INPUT hSession with value of session's handle, pMechanism with value that points to the key generation mechanism, pPublicTemplate with value that points to the template for the public key, ulPublicKeyAttributeCount with value that specifies the number of attributes in the public-key template, phKey with value that points to the location that receives the handle of the new public key, and phPrivateKey with value that points to the location that receives the handle of the new private key RETURN CKR_OK

PARAMETER key generation mechanism STATE session open, user logged in RESULT CKR_OK

Table 137: Test Case TCGENERATEKEYPAIR-2: Rejection of Function Call C_GenerateKeyPair With Invalid Session Handle

TEST CASE NAME TCGENERATEKEYPAIR-2

TEST PURPOSE Ensure that the CUT is able to reject the function call C_GenerateKeyPair with an invalid session handle.

TEST OBJECT (CUT) Product, software module, cryptographic token

TEST

STEP # FUNCTION ISIS-MTT

PART.SECTION CONDITIONS, CONSTRAINTS

EVALUATION OF THE TEST STEP, INSTRUCTION FOR TEST OPERATOR

1 C_GenerateKeyPair

P7.S4.11 RETURN CKR_SESSION_HANDLE_INVALID MODIFICATION of test case TCGENERATEKEYPAIR-1 RESULT CKR_SESSION_HANDLE_INVALID

Page 324: ISIS-MTT Test Specification - TeleTrusT · 2009-04-03 · ISIS-MTT Test Specification: Introduction Version 1.1 Document History Page 3 of 19 Document History VERSION DATE CHANGES

ISIS-MTT Test Specification Part 7: Cryptographic Token Interface Version 1.1

Test Case Specifications for ISIS-MTT Part 7 Page 88 of 95

Table 138: Test Case TCGENERATEKEYPAIR-3: Rejection of Function Call C_GenerateKeyPair With Inconsistent Template

TEST CASE NAME TCGENERATEKEYPAIR-3

TEST PURPOSE Ensure that the CUT is able to reject the function call C_GenerateKeyPair with an inconsistent template.

TEST OBJECT (CUT) Product, software module, cryptographic token

TEST

STEP # FUNCTION ISIS-MTT

PART.SECTION CONDITIONS, CONSTRAINTS

EVALUATION OF THE TEST STEP, INSTRUCTION FOR TEST OPERATOR

1 C_GenerateKeyPair

P7.S4.11 INPUT pPublicTemplate with value that points to an inconsistent template for a new public key RETURN CKR_TEMPLATE_INCONSISTENT

MODIFICATION of test case TCGENERATEKEYPAIR-1 RESULT CKR_TEMPLATE_INCONSISTENT

Table 139: Test Case TCGENERATEKEYPAIR-4: Rejection of Function Call C_GenerateKeyPair With Incomplete Template

TEST CASE NAME TCGENERATEKEYPAIR-4

TEST PURPOSE Ensure that the CUT is able to reject the function call C_GenerateKeyPair with an incomplete template.

TEST OBJECT (CUT) Product, software module, cryptographic token

TEST

STEP # FUNCTION ISIS-MTT

PART.SECTION CONDITIONS, CONSTRAINTS

EVALUATION OF THE TEST STEP, INSTRUCTION FOR TEST OPERATOR

1 C_GenerateKeyPair

P7.S4.11 INPUT pPublicTemplate with value that points to an incomplete template for a new public key RETURN CKR_TEMPLATE_INCOMPLETE

MODIFICATION of test case TCGENERATEKEYPAIR-1 RESULT CKR_TEMPLATE_INCOMPLETE

Page 325: ISIS-MTT Test Specification - TeleTrusT · 2009-04-03 · ISIS-MTT Test Specification: Introduction Version 1.1 Document History Page 3 of 19 Document History VERSION DATE CHANGES

ISIS-MTT Test Specification Part 7: Cryptographic Token Interface Version 1.1

Test Case Specifications for ISIS-MTT Part 7 Page 89 of 95

Table 140: Test Case TCWRAPKEY-1: Encryption of Private or Secret Key

TEST CASE NAME TCWRAPKEY-1

TEST PURPOSE Ensure that the CUT is able to encrypt a private or secret key.

TEST OBJECT (CUT) Product, software module, cryptographic token

TEST

STEP # FUNCTION ISIS-MTT

PART.SECTION CONDITIONS, CONSTRAINTS

EVALUATION OF THE TEST STEP, INSTRUCTION FOR TEST OPERATOR

1 C_WrapKey P7.S4.11 INPUT hSession with value of session's handle, pMechanism with value that points to the key encryption mechanism, hWrappingKey with value that gives the handle of the key encryption key, hKey with value that gives the handle of the key to be encrypted, pWrappedKey with value that points to the location that receives the encrypted key, and pulWrappedKeyLen with value that points to the location that receives the length in bytes of the encrypted key RETURN CKR_OK

PARAMETER key encryption mechanism STATE wrapping key attributes CKA_WRAP and CKA_EXTRACTABLE with the value TRUE LOG encrypted key pointed to by pWrappedKey RESULT CKR_OK

Table 141: Test Case TCWRAPKEY-2: Rejection of Function Call C_WrapKey With Invalid Session Handle

TEST CASE NAME TCWRAPKEY-2

TEST PURPOSE Ensure that the CUT is able to reject the function call C_WrapKey with an invalid session handle.

TEST OBJECT (CUT) Product, software module, cryptographic token

TEST

STEP # FUNCTION ISIS-MTT

PART.SECTION CONDITIONS, CONSTRAINTS

EVALUATION OF THE TEST STEP, INSTRUCTION FOR TEST OPERATOR

1 C_WrapKey P7.S4.11 RETURN CKR_SESSION_HANDLE_INVALID MODIFICATION of test case TCWRAPKEY-1 RESULT CKR_SESSION_HANDLE_INVALID

Page 326: ISIS-MTT Test Specification - TeleTrusT · 2009-04-03 · ISIS-MTT Test Specification: Introduction Version 1.1 Document History Page 3 of 19 Document History VERSION DATE CHANGES

ISIS-MTT Test Specification Part 7: Cryptographic Token Interface Version 1.1

Test Case Specifications for ISIS-MTT Part 7 Page 90 of 95

Table 142: Test Case TCWRAPKEY-3: Rejection of Function Call C_WrapKey With Non-Wrappable Key

TEST CASE NAME TCWRAPKEY-3

TEST PURPOSE Ensure that the CUT is able to reject the function call C_WrapKey with an non-wrappable key.

TEST OBJECT (CUT) Product, software module, cryptographic token

TEST

STEP # FUNCTION ISIS-MTT

PART.SECTION CONDITIONS, CONSTRAINTS

EVALUATION OF THE TEST STEP, INSTRUCTION FOR TEST OPERATOR

1 C_WrapKey P7.S4.11 RETURN CKR_KEY_NOT_WRAPPABLE MODIFICATION of test case TCWRAPKEY-1 STATE wrapping key attribute CKA_WRAP with the value FALSE RESULT CKR_KEY_NOT_WRAPPABLE

Table 143: Test Case TCWRAPKEY-4: Rejection of Function Call C_WrapKey With Non-Extractable Key

TEST CASE NAME TCWRAPKEY-4

TEST PURPOSE Ensure that the CUT is able to reject the function call C_WrapKey with an non-extractable key..

TEST OBJECT (CUT) Product, software module, cryptographic token

TEST

STEP # FUNCTION ISIS-MTT

PART.SECTION CONDITIONS, CONSTRAINTS

EVALUATION OF THE TEST STEP, INSTRUCTION FOR TEST OPERATOR

1 C_WrapKey P7.S4.11 INPUT pPublicTemplate with value that points to an incomplete template for a new public key RETURN CKR_KEY_UNEXTRACTABLE

MODIFICATION of test case TCWRAPKEY-1 STATE wrapping key attribute CKA_EXTRACTABLE with the value FALSE RESULT CKR_KEY_UNEXTRACTABLE

Page 327: ISIS-MTT Test Specification - TeleTrusT · 2009-04-03 · ISIS-MTT Test Specification: Introduction Version 1.1 Document History Page 3 of 19 Document History VERSION DATE CHANGES

ISIS-MTT Test Specification Part 7: Cryptographic Token Interface Version 1.1

Test Case Specifications for ISIS-MTT Part 7 Page 91 of 95

Table 144: Test Case TCUNWRAPKEY-1: Decryption of Encrypted Key

TEST CASE NAME TCUNWRAPKEY-1

TEST PURPOSE Ensure that the CUT is able to decrypt an encrypted key, creating a new private key or secret key object.

TEST OBJECT (CUT) Product, software module, cryptographic token

TEST

STEP # FUNCTION ISIS-MTT

PART.SECTION CONDITIONS, CONSTRAINTS

EVALUATION OF THE TEST STEP, INSTRUCTION FOR TEST

OPERATOR

1 C_UnwrapKey

P7.S4.11 INPUT hSession with value of session's handle, pMechanism with value that points to the unwrapping mechanism, hUnwrappingKey with value that gives the handle of the unwrapping key, pWrappedKey with value that points to the location that points to the wrapped key, ulWrappedKeyLen with value that gives the length in bytes of the wrapped key, pTemplate with value that points to the template for the new key, ulAttributeCount with value that gives the number of attributes in the template, and phKey with value that points to the location that points to the location that receives the handle of the recovered key RETURN CKR_OK

PARAMETER unwrapping mechanism STATE unwrapping key attribute CKA_UNWRAP with the value TRUE LOG values of key attributes CKA_ALWAYS_SENSITIVE and CKA_EXTRACTABLE of the new key RESULT CKR_OK, and CKA_ALWAYS_SENSITIVE with value FALSE and CKA_EXTRACTABLE with value TRUE

Table 145: Test Case TCUNWRAPKEY-2: Rejection of Function Call C_UnwrapKey With Invalid Session Handle

TEST CASE NAME TCUNWRAPKEY-2

TEST PURPOSE Ensure that the CUT is able to reject the function call C_UnwrapKey with an invalid session handle.

TEST OBJECT (CUT) Product, software module, cryptographic token

TEST

STEP # FUNCTION ISIS-MTT

PART.SECTION CONDITIONS, CONSTRAINTS

EVALUATION OF THE TEST STEP, INSTRUCTION FOR TEST

OPERATOR

1 C_UnwrapKey

P7.S4.11 INPUT hSession with an invalid value of session's handle RETURN CKR_SESSION_HANDLE_INVALID

MODIFICATION of test case TCUNWRAPKEY-1 RESULT CKR_SESSION_HANDLE_INVALID

Page 328: ISIS-MTT Test Specification - TeleTrusT · 2009-04-03 · ISIS-MTT Test Specification: Introduction Version 1.1 Document History Page 3 of 19 Document History VERSION DATE CHANGES

ISIS-MTT Test Specification Part 7: Cryptographic Token Interface Version 1.1

Test Case Specifications for ISIS-MTT Part 7 Page 92 of 95

Table 146: Test Case TCUNWRAPKEY-3: Rejection of Function Call C_UnwrapKey With Invalid Unwrapping Key Handle

TEST CASE NAME TCUNWRAPKEY-3

TEST PURPOSE Ensure that the CUT is able to reject the function call C_UnwrapKey with an invalid unwrapping key handle.

TEST OBJECT (CUT) Product, software module, cryptographic token

TEST

STEP # FUNCTION ISIS-MTT

PART.SECTION CONDITIONS, CONSTRAINTS

EVALUATION OF THE TEST STEP, INSTRUCTION FOR TEST OPERATOR

1 C_UnwrapKey

P7.S4.11 INPUT hUnwrappingKey with invalid value of the unwrapping key's handle RETURN CKR_UNWRAPPING_KEY_HANDLE_ INVALID

MODIFICATION of test case TCUNWRAPKEY-1 RESULT CKR_UNWRAPPING_KEY_HANDLE_INVALID

Page 329: ISIS-MTT Test Specification - TeleTrusT · 2009-04-03 · ISIS-MTT Test Specification: Introduction Version 1.1 Document History Page 3 of 19 Document History VERSION DATE CHANGES

ISIS-MTT Test Specification Part 7: Cryptographic Token Interface Version 1.1

Test Case Specifications for ISIS-MTT Part 7 Page 93 of 95

2.12 Random Number Generation

Table 147: Test Case TCSEEDRANDOM-1: Mixing Additional Seed Material Into Random Number Generator

TEST CASE NAME TCSEEDRANDOM-1

TEST PURPOSE Ensure that the CUT is able to mix additional seed material into the token's random number generator.

TEST OBJECT (CUT) Product, software module, cryptographic token

TEST

STEP # FUNCTION ISIS-MTT

PART.SECTION CONDITIONS, CONSTRAINTS

EVALUATION OF THE TEST STEP, INSTRUCTION FOR TEST OPERATOR

1 C_SeedRandom

P7.S4.12 INPUT hSession with value of session's handle, pSeed with value that points to the seed material, and ulSeedLen with value that gives the length in bytes of the seed material RETURN CKR_OK

STATE session open, user logged in RESULT CKR_OK CONTINUE with test case TCGENERATERANDOM-1

Table 148: Test Case TCSEEDRANDOM-2: Rejection of Function Call C_SeedRandom With Invalid Session Handle

TEST CASE NAME TCSEEDRANDOM-2

TEST PURPOSE Ensure that the CUT is able to reject the function call C_SeedRandom with an invalid session handle.

TEST OBJECT (CUT) Product, software module, cryptographic token

TEST

STEP # FUNCTION ISIS-MTT

PART.SECTION CONDITIONS, CONSTRAINTS

EVALUATION OF THE TEST STEP, INSTRUCTION FOR TEST OPERATOR

1 C_SeedRandom

P7.S4.12 INPUT hSession with an invalid value of session's handle RETURN CKR_SESSION_HANDLE_INVALID

MODIFICATION of test case TCSEEDRANDOM-1 RESULT CKR_SESSION_HANDLE_INVALID

Page 330: ISIS-MTT Test Specification - TeleTrusT · 2009-04-03 · ISIS-MTT Test Specification: Introduction Version 1.1 Document History Page 3 of 19 Document History VERSION DATE CHANGES

ISIS-MTT Test Specification Part 7: Cryptographic Token Interface Version 1.1

Test Case Specifications for ISIS-MTT Part 7 Page 94 of 95

Table 149: Test Case TCGENERATERANDOM-1: Generation of Random or Pseudo-Random Data

TEST CASE NAME TCGENERATERANDOM-1

TEST PURPOSE Ensure that the CUT is able to generate random, or pseudo-random data.

TEST OBJECT (CUT) Product, software module, cryptographic token

TEST

STEP # FUNCTION ISIS-MTT

PART.SECTION CONDITIONS, CONSTRAINTS

EVALUATION OF THE TEST STEP, INSTRUCTION FOR TEST OPERATOR

1 C_GenerateRandom

P7.S4.12 INPUT hSession with value of session's handle, pRandomData with value that points to the location that receives the random data, and ulRandomLen with value that gives the length in bytes of the random or pseudo-random data to be generated RETURN CKR_OK

STATE session open, user logged in LOG random data pointed to by pRandomData RESULT CKR_OK

Table 150: Test Case TCGENERATERANDOM-2: Rejection of Function Call C_GenerateRandom With Invalid Session Handle

TEST CASE NAME TCGENERATERANDOM-2

TEST PURPOSE Ensure that the CUT is able to reject the function call C_GenerateRandom with an invalid session handle.

TEST OBJECT (CUT) Product, software module, cryptographic token

TEST

STEP # FUNCTION ISIS-MTT

PART.SECTION CONDITIONS, CONSTRAINTS

EVALUATION OF THE TEST STEP, INSTRUCTION FOR TEST OPERATOR

1 C_GenerateRandom

P7.S4.12 INPUT hSession with an invalid value of session's handle RETURN CKR_SESSION_HANDLE_INVALID

MODIFICATION of test case TCGENERATERANDOM-1 RESULT CKR_SESSION_HANDLE_INVALID

Page 331: ISIS-MTT Test Specification - TeleTrusT · 2009-04-03 · ISIS-MTT Test Specification: Introduction Version 1.1 Document History Page 3 of 19 Document History VERSION DATE CHANGES

ISIS-MTT Test Specification Part 7: Cryptographic Token Interface Version 1.1

References Page 95 of 95

Annexes

Annex A: Abbreviations

C_ function CCS component conformance statement CK_ attribute CK_ data type or general constant CKC certification type CKF_ bit flag CKK_ key type CKM_ mechanism type CKN_ notification CKO_ object class CKR_ return value CKS_ session status CKU_ user type CTMF conformance testing methodology and framework CUT component under test F forbidden capability, test result: FAIL h handle NU normal user p pointer P test result: PASS R/O read only R/W read write SO security officer ul upper length References

[ISIS-MTT] T7 i.Gr., TeleTrust: ISIS-MTT Specification, Version 1.01, February 2004

[PKCS11] RSA Laboratories: Cryptographic Token Interface Standard, Version 2.01; December 1997