summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristian Breunig <christian@breunig.cc>2024-02-10 12:07:55 +0100
committerChristian Breunig <christian@breunig.cc>2024-02-10 12:07:55 +0100
commitd4278cde2b153e163fe41e1bc461891397336bc3 (patch)
treeb36f8bee366549a009f54b19563b6a2a7dcdbe9a
parentffca244d5c38655ce915cee373e3d6f6c9292954 (diff)
downloadvyos-1x-d4278cde2b153e163fe41e1bc461891397336bc3.tar.gz
vyos-1x-d4278cde2b153e163fe41e1bc461891397336bc3.zip
xml: T5738: improve PKI building blocks for CLI
-rw-r--r--interface-definitions/include/pki/cli-certificate-base64.xml.i11
-rw-r--r--interface-definitions/include/pki/cli-private-key-base64.xml.i11
-rw-r--r--interface-definitions/include/pki/cli-public-key-base64.xml.i11
-rw-r--r--interface-definitions/include/pki/cli-revoke.xml.i8
-rw-r--r--interface-definitions/include/pki/password-protected.xml.i8
-rw-r--r--interface-definitions/pki.xml.in119
6 files changed, 84 insertions, 84 deletions
diff --git a/interface-definitions/include/pki/cli-certificate-base64.xml.i b/interface-definitions/include/pki/cli-certificate-base64.xml.i
new file mode 100644
index 000000000..a3eff79e8
--- /dev/null
+++ b/interface-definitions/include/pki/cli-certificate-base64.xml.i
@@ -0,0 +1,11 @@
+<!-- include start from pki/cli-certificate-base64.xml.i -->
+<leafNode name="certificate">
+ <properties>
+ <help>Certificate in PEM format</help>
+ <constraint>
+ <validator name="base64"/>
+ </constraint>
+ <constraintErrorMessage>Certificate is not base64-encoded</constraintErrorMessage>
+ </properties>
+</leafNode>
+<!-- include end -->
diff --git a/interface-definitions/include/pki/cli-private-key-base64.xml.i b/interface-definitions/include/pki/cli-private-key-base64.xml.i
new file mode 100644
index 000000000..3a7ee0ce9
--- /dev/null
+++ b/interface-definitions/include/pki/cli-private-key-base64.xml.i
@@ -0,0 +1,11 @@
+<!-- include start from pki/pki-cli-private-key.xml.i -->
+<leafNode name="key">
+ <properties>
+ <help>Private key in PEM format</help>
+ <constraint>
+ <validator name="base64"/>
+ </constraint>
+ <constraintErrorMessage>Private key is not base64-encoded</constraintErrorMessage>
+ </properties>
+</leafNode>
+<!-- include end -->
diff --git a/interface-definitions/include/pki/cli-public-key-base64.xml.i b/interface-definitions/include/pki/cli-public-key-base64.xml.i
new file mode 100644
index 000000000..3a7ee0ce9
--- /dev/null
+++ b/interface-definitions/include/pki/cli-public-key-base64.xml.i
@@ -0,0 +1,11 @@
+<!-- include start from pki/pki-cli-private-key.xml.i -->
+<leafNode name="key">
+ <properties>
+ <help>Private key in PEM format</help>
+ <constraint>
+ <validator name="base64"/>
+ </constraint>
+ <constraintErrorMessage>Private key is not base64-encoded</constraintErrorMessage>
+ </properties>
+</leafNode>
+<!-- include end -->
diff --git a/interface-definitions/include/pki/cli-revoke.xml.i b/interface-definitions/include/pki/cli-revoke.xml.i
new file mode 100644
index 000000000..61cd978bb
--- /dev/null
+++ b/interface-definitions/include/pki/cli-revoke.xml.i
@@ -0,0 +1,8 @@
+<!-- include start from pki/cli-revoke.xml.i -->
+<leafNode name="revoke">
+ <properties>
+ <help>Include certificate in parent CRL</help>
+ <valueless/>
+ </properties>
+</leafNode>
+<!-- include end -->
diff --git a/interface-definitions/include/pki/password-protected.xml.i b/interface-definitions/include/pki/password-protected.xml.i
new file mode 100644
index 000000000..b72e4ecec
--- /dev/null
+++ b/interface-definitions/include/pki/password-protected.xml.i
@@ -0,0 +1,8 @@
+<!-- include start from pki/password-protected.xml.i -->
+<leafNode name="password-protected">
+ <properties>
+ <help>Private key portion is password protected</help>
+ <valueless/>
+ </properties>
+</leafNode>
+<!-- include end -->
diff --git a/interface-definitions/pki.xml.in b/interface-definitions/pki.xml.in
index 0ed199539..617bdd584 100644
--- a/interface-definitions/pki.xml.in
+++ b/interface-definitions/pki.xml.in
@@ -14,36 +14,15 @@
</constraint>
</properties>
<children>
- <leafNode name="certificate">
- <properties>
- <help>CA certificate in PEM format</help>
- <constraint>
- <validator name="base64"/>
- </constraint>
- <constraintErrorMessage>CA certificate is not base64-encoded</constraintErrorMessage>
- </properties>
- </leafNode>
+ #include <include/pki/cli-certificate-base64.xml.i>
#include <include/generic-description.xml.i>
<node name="private">
<properties>
<help>CA private key in PEM format</help>
</properties>
<children>
- <leafNode name="key">
- <properties>
- <help>CA private key in PEM format</help>
- <constraint>
- <validator name="base64"/>
- </constraint>
- <constraintErrorMessage>CA private key is not base64-encoded</constraintErrorMessage>
- </properties>
- </leafNode>
- <leafNode name="password-protected">
- <properties>
- <help>CA private key is password protected</help>
- <valueless/>
- </properties>
- </leafNode>
+ #include <include/pki/cli-private-key-base64.xml.i>
+ #include <include/pki/password-protected.xml.i>
</children>
</node>
<leafNode name="crl">
@@ -56,12 +35,7 @@
<multi/>
</properties>
</leafNode>
- <leafNode name="revoke">
- <properties>
- <help>If parent CA is present, this CA certificate will be included in generated CRLs</help>
- <valueless/>
- </properties>
- </leafNode>
+ #include <include/pki/cli-revoke.xml.i>
</children>
</tagNode>
<tagNode name="certificate">
@@ -72,15 +46,7 @@
</constraint>
</properties>
<children>
- <leafNode name="certificate">
- <properties>
- <help>Certificate in PEM format</help>
- <constraint>
- <validator name="base64"/>
- </constraint>
- <constraintErrorMessage>Certificate is not base64-encoded</constraintErrorMessage>
- </properties>
- </leafNode>
+ #include <include/pki/cli-certificate-base64.xml.i>
<node name="acme">
<properties>
<help>Automatic Certificate Management Environment (ACME) request</help>
@@ -141,29 +107,11 @@
<help>Certificate private key</help>
</properties>
<children>
- <leafNode name="key">
- <properties>
- <help>Certificate private key in PEM format</help>
- <constraint>
- <validator name="base64"/>
- </constraint>
- <constraintErrorMessage>Certificate private key is not base64-encoded</constraintErrorMessage>
- </properties>
- </leafNode>
- <leafNode name="password-protected">
- <properties>
- <help>Certificate private key is password protected</help>
- <valueless/>
- </properties>
- </leafNode>
+ #include <include/pki/cli-private-key-base64.xml.i>
+ #include <include/pki/password-protected.xml.i>
</children>
</node>
- <leafNode name="revoke">
- <properties>
- <help>If CA is present, this certificate will be included in generated CRLs</help>
- <valueless/>
- </properties>
- </leafNode>
+ #include <include/pki/cli-revoke.xml.i>
</children>
</tagNode>
<tagNode name="dh">
@@ -195,15 +143,7 @@
<help>Public key</help>
</properties>
<children>
- <leafNode name="key">
- <properties>
- <help>Public key in PEM format</help>
- <constraint>
- <validator name="base64"/>
- </constraint>
- <constraintErrorMessage>Public key is not base64-encoded</constraintErrorMessage>
- </properties>
- </leafNode>
+ #include <include/pki/cli-public-key-base64.xml.i>
</children>
</node>
<node name="private">
@@ -211,21 +151,32 @@
<help>Private key</help>
</properties>
<children>
- <leafNode name="key">
- <properties>
- <help>Private key in PEM format</help>
- <constraint>
- <validator name="base64"/>
- </constraint>
- <constraintErrorMessage>Private key is not base64-encoded</constraintErrorMessage>
- </properties>
- </leafNode>
- <leafNode name="password-protected">
- <properties>
- <help>Private key is password protected</help>
- <valueless/>
- </properties>
- </leafNode>
+ #include <include/pki/cli-private-key-base64.xml.i>
+ #include <include/pki/password-protected.xml.i>
+ </children>
+ </node>
+ </children>
+ </tagNode>
+ <tagNode name="openssh">
+ <properties>
+ <help>OpenSSH public and private keys</help>
+ </properties>
+ <children>
+ <node name="public">
+ <properties>
+ <help>Public key</help>
+ </properties>
+ <children>
+ #include <include/pki/cli-public-key-base64.xml.i>
+ </children>
+ </node>
+ <node name="private">
+ <properties>
+ <help>Private key</help>
+ </properties>
+ <children>
+ #include <include/pki/cli-private-key-base64.xml.i>
+ #include <include/pki/password-protected.xml.i>
</children>
</node>
</children>