Changes to Transforms - commoncriteria/pp-template GitHub Wiki

11 June 2025

Support for Modules Inheriting Threats from Multiple Base PPs

You can now have more than one <from> tag attached to a <threat> tag in a Module to indicate that a threat is inherited from more than one base PP. This results in the short names of the base PPs being displayed after the threat name in the Threats section and in the TOE Requirements Rationale table.

See Threats.

9 June 2025

Support for Suppressing NIAP Logo

  • Added a <suppress-niap-logo> preference to the <pp-preference> tag to suppress display of the NIAP logo on the title page. You might want to do this for a cPP, since cPPs are not strictly NIAP documents.

For details, see PP Preferences.

28 May 2025

More cPP Support

  • Created a separate build target for cPPs in cPP.make and Helper.make so that 'release' and non-release builds are properly built.
  • Release builds have separate SDs for the EAs and appendixes for optional, selection-based, etc. SFRs.
  • Non-release builds have in-line EAs and appendixes for optional, selection-based, etc. SFRs (just like a PP).
  • For this to work, cPPs must use the correct Makefile. Steal it from FDEAA or FDEEE.

22 May 2025

Modifications in Support of cPPs

  • Modified cPP.make to support generation of separate Supporting Documents for cPPs.
  • Fixed bug that Caused EAs for SARs to be displayed inline for cPPs and Modules.

14 May 2025

Expanded Schema for Functional Packages

  • Allow the Introduction to include a Use Cases section
  • Allow the invisible attribute on SFRs (for some reason this was not allowed in FPs) There were no changes to the handling of anything, so this should affect only the Validation of FPs and not the processing.

30 April 2025

Turned off Automatic Expansion of First Occurrence of Abbreviations

I didn't even know this was a thing, but it is now causing problems so from now on you will have to manually do this until somebody figures out a way to selectively turn off this feature.

Added optional extended attribute to <f-component> tag

This attribute is optional, but eventually it will become mandatory for extended components if they are to be included in the ECD Appendix. We hope this will eliminate a kludge related to iterated extended components. And maybe we'll be able to finally get rid of the invisible attribute. But for now, the attribute does nothing. The legal values are "yes" and "no," but only "yes" will likely be tested for.

By the way, there is no requirement in the CC that extended components have the "_EXT" extension.

14 April 2025

Fixed iteration names from <base-sfr-spec> in Modules

Iteration names were being converted to upper case when displayed as part of a modified SFR in a Module. The case of the iteration name is now preserved from the <base-sfr-spec> tag.

2 April 2025

Added support for inheriting threats from Base PPs in PP-Modules

The <from> tag is used within the <threat> tag to indicate that a threat in a PP-Module is inherited from a Base PP. This tag actually has existed for some time, but was not documented in this wiki.

The output of transforms has been modified to output the descriptions of the inherited threats (previously these were suppressed). And the SFR Requirements Rationale table has been modified to indicate that the threats are inherited.

See Threats.

1 April 2025

Added support for specifying the CC:2022 Errata version

The <CClaimsInfo> tag now includes an optional cc-errata attribute that allows a PP Author to specify the CC:2022 errata version that the document conforms to. Current legal values are "v1.0" and "v1.1".

If specified, the errata documents are automatically referenced in the Conformance Claims section and in the Bibliography.

See Conformance Claims.

Added support for base PP names to appear with threats in SFR Rationale table for Modules

Actually, any threat that includes a <from> tag will now include the source of the threat in the tables. There is no change to the schema.

19 February 2025

Added support for dependencies on selections within the reformed <modified-sfrs> tag

If you add an id to a selection under a <base-sfr-spec> tag in the new, reformed <modified-sfrs> construct, you can now reference the selection in a <depends> tag.

If it works properly, the dependency will be displayed in the dependent SFR's header as a dependency on the Modified SFR. The downside is that it will refer to the component rather than the element. But that's the best we can do on short notice.

29 January 2025

Made optional the Security Objectives Rationale Section

This way it can be left out if there are no Objectives of any kind in the document.

See Security Objectives Rationale.

Added <no-change> operation to Modified SFR construct

This allows specification of text to appear in the Modified SFRs section of a PP Module that is not associated with any actual modification of the SFR.

See Modified SFR Reform

Added mandatory as a possible status for the <set-status> operation in the Modified SFR construct.

I seem to have forgotten to allow this--the most common status change.

23 January 2025

Allow basic content in <reqtext> tags

This allows the mixing of normal selections and assignments with the tabularized selections in a tabularized f-element title. This was needed because of the Crypto Catalog's new SFR FCS_OTV_EXT.1.

17 January 2025

Bug Fix

Fixed a bug that caused invisible SFRs in Modules to not be invisible.

13 January 2025

Support for imposing audit events on Functional Packages has been removed

In the past, PPs and cPPs could impose audit events on SFRs within Functional Packages using the invisible attribute on an <f-component>. This is no longer supported. Audit events for FPs must be defined in the FPs. If a PP needs to enable or disable them, this can be done in FAU_GEN.1. If the PP needs to modify audit events from a Package, the Package SFR can be iterated and refined. But reaching into a Package and modifying an SFR should never have been allowed. And now you can't do it anymore.

9 January 2025

Objective Requirements

Until now, objective requirements have been treated the same as optional requirements in the transforms. This minor change indicates that objective requirements may become mandatory in the future.

Consistency Rationale Boilerplate for Modules

Fixed a minor bug that caused duplicate boilerplate text in some places in the Consistency Rationale Section of PP-Modules.

8 January 2025

Custom EAs

To define categories of EA other than TSS, Guidance, and Tests, use the <CustomEA> tag. The KMD tag will be deprecated in the future. See Evaluation Activities.

7 January 2025

Bug Fix

Added missing boilerplate introductory text for PP Conformance Claims.

Allow additional content inside <assignable> tags

In the past, only text was allowed inside the <assignable> tag. Now HTML is allowed as well. This was a change only to the schema, not to the transforms.

26 December 2024

Added Support for <depends><objective/></depends> for selection-based SFRs

If you use the above construct to apply to a selection-based SFR, it is now displayed in the SFR header that the SFR is optional.

24 December 2024

Change to post-process.py

An overnight update (18-19 Dec) broke something in the back-end causing QuickBuild to fail for all builds.

The problem was caused by an update somewhere in python or lxml that caused a failure to handle comments in the XML source files. An update to post_process.py seems to have done the trick.

Updating to the latest transforms should solve the problem.

16 December 2024

Allowing <modified-sfrs> to refer to SFRs from a Functional Package

SFRs that are modified by a PP Module may now be either from a Base PP or from a Functional Package that is imported by a Base PP.

This is documented in Modified SFRs Reform.

Removed support for the <subaactivity> tag

This tag was used only in the AppPP to defining platform-specific tests. It was long ago replaced by a set of selections.

Removed support for the <cclaims> tag

Conformance claims must now be expressed in terms of the <CClaimsInfo> tag. All text is boilerplate unless the display attribute is set to "no". The boilerplate attribute of the Conformance Claim section should have no effect.

13 December 2024

New Way for Specifying Modified SFRs in PP-Modules

There are now two ways to specify Modified SFRs in PP-Modules:

  • The Old Way is the way it's been done up till now.
  • The New Way better supports automation. Eventually the New Way will be the only way.

The new way is documented in Modified SFRs Reform.

25 September 2024

Changes to Management Function Tables

New Attribute to <management-function-set>

Added a new attribute notes-in-table to the <management-function-set> tag. Setting this attribute to "yes" indicates that the contents of all the <app-note> tags for each <management-function> should appear in a column in the table versus at the end of the management functions. By default, management function app-notes appear after all the management functions.

Management functions may now have dependencies.

E.g.

         <management-function id="mf-sample">
             <depends on-sfr="sfr-sample"/>

Management functions that are implemented at the discretion of the ST Author must use this construct. The Function is assumed to be Mandatory if there is no dependency.

         <management-function id="mf-sample">
             <depends><optional/></depends>

Role assignments for the <O> tag may now have dependencies.

E.g.

         <O ref="A">
             <depends on-sel="sel-admin-priv-exists"/>
         </O>

If there is no dependency, the role-to-function mapping is assumed to be optional at the discretion of the ST Author.

All dependencies should be documented in the app-notes.

For more on these changes, see Management Functions and Management Function Reform.

24 September 2024

  • Updated the schema to allow HTML elements to appear in <comment> tags. This eliminates annoying validation errors in these debugging elements.

16 September 2024

  • Deprecated and removed the <using-cc2022> preference from the schema and transforms. Instead, requirements documents must specify CC:2022 from within the <CClaimsInfo>. See Conformance Claims.

12 August 2024

  • Changed Module SD generation to use <base-pp> attributes. This should also fix problems with the names and section numbers for Module's SDs (not tested).

9 August 2024

  • Removed links from <componentid> tags of <componentsneeded> elements in FPs. These are references to SFRs in other documents, so they should not be links.
  • Added ECD elements to Package schema for <f-components>. You could add ECD information to these SFRs, but they would fail validation. Now they will validate.
  • Removed output of Part 3 Conformance statement for FPs in the <CClassInfo> tag (not tested).

19 July 2024

  • Updated boilerplate.xml to fix typo (mbdowne).

30 April 2024

Additional attribute for <selectables>

  • Allow choose-one-of attribute on <selectables> to mean the same thing as onlyone, that is, [selection, choose one of...].

28 March 2024 (updated 13 Nov 2024)

Minor schema updates for validation

  • Allow <implements> tag almost anywhere that stray text is allowed. In the past, the <implements> tag could appear only between Appendixes at the end of the document. Now, you can't use it there, but you can use it almost anywhere else.

The <implements> tag is used to define features that are used as dependencies for implementation-dependent SFRs. The preferred way to define these features is in a section in the Introduction. The old way was to define them in an Appendix.

15 March 2024

Support for Direct Rationale Documents

Direct Rationale PPs and PP-Modules are now supported. See Direct Rationale Documents for details on the changes, and on how to declare a document to use the Direct Rationale approach.

26 February 2024

Conformance Claims Construct

The display attribute has been added to the <CClaimsInfo> element. If the attribute is set to 'no', then the contents of the <CClaimsInfo> are used for purposes of Direct Rationale, etc., but are not be displayed in the Conformance Claims section.

14 February 2024

Support for a new Conformance Claims Construct

There is a new way for defining the Conformance Claims section. The new construct is mandatory for Direct Rationale documents (although Direct Rationale is not yet supported), and encouraged for CC:2022 documents.

See a description of the new <CClaimsInfo> XML element here.

6 February 2024

Support for Optional SARs in PP-Modules

In PP-Modules, Optional SARs must be defined in the <opt-sfrs> section--not the <mod-sars> section. In the published document, they appear in Appendix A.1 with the other Optional Requirements. Mandatory SARs are defined in the <mod-sars> section.

The reason for this odd arrangement is that to do otherwise would require a major overhaul of transforms, which would certainly not be worth it for a corner case like this.

  • Fixed a problem with the section numbering in the SAR Section of PP-Modules.

5 February 2024

Support for Optional SARs in PPs

Transforms has been updated to properly handle optional SARs. Optional SARs are defined in the Security Assurance Requirements section with all the other SARs by defining the <a-component> tags with status="optional." In the generated requirements document, optional SARs appear in Appendix A.1 along with the other Strictly Optional Requirements. The "optional" status is the only recognized status for SARs. If you try to make a SAR "objective" or "invisible" it will not go well for you.

2 February 2024

  • Optional Security Problem Description and Security Objectives sections now supported in Functional Packages.

25 January 2024

  • Simplified the boilerplate text for empty EA sections.

23 January 2024

  • Schema updated to allow xrefs to now-predefined Bibliography entry for the CEM.
  • XSL updated to implement the above.

11 January 2024

  • Schema updated to allow status="optional" for <a-component> elements. This in anticipation of having optional SARs to support CC:2022.

10 January 2024

  • Fixed the annoying extra space that appeared before the closing bracket in all selections. It was really easy to fix, so I suspect I broke something else.

8 January 2024

  • Updated the schema for Base PP specifications in Modules to require id, name, short, product, and version attributes. The plural attribute remains optional. Also, the schema now accepts the <git> element here as well. The <url> element is still required.
  • Deprecated element "pp-pref-pat" element removed from the schema.
  • Unused sel-by-sfr attribute removed from <audit-table>.

5 January 2024

  • Now supports empty EAs with boilerplate text for Management Functions.

4 January 2024

  • Removed sanity checks for empty <TSS>, <Guidance>, <KMD>, and <Tests> tags.
  • Now those tags, if empty, produce boilerplate text.
  • Extra <br/> or <p/> tags are no longer needed at the ends of text for the above tags for the text to look pretty.
  • The above changes apply only to Element-level and Component-level EAs, not to management function EAs.
  • An empty <no-tests> tag now outputs "TODO" text into the document. You have to explain why there are no tests.
  • The schema now allows the empty <bibliography/> tag.
  • Added the boilerplate attribute to the OSP section to allow suppression of the default text.

29 December 2023

  • Fixed (I hope) a bug that caused duplicate SFRs in <additional-sfrs> sections of PP-Modules for non-release builds.

28 December 2023

  • Added table number and caption to Bibliography

26 December 2023

  • Changed Security Requirements Direction heading in Modules to use the expanded PP Name
  • Added captions and numbers to the tables in the Consistency Rationale section of Modules
  • Added caption and number for Acronyms table
  • Fixed a problem with Section numbering in an <additional-sfrs> section.
  • Fixed a problem with empty <management> and <audit> tags not displaying default text in ECD Appendix.

22 December 2023

  • Fixed typo in Modules Consistency of Objectives
  • Fixed typo in Bibliography boilerplate
  • Fixed Base PP Short Names in Security Objectives Rationale in Modules

21 December 2023

  • Updated Package schema to allow the <using-2022/> preference.

20 December 2023

Updates to boilerplate

If you add the <using-cc2022/> element to the <pp-preferences> then the following boilerplate is updated to CC:2022:

  • The bibliography. Also the CEM reference is now auto-generated.
  • Updated boilerplate text for Implicitly Satisfied Requirements.
  • Updated boilerplate text for referring to the CC version

Also

  • Refinement to the boilerplate text describing Refinements.

18 December 2023

Added <using-cc2022> element to <pp-preferences>

  • Modified the schema to allow a <using-cc2022/> preference to be included in the <pp-preferences> element. It's not hooked up to anything yet, but PPs that intend to be CC:2022 compliant should include it. Eventually this preference will go away and all PPs will be CC:2022 compliant.
  • Modified the Module schema to allow the <pp-preferences> element. This element is already allowed in Packages.

13 December 2023

  • Edited boilerplate to output "Functional Package" rather than "PP-Package" into the front matter of Functional Packages.

12 December 2023

Minor Changes

  • Edited schema to allow optional name and short attributes to the <base-pp> element whether or not the referenced documents are "known." This seems to fix a weird problem in vpnclient where some of the headers for the base PP sections have the wrong names.

11 December 2023

SFRs in the <additional-sfrs> section of PP Modules may now have status attributes

These SFRs can now be assigned status values of "optional," "objective," "sel-based," or "feature-based."

The resulting HTML document will indicate the statuses of the SFRs.

Auditable Events for Additional SFRs in Modules are now displayed

These were for some reason hidden before. Or they weren't allowed. In any case, you can define audit events for these SFRs and they will be displayed at the top of the Additional SFRs section.

You still can't do this for Modified SFRs.

Moved the <implement> element from an Appendix to the Introduction

This element should now appear in a section in the introduction for PPs or Modules that have implementation-dependent SFRs.

See Optional, Objective, and Implementation‐Dependent SFRs for details.

<Keywords> element of the <PPReference> is now optional.

Those keywords were not being used for anything.

Minor changes

  • All occurrences of "implementation-based" changed to "implementation-dependent"
  • Other minor changes to boilerplate text.
  • Modified the PP-Module schema to allow audit tables in the Additional SFRs section of a PP-Module.

Changed "Security Problem Description" to "Security Problem Definition"

The "Security Problem Description" section has been changed to "Security Problem Definition" as is required by the Common Criteria. This breaks all protection profiles.

The solution is to change:

  <sec:Security_Problem_Description> to <sec:Security_Problem_Definition>

or

  <section title="Security Problem Description"> to <section title="Security Problem Definition">

depending on which form you use in your document.

⚠️ **GitHub.com Fallback** ⚠️