Skip to content

Provisioning-JITP #59

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 5 commits into
base: main
Choose a base branch
from
Open

Provisioning-JITP #59

wants to merge 5 commits into from

Conversation

siddhesh92
Copy link

Issue #, if available:

Description of changes:

By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

Copy link
Contributor

@gadams999 gadams999 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hi, can you clean up the uneeded files? There should only be 1 .md file and any support images. I see ones for command1 copy that need to be removed. Also, all the sub folder should be removed as it affects the rendering of the section menu.


## Reference architecture

![JITP](JITP_arch_1.png)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is this the right diagram? It doesn't align to the steps below and seems to be missing AWS IoT Core.


![JITP](JITP_arch_1.png)
The details of this flow are as follows:
1. Private key and signed certificate pair is created using PKI. PKI can be self-managed or using a managed service like Amazon ACM.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

are created
stored in device persistent storage? Or do you mean memory?

![JITP](JITP_arch_1.png)
The details of this flow are as follows:
1. Private key and signed certificate pair is created using PKI. PKI can be self-managed or using a managed service like Amazon ACM.
2. This pair is securely copied and stored on the device memory.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The private key and signed certificate are securely copied...

The details of this flow are as follows:
1. Private key and signed certificate pair is created using PKI. PKI can be self-managed or using a managed service like Amazon ACM.
2. This pair is securely copied and stored on the device memory.
3. Using JITP, the device connects to AWS IoT, and the certificate’s signature is verified
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

AWS IoT Core
which certificate? client cert or server cert?

1. Private key and signed certificate pair is created using PKI. PKI can be self-managed or using a managed service like Amazon ACM.
2. This pair is securely copied and stored on the device memory.
3. Using JITP, the device connects to AWS IoT, and the certificate’s signature is verified
against the registered CA. After verification, a provisioning template registers the Thing,
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

There is no context for the registered CA. Maybe missing from the diagram and flow above?

1. Create an IAM role for your AWS IoT Core service and name it JITP_demo. Attach Policy AWSIoTThingsRegistration to this role.
![iam](iam.png)
2. Create a JITP template JSON file by running following commands
```json
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

remove json from code fence if not json. Do this throughout the file.

"roleArn":"<ROLE_ARN>"
}
```
4. Run the following register-ca-certificate command to register the device root CA as a CA certificate in AWS IoT Core. Make sure to set correct region at --region flag
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Highlight the command, e.g., register-ca-certificate, and region flag. Without being set as code, --region becomes and em dash.

---
#### Perform JITP
---
Now we have to create a Device certificate using self-signed root CA and on-board the device using JITP. If you have configured ACM or other PKI use your respective PKI to create a CSR and sign device certificate and skip to step 6.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Now create (remove we)

openssl genrsa -out deviceCert.key 2048
```

3. Run the following OpenSSL command to create a device CSR. The example JITP template requires the ThingName value to equal the certificate’s CommonName value. The template also requires the CountryName value to equal the Country value in the CA certificate. Refer to the following example:
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

renumber. You have 1, then 3. If you use 1 for every entry, this will auto number.

sudo python3 setup.py install
```

7. Navigate to Samples folder and execute the basicPubSub.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

to the samples/ folder
the basicPubSub

Check grammar for this step.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants