Legrand / Raritan / Server Technology Xerus™ JSON-RPC API
Loading...
Searching...
No Matches
Scep.idl
1/* SPDX-License-Identifier: BSD-3-Clause */
2/*
3 * Copyright 2010 Raritan Inc. All rights reserved.
4 */
5
6#include <Event.idl>
7#include <ServerSSLCert.idl>
8
9/**
10 * Certificate Management via SCEP
11 */
12module cert {
13
14 /** SCEP interface */
15 interface Scep {
16
17 constant int NO_ERROR = 0;
18 constant int ERR_INVALID_PARAMS = 1;
19
20 /** Data needed for initial enrollment */
21 structure EnrollmentData {
22 string challenge; ///< The SCEP challenge password. Write-only.
23 ServerSSLCert.ReqInfo certInfo; ///< Data of the Certificate Signing Request that will be created
24 };
25
26 /** Settings for all SCEP enrollments (initial and renewal) */
27 structure ScepSettings {
28 string caCertFingerprint; ///< The fingerprint of the trusted CA certificate
29 string url; ///< SCEP server url
30 int renewDaysBeforeExpiry; ///< Run renewal if the certificate will expire in <n> days
31 int pendingWaitTimeSeconds; ///< In pending state, seconds between polling messages
32 int pendingRetries; ///< In pending state, how many polling messages will be sent before exiting with failure
33 boolean skipVerificationOfIssuedCertChain; ///< Do not verify whether the issued end-entity certificate
34 ///< builds a chain of trust up to the SCEP Root CA cert
35 };
36
37 enumeration EnrollmentRunStatus {
38 NOT_RUN, ///< Enrollment has not run yet
39 STARTED, ///< Enrollment run started
40 PENDING, ///< Enrollment run went to pending state
41 SUCCESS, ///< Enrollment run succeeded
42 FAILED ///< Enrollment run failed
43 };
44
46 EnrollmentRunStatus status; ///< Status of the enrollment run. If NOT_RUN, the other values can be ignored.
47 time startedAt; ///< Unix timestamp (UTC) of when the enrollment started
48 time endedAt; ///< Unix timestamp (UTC) of when the enrollment ended or 0 if still running
49 string failureReason; ///< In case of status FAILED, a textual description of the error
50 };
51
52 /** The current status of SCEP */
53 structure ScepStatus {
54 boolean enabled; ///< Is SCEP enabled
55 time lastSuccessfulEnrollment; ///< Unix timestamp (UTC) of the last successful enrollment, or 0 if that has
56 ///< not happened with the current SCEP setup (will be reset to 0 with a call
57 ///< to \ref enableScep
58 EnrollmentRunInfo lastEnrollmentRunInfo; ///< Info about the last (possibly still ongoing) enrollment run
59 };
60
61 valueobject ScepStatusChangedEvent extends idl.Event {
62 ScepStatus newStatus;
63 };
64
65 /**
66 * Enable SCEP. This will reset a previous SCEP setup and start with the initial enrollment again.
67 *
68 * @param initialEnrollmentData
69 * @param scepSettings
70 *
71 * @return NO_ERROR enabled SCEP successfully
72 * @return ERR_INVALID_PARAMS one of the parameters was invalid
73 */
74 int enableScep(in EnrollmentData initialEnrollmentData, in ScepSettings scepSettings);
75
76 /**
77 * Disable SCEP and discard all settings of this SCEP setup, allowing
78 * manual management of the TLS certificate again.
79 * Re-enabling SCEP will start with the initial enrollment again.
80 */
82
83 /**
84 * Get the data that is used for the initial enrollment. For Renewals,
85 * this is not used anymore.
86 *
87 * @return initial enrollment data
88 */
90
91 /**
92 * Get the SCEP settings.
93 *
94 * @return SCEP settings
95 */
97
98 /**
99 * Get the SCEP status.
100 *
101 * @return SCEP status
102 */
104
105 /**
106 * Set SCEP settings of an existing SCEP setup. Note, that this will
107 * kill a currently running SCEP enrollment and immediately retry.
108 *
109 * @return NO_ERROR changed ScepSettings successfully
110 * @return ERR_INVALID_PARAMS one of the parameters was invalid
111 */
112 int setSettings(in ScepSettings scepSettings);
113
114 /**
115 * Get all supported key variants.
116 *
117 * @return Vector of KeyInfo structures representing all supported key variants
118 */
120
121 };
122
123}
SCEP interface.
Definition Scep.idl:15
vector< ServerSSLCert::KeyInfo > getSupportedKeyInfos()
Get all supported key variants.
ScepSettings getSettings()
Get the SCEP settings.
EnrollmentRunStatus
Definition Scep.idl:37
@ SUCCESS
Enrollment run succeeded.
Definition Scep.idl:41
@ PENDING
Enrollment run went to pending state.
Definition Scep.idl:40
@ STARTED
Enrollment run started.
Definition Scep.idl:39
@ NOT_RUN
Enrollment has not run yet.
Definition Scep.idl:38
@ FAILED
Enrollment run failed.
Definition Scep.idl:42
int enableScep(in EnrollmentData initialEnrollmentData, in ScepSettings scepSettings)
Enable SCEP.
void discardScep()
Disable SCEP and discard all settings of this SCEP setup, allowing manual management of the TLS certi...
ScepStatus getStatus()
Get the SCEP status.
EnrollmentData getInitialEnrollmentData()
Get the data that is used for the initial enrollment.
int setSettings(in ScepSettings scepSettings)
Set SCEP settings of an existing SCEP setup.
TLS certificate management interface.
Certificate Management via SCEP.
Definition Scep.idl:12
Basic IDL definitions.
Definition Event.idl:10
Data needed for initial enrollment.
Definition Scep.idl:21
string challenge
The SCEP challenge password. Write-only.
Definition Scep.idl:22
ServerSSLCert::ReqInfo certInfo
Data of the Certificate Signing Request that will be created.
Definition Scep.idl:23
time startedAt
Unix timestamp (UTC) of when the enrollment started.
Definition Scep.idl:47
EnrollmentRunStatus status
Status of the enrollment run. If NOT_RUN, the other values can be ignored.
Definition Scep.idl:46
time endedAt
Unix timestamp (UTC) of when the enrollment ended or 0 if still running.
Definition Scep.idl:48
string failureReason
In case of status FAILED, a textual description of the error.
Definition Scep.idl:49
Settings for all SCEP enrollments (initial and renewal)
Definition Scep.idl:27
boolean skipVerificationOfIssuedCertChain
Do not verify whether the issued end-entity certificate builds a chain of trust up to the SCEP Root C...
Definition Scep.idl:33
string caCertFingerprint
The fingerprint of the trusted CA certificate.
Definition Scep.idl:28
string url
SCEP server url.
Definition Scep.idl:29
int renewDaysBeforeExpiry
Run renewal if the certificate will expire in <n> days.
Definition Scep.idl:30
int pendingRetries
In pending state, how many polling messages will be sent before exiting with failure.
Definition Scep.idl:32
int pendingWaitTimeSeconds
In pending state, seconds between polling messages.
Definition Scep.idl:31
The current status of SCEP.
Definition Scep.idl:53
EnrollmentRunInfo lastEnrollmentRunInfo
Info about the last (possibly still ongoing) enrollment run.
Definition Scep.idl:58
boolean enabled
Is SCEP enabled.
Definition Scep.idl:54
time lastSuccessfulEnrollment
Unix timestamp (UTC) of the last successful enrollment, or 0 if that has not happened with the curren...
Definition Scep.idl:55
Public key information.
Certificate signing request information.
Common base for all events.
Definition Event.idl:13