https://github.com/awslabs/aws-encryption-sdk-specification

AWS Encryption SDK Specification

https://github.com/awslabs/aws-encryption-sdk-specification

Science Score: 26.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (15.0%) to scientific vocabulary
Last synced: 9 months ago · JSON representation

Repository

AWS Encryption SDK Specification

Basic Info
  • Host: GitHub
  • Owner: awslabs
  • License: other
  • Language: JavaScript
  • Default Branch: master
  • Size: 950 KB
Statistics
  • Stars: 33
  • Watchers: 24
  • Forks: 26
  • Open Issues: 107
  • Releases: 0
Created about 7 years ago · Last pushed 10 months ago
Metadata Files
Readme Changelog Contributing License Code of conduct Codeowners

README.md

AWS Encryption SDK Specification

Overview

This repository contains the AWS Encryption SDK Specification.
The primary goal of this specification is to define a standard, language independent, description of the AWS Encryption SDK features.
It serves as the source of truth for the features that make up the AWS Encryption SDK and the details of their behavior. It is intended to promote consistency and interoperability across implementations of the AWS Encryption SDK.
This GitHub project is also intended to track issues and feature requests, and to collect feedback pertaining to the AWS Encryption SDK.

Security issue notifications

Current Implementations

Below is the list of current implementation of this specification:

License Summary

The documentation is made available under the Creative Commons Attribution-ShareAlike 4.0 International License. See the LICENSE file.

The sample code within this documentation is made available under the MIT-0 license. See the LICENSE-SAMPLECODE file.

Editing

We use prettier to maintain consistent formatting. Our CI will stop PRs that do not match our formatting requirements, but to easily apply them, run ./ci/prettify.sh write. If you want to check them without writing, run ./ci/prettify.sh check.

Generate Duvet Reports

Duvet is a tool that can be used to ensure specification is documented alongside code.

This repo contains helpful scripts for installing and using Duvet with this specification.

To install Duvet:

./util/install-duvet

To generate a report on what portions of this specification are covered in code, use the report script. For example:

./util/report.js 'src/main/**/*.java' 'src/test/**/*.java'

Extract compliance from Specification

The Specification is written in Markdown. Our compliance tooling needs RFC formatted text files. As such, we have a tool that extracts the RFC spec from the Markdown.

RFC Scope

We do not include every Markdown file in the RFC spec; Nor do we include all sections of the Markdown files (i.e. we exclude legacy, changes, etc.).

The directories in scope for RFC specifications are those listed in util/specification_extract.sh.

Running extract

Running on A change

If you have changed any Markdown in scope for compliance, you MUST run the extract utility. There are two ways of doing this. If you have changed only one file, you may run extract against just that file.

./util/extract.js PATH_TO_CHANGED_MARKEDOWN

For example, if ONLY the Default CMM Markdown was updated, we would run:

./util/extract.js framework/default-cmm.md

Running on all

Alternatively, the entire specification may be extracted at once. Run:

./util/specification_extract.sh

Installing dependencies

The utility/script util/extract.js depends on four run times: node, python, ruby, and rust (No, this is not ideal, but Crypto Tools is pushing the "spec to code" boundary; we are ahead of the tooling).

Set Up Python & xml2rfc

Follow AWS Crypto Tools Getting Started with Python instructions to install pyenv.

Then, in this repository, run pyenv local 3.9.7; pyenv exec python -m pip install xml2rfc==3.5.0 markupsafe==2.0.1.

Set up kramdown-rfc2629

This is the Ruby dependency. Unfortunately, we have not figured out a good way of installing this, so we do a bad way:

sudo gem install kramdown-rfc2629

Node

Follow Installing Node.js with nvm macOS by Daniel Schildt to get nvm and node working.

Rust

Installing Duvet will install rust.

Owner

  • Name: Amazon Web Services - Labs
  • Login: awslabs
  • Kind: organization
  • Location: Seattle, WA

AWS Labs

GitHub Events

Total
  • Create event: 14
  • Commit comment event: 1
  • Issues event: 3
  • Watch event: 3
  • Delete event: 8
  • Issue comment event: 3
  • Push event: 92
  • Pull request review event: 114
  • Pull request review comment event: 124
  • Pull request event: 23
  • Fork event: 1
Last Year
  • Create event: 14
  • Commit comment event: 1
  • Issues event: 3
  • Watch event: 3
  • Delete event: 8
  • Issue comment event: 3
  • Push event: 92
  • Pull request review event: 114
  • Pull request review comment event: 124
  • Pull request event: 23
  • Fork event: 1

Issues and Pull Requests

Last synced: 10 months ago

All Time
  • Total issues: 78
  • Total pull requests: 42
  • Average time to close issues: 8 months
  • Average time to close pull requests: about 1 month
  • Total issue authors: 15
  • Total pull request authors: 15
  • Average comments per issue: 1.74
  • Average comments per pull request: 0.26
  • Merged pull requests: 28
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 1
  • Pull requests: 17
  • Average time to close issues: N/A
  • Average time to close pull requests: 9 days
  • Issue authors: 1
  • Pull request authors: 7
  • Average comments per issue: 0.0
  • Average comments per pull request: 0.0
  • Merged pull requests: 8
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • lavaleri (29)
  • mattsb42-aws (18)
  • ttjsu-aws (12)
  • seebees (5)
  • robin-aws (4)
  • WesleyRosenblum (2)
  • juneb (1)
  • acioc (1)
  • MatthewBennington (1)
  • WouterSchols (1)
  • RustanLeino (1)
  • benkehoe (1)
  • alex-chew (1)
  • brianterry (1)
  • jppdpf (1)
Pull Request Authors
  • texastony (11)
  • lavaleri (10)
  • seebees (8)
  • ajewellamz (5)
  • RitvikKapila (4)
  • mattsb42-aws (4)
  • kessplas (3)
  • rishav-karanjit (3)
  • WesleyRosenblum (3)
  • ttjsu-aws (3)
  • crockeea (1)
  • MatthewBennington (1)
  • robin-aws (1)
  • josecorella (1)
  • brandondahler (1)
Top Labels
Issue Labels
Doc impact (7) enhancement (5) bug (3)
Pull Request Labels
doc change required (1)

Dependencies

.github/workflows/ci_static-analysis.yaml actions
  • actions/checkout v2 composite
  • actions/setup-node v3 composite
  • mattsb42-meta/not-grep 1.0.0 composite
.github/workflows/repo-sync.yml actions
  • actions/checkout v2 composite
  • repo-sync/github-sync v2 composite
  • repo-sync/pull-request v2 composite