You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
X.509 certificates are digital documents that represent a user, computer, service, or device. They're issued by a certification authority (CA), subordinate CA, or registration authority and contain the public key of the certificate subject. They don't contain the subject's private key, which must be stored securely. Public key certificates are documented by [RFC 5280](https://tools.ietf.org/html/rfc5280). They're digitally signed and, in general, contain the following information:
17
+
X.509 certificates are digital documents that represent a user, computer, service, or device. A certificate authority (CA), subordinate CA, or registration authority issues X.509 certificates. The certificates contain the public key of the certificate subject. They don't contain the subject's private key, which must be stored securely. [RFC 5280](https://tools.ietf.org/html/rfc5280) documents public key certificates, including their fields and extensions. Public key certificates are digitally signed and typically contain the following information:
18
18
19
19
* Information about the certificate subject
20
20
* The public key that corresponds to the subject's private key
@@ -42,7 +42,7 @@ The following table describes Version 1 certificate fields for X.509 certificate
42
42
|[Serial Number](https://www.rfc-editor.org/rfc/rfc5280#section-4.1.2.2)| An integer that represents the unique number for each certificate issued by a certificate authority (CA). |
43
43
|[Signature](https://www.rfc-editor.org/rfc/rfc5280#section-4.1.2.3)| The identifier for the cryptographic algorithm used by the CA to sign the certificate. The value includes both the identifier of the algorithm and any optional parameters used by that algorithm, if applicable. |
44
44
|[Issuer](https://www.rfc-editor.org/rfc/rfc5280#section-4.1.2.4)| The distinguished name (DN) of the certificate's issuing CA. |
45
-
|[Validity](https://www.rfc-editor.org/rfc/rfc5280#section-4.1.2.5)| The inclusive time period for which the certificate is considered valid. |
45
+
|[Validity](https://www.rfc-editor.org/rfc/rfc5280#section-4.1.2.5)| The inclusive time period for which the certificate is valid. |
46
46
|[Subject](https://www.rfc-editor.org/rfc/rfc5280#section-4.1.2.6)| The distinguished name (DN) of the certificate subject. |
47
47
|[Subject Public Key Info](https://www.rfc-editor.org/rfc/rfc5280#section-4.1.2.7)| The public key owned by the certificate subject. |
48
48
@@ -69,7 +69,7 @@ Certificate extensions, introduced with Version 3, provide methods for associati
69
69
70
70
### Standard extensions
71
71
72
-
The extensions included in this section are defined as part of the X.509 standard, for use in the Internet public key infrastructure (PKI).
72
+
The X.509 standard defines the extensions included in this section, for use in the Internet public key infrastructure (PKI).
73
73
74
74
| Name | Description |
75
75
| --- | --- |
@@ -108,37 +108,37 @@ Certificates can be saved in various formats. Azure IoT Hub authentication typic
108
108
| Binary certificate | A raw form binary certificate using Distinguished Encoding Rules (DER) ASN.1 encoding. |
109
109
| ASCII PEM format | A PEM certificate (.pem) file contains a Base64-encoded certificate beginning with `-----BEGIN CERTIFICATE-----` and ending with `-----END CERTIFICATE-----`. One of the most common formats for X.509 certificates, PEM format is required by IoT Hub when uploading certain certificates, such as device certificates. |
110
110
| ASCII PEM key | Contains a Base64-encoded DER key, optionally with more metadata about the algorithm used for password protection. |
111
-
| PKCS #7 certificate | A format designed for the transport of signed or encrypted data. It can include the entire certificate chain. It's defined by [RFC 2315](https://tools.ietf.org/html/rfc2315). |
112
-
| PKCS #8 key | The format for a private key store. It's defined by [RFC 5208](https://tools.ietf.org/html/rfc5208). |
113
-
| PKCS #12 key and certificate | A complex format that can store and protect a key and the entire certificate chain. It's commonly used with a .p12 or .pfx extension. PKCS #12 is synonymous with the PFX format. It's defined by [RFC 7292](https://tools.ietf.org/html/rfc7292). |
111
+
| PKCS #7 certificate | A format designed for the transport of signed or encrypted data. It can include the entire certificate chain. [RFC 2315](https://tools.ietf.org/html/rfc2315) defines this format. |
112
+
| PKCS #8 key | The format for a private key store. [RFC 5208](https://tools.ietf.org/html/rfc5208) defines this format. |
113
+
| PKCS #12 key and certificate | A complex format that can store and protect a key and the entire certificate chain. It's commonly used with a .p12 or .pfx extension. PKCS #12 is synonymous with the PFX format. [RFC 7292](https://tools.ietf.org/html/rfc7292) defines this format. |
114
114
115
115
## Self-signed certificates
116
116
117
-
You can authenticate a device to your IoT hub for testing purposes by using two self-signed certificates. This type of authentication is sometimes called *thumbprint authentication* because the certificates are identified by calculated values, called *fingerprints* or *thumbprints*, that you submit to your IoT hub for your device.
117
+
You can authenticate a device to your IoT hub for testing purposes by using two self-signed certificates. This type of authentication is sometimes called *thumbprint authentication* because the certificates are identified by calculated hash values called *fingerprints* or *thumbprints*. These calculated hash values are used by IoT Hub to authenticate your devices.
118
118
119
119
>[!IMPORTANT]
120
120
>We recommend that you use certificates signed by an issuing Certificate Authority (CA), even for testing purposes. Never use self-signed certificates in production.
121
121
122
122
### Create a self-signed certificate
123
123
124
-
You can use [OpenSSL](https://www.openssl.org/) to create self-signed certificates. The following steps show you how to run OpenSSL commands in a bash shell to create a self-signed certificate and retrieve a certificate fingerprint that can be used for your device.
124
+
You can use [OpenSSL](https://www.openssl.org/) to create self-signed certificates. The following steps show you how to run OpenSSL commands in a bash shell to create a self-signed certificate and retrieve a certificate fingerprint that can be used for authenticating your device in IoT Hub.
125
125
126
126
>[!NOTE]
127
127
>If you want to use self-signed certificates for testing, you must create two certificates for each device.
128
128
129
-
1. Run the following command to generate a private key and create a PEM-encoded .key file, replacing the following placeholders with their corresponding values. The private key generated by the following command uses the RSA algorithm with 2048-bit encryption.
129
+
1. Run the following command to generate a private key and create a PEM-encoded private key (.key) file, replacing the following placeholders with their corresponding values. The private key generated by the following command uses the RSA algorithm with 2048-bit encryption.
1. Run the following command to generate a PKCS #10 certificate signing request (CSR) and create a .csr file, replacing the following placeholders with their corresponding values. Make sure that you specify the device ID of the IoT device for your self-signed certificate when prompted.
137
+
1. Run the following command to generate a PKCS #10 certificate signing request (CSR) and create a CSR (.csr) file, replacing the following placeholders with their corresponding values. Make sure that you specify the device ID of the IoT device for your self-signed certificate when prompted.
138
138
139
-
*{KeyFile}*. The name of your .key file.
139
+
*{KeyFile}*. The name of your private key file.
140
140
141
-
*{CsrFile}*. The name of your .csr file.
141
+
*{CsrFile}*. The name of your CSR file.
142
142
143
143
*{DeviceID}*. The name of your IoT device.
144
144
@@ -161,27 +161,27 @@ You can use [OpenSSL](https://www.openssl.org/) to create self-signed certificat
161
161
162
162
1. Run the following command to examine and verify your CSR, replacing the following placeholders with their corresponding values.
163
163
164
-
*{CsrFile}*. The name of your .csr file.
164
+
*{CsrFile}*. The name of your certificate file.
165
165
166
166
```bash
167
167
openssl req -text -in {CsrFile} -verify -noout
168
168
```
169
169
170
-
1. Run the following command to generate a self-signed certificate and create a .crt filein PEM format, replacing the following placeholders with their corresponding values. The command converts and signs your CSR with your private key, generating a self-signed certificate that expires in 365 days.
170
+
1. Run the following command to generate a self-signed certificate and create a PEM-encoded certificate (.crt) file, replacing the following placeholders with their corresponding values. The command converts and signs your CSR with your private key, generating a self-signed certificate that expires in 365 days.
1. Run the following command to retrieve the fingerprint forthe certificate, replacing the following placeholders with their corresponding values. The fingerprint of a certificate is unique to that certificate. You'll need the fingerprint to configure your IoT devicein IoT Hub for testing.
182
+
1. Run the following command to retrieve the fingerprint of the certificate, replacing the following placeholders with their corresponding values. The fingerprint of a certificate is a calculated hash value that is unique to that certificate. You need the fingerprint to configure your IoT device in IoT Hub for testing.
0 commit comments