Refresh IETF client/server models
[netconf.git] / model / draft-ietf-netconf-crypto-types / src / main / yang / ietf-crypto-types@2023-12-28.yang
similarity index 98%
rename from model/draft-ietf-netconf-crypto-types/src/main/yang/ietf-crypto-types@2023-04-17.yang
rename to model/draft-ietf-netconf-crypto-types/src/main/yang/ietf-crypto-types@2023-12-28.yang
index ddabbeec52400979eb83642a548ed7491e8a438b..38dc215383199c3068f81e0ca342b2ce0379444a 100644 (file)
@@ -48,7 +48,7 @@ module ietf-crypto-types {
      (RFC 8174) when, and only when, they appear in all
      capitals, as shown here.";
 
-  revision 2023-04-17 {
+  revision 2023-12-28 {
     description
       "Initial version";
     reference
@@ -94,6 +94,7 @@ module ietf-crypto-types {
       "Indicates that the server supports the
        'cms-encrypted-data-format' identity.";
   }
+
   feature p10-csr-format {
     description
       "Indicates that the server implements support
@@ -286,6 +287,7 @@ module ietf-crypto-types {
         scope of this specification.  This is also true when
         the octet string has been encrypted.";
   }
+
   identity one-symmetric-key-format {
     if-feature "one-symmetric-key-format";
     base symmetric-key-format;
@@ -404,6 +406,7 @@ module ietf-crypto-types {
                  Specification Version 1.7";
   }
 
+
   /***************************************************/
   /*   Typedefs for ASN.1 structures from RFC 2986   */
   /***************************************************/
@@ -843,11 +846,9 @@ module ietf-crypto-types {
     }
   }
 
-  grouping asymmetric-key-pair-grouping {
+  grouping private-key-grouping {
     description
-      "A private key and its associated public key.  Implementations
-       SHOULD ensure that the two keys are a matching pair.";
-    uses public-key-grouping;
+      "A private key.";
     leaf private-key-format {
       nacm:default-deny-write;
       type identityref {
@@ -902,6 +903,22 @@ module ietf-crypto-types {
     }
   }
 
+  grouping asymmetric-key-pair-grouping {
+    description
+      "A private key and, optionally, its associated public key.
+       Implementations SHOULD ensure that the two keys, when both
+       are specified, are a matching pair.";
+    uses public-key-grouping {
+      refine public-key-format {
+        mandatory false;
+      }
+      refine public-key {
+        mandatory false;
+      }
+    }
+    uses private-key-grouping;
+  }
+
   grouping certificate-expiration-grouping {
     description
       "A notification for when a certificate is about to, or
@@ -952,6 +969,8 @@ module ietf-crypto-types {
     uses certificate-expiration-grouping;
   }
 
+
+
   grouping generate-csr-grouping {
     description
       "Defines the 'generate-csr' action.";