nerves-hub / documentation Goto Github PK
View Code? Open in Web Editor NEWNervesHub documentation
NervesHub documentation
In the past week or so I went through adding NervesHubLink and NervesKey to one of my projects and came away with some lessons I want to contribute to the documentation.
My feedback is that it is quite hard to wrap one's head around all the key/cert pairs and what role each one plays and which ones are needed based on whether NervesKey is used or not.
Since the docs are open source I will go ahead and work on improving the docs so that it's easier to comprehend the setup and the key/cert usage options.
At first, thanks for your great works. I'm really interested in Nerves.
Now I'm confusing about terms of Nerves Key document.
My confusing part is below, quotes from https://github.com/nerves-hub/documentation/blob/5b1ed2dc48b5ffb75f7cd6bae17ab0018b580ebf/nerves-key/private-key-storage.md
The NervesKey holds information for up to four certificates:
- A primary device certificate
- The certificate that signed the primary device certificate
- An auxiliary device certificate
- The certificate that signed the auxiliary device certificate
The provisioning procedure requires a signing certificate and creates the primary device certificate. Both certificates are recorded to the NervesKey. The auxiliary certificates are similar in function, but can be filled in later and rewritten.
The X.509 certificate that signs the device certificate is also called a Device Certificate Authority certificate (Device CA certificate) and must be uploaded to NervesHub for the device to be allowed to connect over TLS.
for simplicity, I just talk about 1 (a primary device certificate) and 2.
1 is signed by 2.
(So I think 1 is public key and 2 is private key, right?
2 is also called a signing certificate.
2 is also called a Device CA certificate in above sentence.
Next, confusing part is below, quotes from https://github.com/nerves-hub/documentation/blob/5b1ed2dc48b5ffb75f7cd6bae17ab0018b580ebf/nerves-key/provisioning-in-elixir.md
To provision a NervesKey, make sure that you have the following:
A Device CA certificate and its private certificate (this is also referred to as a signing certificate)
A serial number for your device
A name for the device
In this sentence "A Device CA certificate" seems public key.
I feel there is inconsistency.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.