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
Copy file name to clipboardExpand all lines: README.md
+34-17Lines changed: 34 additions & 17 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -31,20 +31,22 @@
31
31
32
32
## Overview
33
33
34
-
The Axis IP Camera Orchestrator Extension remotely manages certificates on Axis IP Network Cameras. This
34
+
The AXIS IP Camera Orchestrator extension remotely manages certificates on AXIS IP Network Cameras. This
35
35
orchestrator extension inventories certificates on the camera's certificate store, and it also supports adding new client-server certificates and adding/removing CA certificates.
36
-
New client-server certificates are created in the Axis camera certificate store via On Device Key Generation (ODKG aka Reenrollment).
37
-
This means that certificates cannot be directly added to the Axis camera, but instead the keypair is generated on the Axis device using a keystore and a certificate is issued for that keypair via a CSR submitted to Command for enrollment.
38
-
This workflow is completely automated in the Axis IP Camera Orchestrator Extension. CA certificates can be added to the camera from uploaded CA certificates in Command.
36
+
New client-server certificates are created in the AXIS camera certificate store via On Device Key Generation (ODKG aka Reenrollment).
37
+
This means that certificates cannot be directly added to the Axis camera, but instead the keypair is generated on the AXIS device using a keystore and a certificate is issued for that keypair via a CSR submitted to Command for enrollment.
38
+
This workflow is completely automated in the AXIS IP Camera Orchestrator extension. CA certificates can be added to the camera from uploaded CA certificates in Command.
39
39
40
-
The Axis IP Camera Orchestrator Extension supports the following use cases:
40
+
### Use Cases
41
+
42
+
The AXIS IP Camera Orchestrator extension supports the following use cases:
41
43
42
44
1. Inventory of client-server & CA certificates
43
45
2. Enrollment of client-server certificates with ability to bind the certificate for a specific usage*
44
46
3. Ability to remove CA certificates from the camera
45
47
4. Ability to add CA certificates to the camera
46
48
47
-
The Axis IP Camera Orchestrator Extension DOES NOT support the following use cases:
49
+
The Axis IP Camera Orchestrator extension DOES NOT support the following use cases:
48
50
49
51
1. Ability to remove client-server certificates from the camera
50
52
2. Ability to add client-server certificates to the camera
@@ -67,8 +69,8 @@ The AXIS IP Camera Universal Orchestrator extension is supported by Keyfactor. I
67
69
Before installing the AXIS IP Camera Universal Orchestrator extension, we recommend that you install [kfutil](https://github.com/Keyfactor/kfutil). Kfutil is a command-line tool that simplifies the process of creating store types, installing extensions, and instantiating certificate stores in Keyfactor Command.
68
70
69
71
70
-
1. Out of the box, an Axis IP Network Camera will typically come with an **Administrator** account. It is
71
-
recommended to create a new account specifically for executing API calls. This account will need \"Administrator\"
72
+
1. Out of the box, an AXIS IP Network Camera will typically have configured an **Administrator** account. It is
73
+
recommended to create a new account specifically for executing API calls. This account will need \'Administrator\'
72
74
privileges since the orchestrator extension is capable of making configuration changes, such as installing and removing certificates.
73
75
2. Currently supports AXIS M2035-LE Bullet Camera, AXIS OS version 12.2.62. Has not been tested with any other firmware version.
74
76
@@ -79,19 +81,19 @@ To use the AXIS IP Camera Universal Orchestrator extension, you **must** create
79
81
80
82
81
83
82
-
The Axis IP Camera certificate store type represents a certificate store on an Axis network camera
84
+
The AXIS IP Camera certificate store type represents a certificate store on an AXIS network camera
83
85
that maintains two separate collections of certificates:
84
86
* Client-server certificates (certs with private keys)
85
87
* CA certificates
86
88
87
-
It is expected that there be one (1) certificate store managed per Axis network camera.
89
+
It is expected that there be one (1) certificate store managed per AXIS network camera.
88
90
89
91
90
92
91
93
92
94
#### Axis IP Camera Requirements
93
95
94
-
1. User Account with \`Administrator\` privileges and password to access the camera
96
+
1. User Account with \'Administrator\' privileges and password to access the camera
95
97
2. Camera serial number
96
98
3. Camera IP address (and likely port number)
97
99
@@ -244,19 +246,21 @@ the Keyfactor Command Portal
244
246
245
247
## Post Installation
246
248
247
-
The Axis IP Camera Orchestrator Extension *always* connects to an Axis IP Network Camera using an HTTPS connection, regardless
249
+
The AXIS IP Camera Orchestrator Extension *always* connects to an AXIS IP Network Camera using an HTTPS connection, regardless
248
250
of whether the \`Use SSL\` option on the certificate store is set to **false**. This is to ensure the orchestrator connection
249
251
is connecting to a valid camera.
250
252
251
253
All network cameras come pre-loaded with device ID certificates, and one of these certificates is configured on the camera to be provided in the TLS handshake
252
254
to the client.
253
255
254
256
On the initial HTTPS connection to the camera, the orchestrator extension will not trust the device ID certificate, and will therefore
255
-
deny the session. In order to trust the device ID certificate, you must provide the root and intermediate CA certificate from the AXIS PKI chain to a custom trust.
257
+
deny the session.
258
+
259
+
In order to trust the device ID certificate, you must provide the root and intermediate CA certificate from the AXIS PKI chain to a custom trust.
256
260
257
-
Steps to Create the Custom Trust:
261
+
### Steps to Create the Custom Trust:
258
262
259
-
1. Once the DLLs from GitHub are installed, create two (2) files in `C:\Program Files\Keyfactor\Keyfactor Orchestrator\extensions\AxisIPCamera\Files` folder with the below names:
263
+
1. Once the DLLs from GitHub are installed, create two (2) files in `C:\Program Files\Keyfactor\Keyfactor Orchestrator\extensions\[AXIS IP Camera extension folder naem]\Files` folder with the below names:
260
264
***Axis.Trust**
261
265
***Axis.Intermediate**
262
266
@@ -265,6 +269,15 @@ Steps to Create the Custom Trust:
265
269
266
270
\* AXIS Device ID CA certificates can be found here: https://www.axis.com/support/public-key-infrastructure-repository
267
271
272
+
After the device ID is verified against the custom trust, the \`Store Path\` value of the certificate store will be compared against the SERIALNUMBER Subject DN attribute of the device ID certificate.
273
+
These values must match or the session will be denied.
274
+
275
+
> [!IMPORTANT]
276
+
> As part of the device onboarding, it is expected that the operator schedule a reenrollment job and select "HTTPS" as the Certificate Usage so that a new CA-signed certificate is used for secure web access to the camera.
277
+
278
+
> [!IMPORTANT]
279
+
> Make sure the PKI trust for certificates enrolled via ODKG is installed on the orchestrator server's local machine certificate store.
280
+
268
281
269
282
## Defining Certificate Stores
270
283
@@ -351,9 +364,13 @@ Please refer to the **Universal Orchestrator (remote)** usage section ([PAM prov
351
364
> The content in this section can be supplemented by the [official Command documentation](https://software.keyfactor.com/Core-OnPrem/Current/Content/ReferenceGuide/Certificate%20Stores.htm?Highlight=certificate%20store).
352
365
353
366
354
-
## Discovering Certificate Stores with the Discovery Job
355
-
TODO Discovery is an optional section. If this section doesn't seem necessary on initial glance, please delete it. Refer to the docs on [Confluence](https://keyfactor.atlassian.net/wiki/x/SAAyHg) for more info
0 commit comments