Skip to content

Commit 9c0c193

Browse files
authored
Merge pull request #59 from Dash-Industry-Forum/v2.1-communityreview
V2.1 released and approved
2 parents 8024208 + 4540ce2 commit 9c0c193

File tree

64 files changed

+2563
-2
lines changed

Some content is hidden

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

64 files changed

+2563
-2
lines changed

.gitattributes

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
*.jar filter=lfs diff=lfs merge=lfs -text
2+
*.zip filter=lfs diff=lfs merge=lfs -text
3+
*.exe filter=lfs diff=lfs merge=lfs -text

.gitignore

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
# The output directory contains the build output. This is not checked in to source control.
2+
Output

.vscode/settings.json

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
{
2+
"files.associations": {
3+
"*.bs": "markdown"
4+
}
5+
}

.vscode/tasks.json

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
{
2+
"version": "2.0.0",
3+
"tasks": [
4+
{
5+
"label": "build",
6+
"type": "shell",
7+
"command": "./Tooling/Build-All.ps1",
8+
"group": {
9+
"kind": "build",
10+
"isDefault": true
11+
}
12+
}
13+
]
14+
}

Building.md

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
# Build process - quick start
2+
3+
Most of the build tooling is packaged directly in the repository. You need to have [Git LFS](https://git-lfs.github.com/) installed in order to download them, as they are stored in Large File Storage due to their size.
4+
5+
On first run, execute */Tooling/Install-Tooling.ps1* in PowerShell. You only need to do this once (or when the tooling is updated, which is rare).
6+
7+
Then execute */Tooling/Build-All.ps1* in PowerShell to build the document. This script performs all the steps of the build workflow.
8+
9+
You can find the publishable output in the */Output/* directory.
10+
11+
# Building on Windows
12+
Prerequisites:
13+
* Java
14+
* Git LFS
15+
16+
If you use Visual Studio Code as your text editor, the build script is already wired up to the editor's build shortcut (Control+Shift+B).
17+
18+
NOTE: If you get the error "The specified executable is not a valid application for this OS platform", it may be because you cloned the repository without having Git LFS installed. Install it and clone the repository once more into a new directory.
19+
20+
# Building on Linux & Mac
21+
Prerequisites:
22+
* Java
23+
* curl
24+
* [Graphviz](https://www.graphviz.org/)
25+
* [wkthmltopdf](https://wkhtmltopdf.org/)
26+
27+
The prerequisites are either already installed, or can be easily installed using the Debian Package Manager for Linux (apt get install ...) or Homebrew for Mac (brew install ...).
28+
29+
Once installed, just execute Tooling/build-all.sh from the command line.

Contributing.md

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
# Contributing guidelines
2+
3+
To propose an addition or edit to the document, [open a pull request](https://help.github.com/articles/creating-a-pull-request/) from a branch in your [personal fork](https://help.github.com/articles/about-forks/) that contains the changes you wish to contribute.
4+
5+
# What is where?
6+
7+
The main text of the document is in the *Index.bs* file. It is written in the [Bikeshed](https://github.com/tabatkins/bikeshed) format, which is a mixture of [Markdown](http://commonmark.org/help/) and HTML.
8+
9+
XML Schema files are in the repository root directory.
10+
11+
Diagrams are created as [PlantUML](http://plantuml.com/) text documents that are compiled into PNG images for publishing. You can find the diagram definitions in the */Diagrams/* directory.
12+
13+
Some externally-sourced images are merged into the document from the */StaticFiles/* directory.
14+
15+
All these different components must be processed by the [build scripts](Building.md) in order to arrive at the publishable output.
16+
17+
# Contribution rules
18+
19+
You are expected to conform to the following rules in your contributions:
20+
21+
* Follow existing style and conventions used in the document.
22+
* Ensure that the document builds successfully after your modifications (*Build-All.ps1*).

Diagrams/DocumentKeyStructure.wsd

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
@startuml
2+
3+
package "Recipient A delivery data" {
4+
[Document key] as DKforA #lightskyblue
5+
[Recipient A public key] as KpubA
6+
7+
KpubA <-- DKforA : Encrypted with
8+
}
9+
10+
package "Recipient B delivery data" {
11+
[Document key] as DKforB #lightskyblue
12+
[Recipient B public key] as KpubB
13+
14+
KpubB <-- DKforB : Encrypted with
15+
}
16+
17+
[Content key 1] as Key1 #lightskyblue
18+
[Content key 2] as Key2 #lightskyblue
19+
20+
Key1 -up-> DKforA : Encrypted with
21+
Key1 -up-> DKforB
22+
23+
Key2 -up-> DKforA : Encrypted with
24+
Key2 -up-> DKforB
25+
26+
@enduml
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
@startuml
2+
hide footbox
3+
4+
participant "Service A" as A
5+
participant "Service B" as B
6+
7+
A->B: CPIX document with:\n\
8+
* Content Keys
9+
10+
@enduml
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
@startuml
2+
hide footbox
3+
4+
participant "Service A" as A
5+
participant "Service B" as B
6+
7+
A->B: CPIX document with:\n\
8+
* Content Keys\n\
9+
* DRM system signaling
10+
11+
@enduml
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
@startuml
2+
hide footbox
3+
4+
title Part 1
5+
6+
participant "Key Server" as KeyServer
7+
participant "Policy Engine" as PolicyEngine
8+
participant "DRM System" as DrmSystem
9+
10+
KeyServer->PolicyEngine: CPIX document with:\n\
11+
* Encrypted Content Keys\n\
12+
* Content Keys signed by Key Server\n\
13+
* Delivery data for Encryption Engine\n\
14+
* Key Usage Rules\n\
15+
* Key Usage Rules signed by Key Server\n\
16+
* Document signed by Key Server
17+
18+
PolicyEngine->DrmSystem: CPIX document with:\n\
19+
* Encrypted Content Keys\n\
20+
* Content Keys signed by Key Server\n\
21+
* Delivery data for Encryption Engine\n\
22+
* **Key Usage Rules (updated)**\n\
23+
* **Key Usage Rules signed by Policy Engine**\n\
24+
* **Document signed by Policy Engine**
25+
26+
@enduml

0 commit comments

Comments
 (0)