Skip to content

Commit 3303083

Browse files
committed
[metanorma] Convert IETF to NIST formats, use metanorma site generate
1 parent 290584b commit 3303083

File tree

79 files changed

+1439
-1455
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

79 files changed

+1439
-1455
lines changed

.github/workflows/docker-build.yml

Lines changed: 52 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -2,53 +2,67 @@ name: build-documents
22

33
on:
44
push:
5-
branches: [ master ]
5+
branches: [ master, main ]
66
pull_request:
7-
types: [opened, synchronize, ready_for_review]
87

98
jobs:
109
build-docker:
1110
runs-on: ubuntu-latest
12-
container: docker://metanorma/mn:1.4.12
11+
container:
12+
image: ghcr.io/metanorma/metanorma-nist:latest
13+
credentials:
14+
username: metanorma-ci
15+
password: ${{ secrets.METANORMA_CI_PAT_TOKEN }}
1316
steps:
1417
- uses: actions/checkout@v2
15-
- name: Install gems from local Gemfile
16-
run: |
17-
curl -LO --retry 3 https://raw.githubusercontent.com/metanorma/metanorma-build-scripts/master/gemfile-to-bundle-add.sh | bash
18-
- name: Build document in the Metanorma container
19-
env:
20-
LC_ALL: C.UTF-8
21-
LANG: C.UTF-8
22-
LANGUAGE: C.UTF-8
23-
run: |
24-
make clean all publish
25-
working-directory: ./src
26-
- uses: actions/upload-artifact@master
27-
with:
28-
name: documents
29-
path: ./src/documents
18+
with:
19+
token: ${{ secrets.METANORMA_CI_PAT_TOKEN || github.token }}
20+
submodules: true
21+
22+
- uses: actions/cache@v2
23+
with:
24+
path: /config/fonts
25+
key: metanorma-nist-fonts
26+
restore-keys: metanorma-nist-fonts
27+
28+
- uses: metanorma/metanorma-build-scripts/gh-rubygems-setup-action@main
29+
with:
30+
token: ${{ secrets.METANORMA_CI_PAT_TOKEN }}
31+
32+
- uses: metanorma/metanorma-build-scripts/docker-gem-install@main
33+
34+
- uses: actions-mn/cli/site-gen@main
35+
with:
36+
agree-to-terms: true
37+
38+
- uses: actions/upload-artifact@v2
39+
with:
40+
name: site
41+
path: site
3042

3143
deploy-gh-pages:
32-
if: github.ref == 'refs/heads/master'
44+
if: github.ref == 'refs/heads/master' || github.ref == 'refs/heads/main'
3345
runs-on: ubuntu-latest
3446
needs: build-docker
3547
steps:
36-
- uses: actions/checkout@master
37-
- uses: actions/download-artifact@v1
38-
with:
39-
name: documents
40-
- name: Deploy to GH Pages
41-
uses: peaceiris/actions-gh-pages@v3
42-
with:
43-
deploy_key: ${{ secrets.GH_DEPLOY_KEY }}
44-
publish_dir: documents
45-
publish_branch: nist-pages
46-
force_orphan: true
47-
enable_jekyll: true
48-
user_name: ${{ github.actor }}
49-
user_email: ${{ format('{0}@users.noreply.github.com', github.actor) }}
50-
commit_message: "${{ format('Deploy to GitHub Pages: {0}', github.sha) }}"
51-
- uses: kolpav/purge-artifacts-action@v1
52-
with:
53-
token: ${{ secrets.GITHUB_TOKEN }}
54-
expire-in: 0
48+
- uses: actions/checkout@v2
49+
50+
- uses: actions/download-artifact@v1
51+
with:
52+
name: site
53+
54+
- uses: peaceiris/actions-gh-pages@v3
55+
with:
56+
deploy_key: ${{ secrets.GH_DEPLOY_KEY }}
57+
publish_dir: ./site
58+
publish_branch: nist-pages
59+
force_orphan: true
60+
enable_jekyll: true
61+
user_name: ${{ github.actor }}
62+
user_email: ${{ format('{0}@users.noreply.github.com', github.actor) }}
63+
commit_message: "${{ format('Deploy to GitHub Pages: {0}', github.sha) }}"
64+
65+
- uses: kolpav/purge-artifacts-action@v1
66+
with:
67+
token: ${{ github.token }}
68+
expire-in: 0

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,3 +10,4 @@ Gemfile.lock
1010
*.js
1111
documents/
1212
*.abort
13+
relaton/

metanorma.yml

Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
---
2+
metanorma:
3+
source:
4+
files:
5+
- src/draft-celi-acvp-conditioning-components.adoc
6+
- src/draft-celi-acvp-eddsa.adoc
7+
- src/draft-celi-acvp-kbkdf.adoc
8+
- src/draft-celi-acvp-kdf-ansi-x942.adoc
9+
- src/draft-celi-acvp-kdf-ansi-x963.adoc
10+
- src/draft-celi-acvp-kdf-ikev1.adoc
11+
- src/draft-celi-acvp-kdf-ikev2.adoc
12+
- src/draft-celi-acvp-kdf-snmp.adoc
13+
- src/draft-celi-acvp-kdf-srtp.adoc
14+
- src/draft-celi-acvp-kdf-ssh.adoc
15+
- src/draft-celi-acvp-kdf-tls.adoc
16+
- src/draft-celi-acvp-kdf-tpm.adoc
17+
- src/draft-celi-acvp-pbkdf.adoc
18+
- src/draft-celi-acvp-rsa.adoc
19+
- src/draft-celi-acvp-sha.adoc
20+
- src/draft-celi-acvp-sha3.adoc
21+
- src/draft-celi-acvp-symmetric.adoc
22+
- src/draft-celi-acvp-xof.adoc
23+
- src/draft-fussell-acvp-dsa.adoc
24+
- src/draft-fussell-acvp-ecdsa.adoc
25+
- src/draft-fussell-acvp-kas-ecc.adoc
26+
- src/draft-fussell-acvp-kas-ffc.adoc
27+
- src/draft-fussell-acvp-mac.adoc
28+
- src/draft-fussell-acvp-spec.adoc
29+
- src/draft-hammett-acvp-kas-ecc-sp800-56ar3.adoc
30+
- src/draft-hammett-acvp-kas-ffc-sp800-56ar3.adoc
31+
- src/draft-hammett-acvp-kas-ifc.adoc
32+
- src/draft-hammett-acvp-kas-kc-sp800-56.adoc
33+
- src/draft-hammett-acvp-kas-kdf-hkdf.adoc
34+
- src/draft-hammett-acvp-kas-kdf-onestep.adoc
35+
- src/draft-hammett-acvp-kas-kdf-onestepnocounter.adoc
36+
- src/draft-hammett-acvp-kas-kdf-twostep.adoc
37+
- src/draft-hammett-acvp-kas-ssc-ecc.adoc
38+
- src/draft-hammett-acvp-kas-ssc-ffc.adoc
39+
- src/draft-hammett-acvp-kas-ssc-ifc.adoc
40+
- src/draft-hammett-acvp-kdf-tls-v1.3.adoc
41+
- src/draft-hammett-acvp-safe-primes.adoc
42+
- src/draft-vassilev-acvp-drbg.adoc
43+
- src/draft-vassilev-acvp-iana.adoc
44+
45+
collection:
46+
organization: "National Institute of Standards and Technology > Computer Security Division"
47+
name: "Automated Cryptographic Validation Protocol"

src/Gemfile

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
11
source "https://rubygems.org"
22

33
gem "metanorma-cli"
4+
gem "metanorma-nist", source: "https://rubygems.pkg.github.com/metanorma"

src/Makefile

Lines changed: 0 additions & 23 deletions
This file was deleted.
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11

2-
[#abstract]
2+
[abstract]
33
== Abstract
44

55
This document defines the JSON schema for testing {spec-algorithm} implementations with the ACVP specification.
Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
2+
.Reports on Computer Systems Technology
3+
The Information Technology Laboratory (ITL) at the National Institute of
4+
Standards and Technology (NIST) promotes the U.S. economy and public welfare by
5+
providing technical leadership for the Nation's measurement and standards
6+
infrastructure. ITL develops tests, test methods, reference data, proof of
7+
concept implementations, and technical analyses to advance the development and
8+
productive use of information technology. ITL's responsibilities include the
9+
development of management, administrative, technical, and physical standards and
10+
guidelines for the cost-effective security and privacy of other than national
11+
security-related information in federal information systems. The Special
12+
Publication 800-series reports on ITL's research, guidelines, and outreach
13+
efforts in information system security, and its collaborative activities with
14+
industry, government, and academic organizations.
15+
16+
[preface]
17+
== Acknowledgements
18+
19+
This document is produced by the Security Testing, Validation and Measurement
20+
group under the Automated Cryptographic Validation Testing (ACVT) program.
21+
22+
[preface]
23+
== Audience
24+
25+
This document is intended for the users and developers of ACVP.
26+
27+
[executive-summary]
28+
== Executive Summary
29+
30+
The Automated Crypto Validation Protocol (ACVP) defines a mechanism to
31+
automatically verify the cryptographic implementation of a software or hardware
32+
crypto module. The ACVP specification defines how a crypto module communicates
33+
with an ACVP server, including crypto capabilities negotiation, session
34+
management, authentication, vector processing and more. The ACVP specification
35+
does not define algorithm specific JSON constructs for performing the crypto
36+
validation. A series of ACVP sub-specifications define the constructs for
37+
testing individual crypto algorithms. Each sub-specification addresses a
38+
specific class of crypto algorithms. This sub-specification defines the JSON
39+
constructs for testing {spec-algorithm} implementations using ACVP.
40+
41+
[preface]
42+
== Conventions
43+
44+
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD",
45+
"SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and "OPTIONAL" in this
46+
document are to be interpreted as described in BCP 14 of <<RFC2119>> and
47+
<<RFC8174>> when, and only when, they appear in all capitals, as shown here.

src/common/common-sections/06-test-vector-intro.adoc

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ The test vector set JSON schema is a multi-level hierarchy that contains meta da
1616
| mode | Mode defined in the capability exchange | string
1717
| revision | Protocol test revision selected | string
1818
| testGroups | Array of test groups containing test data, see <<tgjs>> | array
19+
1920
|===
2021

2122
An example of this would look like this

src/common/common-sections/11-iana.adoc

Lines changed: 0 additions & 5 deletions
This file was deleted.
Lines changed: 9 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,37 +1,31 @@
1-
[[conventions]]
2-
== Conventions
31

4-
[.nonterm]
5-
=== Notation conventions
2+
[appendix]
3+
== Terminology
64

7-
The key words "*MUST*", "*MUST NOT*", "*REQUIRED*", "*SHALL*", "*SHALL NOT*", "*SHOULD*", "*SHOULD NOT*", "*RECOMMENDED*", "*NOT RECOMMENDED*", "*MAY*", and "*OPTIONAL*" in this document are to be interpreted as described in BCP 14 of <<RFC2119>> and <<RFC8174>> when, and only when, they appear in all capitals, as shown here.
8-
9-
=== Terms and Definitions
10-
11-
==== Prompt
5+
=== Prompt
126

137
JSON sent from the server to the client describing the tests the client performs
148

15-
==== Registration
9+
=== Registration
1610

1711
The initial request from the client to the server describing the capabilities of one or several algorithm, mode and revision combinations
1812

19-
==== Response
13+
=== Response
2014

2115
JSON sent from the client to the server in response to the prompt
2216

23-
==== Test Case
17+
=== Test Case
2418

2519
An individual unit of work within a prompt or response
2620

27-
==== Test Group
21+
=== Test Group
2822

2923
A collection of test cases that share similar properties within a prompt or response
3024

31-
==== Test Vector Set
25+
=== Test Vector Set
3226

3327
A collection of test groups under a specific algorithm, mode, and revision
3428

35-
==== Validation
29+
=== Validation
3630

3731
JSON sent from the server to the client that specifies the correctness of the response

0 commit comments

Comments
 (0)