draft-ietf-netconf-netconf-client-server-12.txt | draft-ietf-netconf-netconf-client-server-13.txt | |||
---|---|---|---|---|
NETCONF Working Group K. Watsen | NETCONF Working Group K. Watsen | |||
Internet-Draft Watsen Networks | Internet-Draft Watsen Networks | |||
Intended status: Standards Track April 29, 2019 | Intended status: Standards Track June 7, 2019 | |||
Expires: October 31, 2019 | Expires: December 9, 2019 | |||
NETCONF Client and Server Models | NETCONF Client and Server Models | |||
draft-ietf-netconf-netconf-client-server-12 | draft-ietf-netconf-netconf-client-server-13 | |||
Abstract | Abstract | |||
This document defines two YANG modules, one module to configure a | This document defines two YANG modules, one module to configure a | |||
NETCONF client and the other module to configure a NETCONF server. | NETCONF client and the other module to configure a NETCONF server. | |||
Both modules support both the SSH and TLS transport protocols, and | Both modules support both the SSH and TLS transport protocols, and | |||
support both standard NETCONF and NETCONF Call Home connections. | support both standard NETCONF and NETCONF Call Home connections. | |||
Editorial Note (To be removed by RFC Editor) | Editorial Note (To be removed by RFC Editor) | |||
skipping to change at page 2, line 11 ¶ | skipping to change at page 2, line 11 ¶ | |||
o "YYYY" --> the assigned RFC value for I-D.ietf-netconf-ssh-client- | o "YYYY" --> the assigned RFC value for I-D.ietf-netconf-ssh-client- | |||
server | server | |||
o "ZZZZ" --> the assigned RFC value for I-D.ietf-netconf-tls-client- | o "ZZZZ" --> the assigned RFC value for I-D.ietf-netconf-tls-client- | |||
server | server | |||
Artwork in this document contains placeholder values for the date of | Artwork in this document contains placeholder values for the date of | |||
publication of this draft. Please apply the following replacement: | publication of this draft. Please apply the following replacement: | |||
o "2019-04-29" --> the publication date of this draft | o "2019-06-07" --> the publication date of this draft | |||
The following Appendix section is to be removed prior to publication: | The following Appendix section is to be removed prior to publication: | |||
o Appendix B. Change Log | o Appendix B. Change Log | |||
Status of This Memo | Status of This Memo | |||
This Internet-Draft is submitted in full conformance with the | This Internet-Draft is submitted in full conformance with the | |||
provisions of BCP 78 and BCP 79. | provisions of BCP 78 and BCP 79. | |||
Internet-Drafts are working documents of the Internet Engineering | Internet-Drafts are working documents of the Internet Engineering | |||
Task Force (IETF). Note that other groups may also distribute | Task Force (IETF). Note that other groups may also distribute | |||
working documents as Internet-Drafts. The list of current Internet- | working documents as Internet-Drafts. The list of current Internet- | |||
Drafts is at https://datatracker.ietf.org/drafts/current/. | Drafts is at https://datatracker.ietf.org/drafts/current/. | |||
Internet-Drafts are draft documents valid for a maximum of six months | Internet-Drafts are draft documents valid for a maximum of six months | |||
and may be updated, replaced, or obsoleted by other documents at any | and may be updated, replaced, or obsoleted by other documents at any | |||
time. It is inappropriate to use Internet-Drafts as reference | time. It is inappropriate to use Internet-Drafts as reference | |||
material or to cite them other than as "work in progress." | material or to cite them other than as "work in progress." | |||
This Internet-Draft will expire on October 31, 2019. | This Internet-Draft will expire on December 9, 2019. | |||
Copyright Notice | Copyright Notice | |||
Copyright (c) 2019 IETF Trust and the persons identified as the | Copyright (c) 2019 IETF Trust and the persons identified as the | |||
document authors. All rights reserved. | document authors. All rights reserved. | |||
This document is subject to BCP 78 and the IETF Trust's Legal | This document is subject to BCP 78 and the IETF Trust's Legal | |||
Provisions Relating to IETF Documents | Provisions Relating to IETF Documents | |||
(https://trustee.ietf.org/license-info) in effect on the date of | (https://trustee.ietf.org/license-info) in effect on the date of | |||
publication of this document. Please review these documents | publication of this document. Please review these documents | |||
skipping to change at page 3, line 16 ¶ | skipping to change at page 3, line 16 ¶ | |||
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3 | 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3 | |||
2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 4 | 2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 4 | |||
3. The NETCONF Client Model . . . . . . . . . . . . . . . . . . 4 | 3. The NETCONF Client Model . . . . . . . . . . . . . . . . . . 4 | |||
3.1. Tree Diagram . . . . . . . . . . . . . . . . . . . . . . 4 | 3.1. Tree Diagram . . . . . . . . . . . . . . . . . . . . . . 4 | |||
3.2. Example Usage . . . . . . . . . . . . . . . . . . . . . . 5 | 3.2. Example Usage . . . . . . . . . . . . . . . . . . . . . . 5 | |||
3.3. YANG Module . . . . . . . . . . . . . . . . . . . . . . . 8 | 3.3. YANG Module . . . . . . . . . . . . . . . . . . . . . . . 8 | |||
4. The NETCONF Server Model . . . . . . . . . . . . . . . . . . 18 | 4. The NETCONF Server Model . . . . . . . . . . . . . . . . . . 18 | |||
4.1. Tree Diagram . . . . . . . . . . . . . . . . . . . . . . 18 | 4.1. Tree Diagram . . . . . . . . . . . . . . . . . . . . . . 18 | |||
4.2. Example Usage . . . . . . . . . . . . . . . . . . . . . . 20 | 4.2. Example Usage . . . . . . . . . . . . . . . . . . . . . . 20 | |||
4.3. YANG Module . . . . . . . . . . . . . . . . . . . . . . . 26 | 4.3. YANG Module . . . . . . . . . . . . . . . . . . . . . . . 25 | |||
5. Security Considerations . . . . . . . . . . . . . . . . . . . 37 | 5. Security Considerations . . . . . . . . . . . . . . . . . . . 37 | |||
6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 38 | 6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 38 | |||
6.1. The IETF XML Registry . . . . . . . . . . . . . . . . . . 38 | 6.1. The IETF XML Registry . . . . . . . . . . . . . . . . . . 38 | |||
6.2. The YANG Module Names Registry . . . . . . . . . . . . . 38 | 6.2. The YANG Module Names Registry . . . . . . . . . . . . . 38 | |||
7. References . . . . . . . . . . . . . . . . . . . . . . . . . 38 | 7. References . . . . . . . . . . . . . . . . . . . . . . . . . 38 | |||
7.1. Normative References . . . . . . . . . . . . . . . . . . 38 | 7.1. Normative References . . . . . . . . . . . . . . . . . . 38 | |||
7.2. Informative References . . . . . . . . . . . . . . . . . 40 | 7.2. Informative References . . . . . . . . . . . . . . . . . 40 | |||
Appendix A. Expanded Tree Diagrams . . . . . . . . . . . . . . . 41 | Appendix A. Expanded Tree Diagrams . . . . . . . . . . . . . . . 41 | |||
A.1. Expanded Tree Diagram for 'ietf-netconf-client' . . . . . 41 | A.1. Expanded Tree Diagram for 'ietf-netconf-client' . . . . . 41 | |||
A.2. Expanded Tree Diagram for 'ietf-netconf-server' . . . . . 50 | A.2. Expanded Tree Diagram for 'ietf-netconf-server' . . . . . 49 | |||
Appendix B. Change Log . . . . . . . . . . . . . . . . . . . . . 61 | Appendix B. Change Log . . . . . . . . . . . . . . . . . . . . . 59 | |||
B.1. 00 to 01 . . . . . . . . . . . . . . . . . . . . . . . . 61 | B.1. 00 to 01 . . . . . . . . . . . . . . . . . . . . . . . . 59 | |||
B.2. 01 to 02 . . . . . . . . . . . . . . . . . . . . . . . . 61 | B.2. 01 to 02 . . . . . . . . . . . . . . . . . . . . . . . . 59 | |||
B.3. 02 to 03 . . . . . . . . . . . . . . . . . . . . . . . . 61 | B.3. 02 to 03 . . . . . . . . . . . . . . . . . . . . . . . . 59 | |||
B.4. 03 to 04 . . . . . . . . . . . . . . . . . . . . . . . . 61 | B.4. 03 to 04 . . . . . . . . . . . . . . . . . . . . . . . . 60 | |||
B.5. 04 to 05 . . . . . . . . . . . . . . . . . . . . . . . . 62 | B.5. 04 to 05 . . . . . . . . . . . . . . . . . . . . . . . . 60 | |||
B.6. 05 to 06 . . . . . . . . . . . . . . . . . . . . . . . . 62 | B.6. 05 to 06 . . . . . . . . . . . . . . . . . . . . . . . . 60 | |||
B.7. 06 to 07 . . . . . . . . . . . . . . . . . . . . . . . . 62 | B.7. 06 to 07 . . . . . . . . . . . . . . . . . . . . . . . . 60 | |||
B.8. 07 to 08 . . . . . . . . . . . . . . . . . . . . . . . . 62 | B.8. 07 to 08 . . . . . . . . . . . . . . . . . . . . . . . . 61 | |||
B.9. 08 to 09 . . . . . . . . . . . . . . . . . . . . . . . . 62 | B.9. 08 to 09 . . . . . . . . . . . . . . . . . . . . . . . . 61 | |||
B.10. 09 to 10 . . . . . . . . . . . . . . . . . . . . . . . . 63 | B.10. 09 to 10 . . . . . . . . . . . . . . . . . . . . . . . . 61 | |||
B.11. 10 to 11 . . . . . . . . . . . . . . . . . . . . . . . . 63 | B.11. 10 to 11 . . . . . . . . . . . . . . . . . . . . . . . . 61 | |||
B.12. 11 to 12 . . . . . . . . . . . . . . . . . . . . . . . . 63 | B.12. 11 to 12 . . . . . . . . . . . . . . . . . . . . . . . . 61 | |||
Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . . 63 | B.13. 12 to 13 . . . . . . . . . . . . . . . . . . . . . . . . 62 | |||
Author's Address . . . . . . . . . . . . . . . . . . . . . . . . 64 | Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . . 62 | |||
Author's Address . . . . . . . . . . . . . . . . . . . . . . . . 62 | ||||
1. Introduction | 1. Introduction | |||
This document defines two YANG [RFC7950] modules, one module to | This document defines two YANG [RFC7950] modules, one module to | |||
configure a NETCONF [RFC6241] client and the other module to | configure a NETCONF [RFC6241] client and the other module to | |||
configure a NETCONF server. Both modules support both NETCONF over | configure a NETCONF server. Both modules support both NETCONF over | |||
SSH [RFC6242] and NETCONF over TLS [RFC7589] and NETCONF Call Home | SSH [RFC6242] and NETCONF over TLS [RFC7589] and NETCONF Call Home | |||
connections [RFC8071]. | connections [RFC8071]. | |||
2. Terminology | 2. Terminology | |||
skipping to change at page 4, line 51 ¶ | skipping to change at page 4, line 51 ¶ | |||
+-- initiate! {ssh-initiate or tls-initiate}? | +-- initiate! {ssh-initiate or tls-initiate}? | |||
| +-- netconf-server* [name] | | +-- netconf-server* [name] | |||
| +-- name? string | | +-- name? string | |||
| +-- endpoints | | +-- endpoints | |||
| | +-- endpoint* [name] | | | +-- endpoint* [name] | |||
| | +-- name? string | | | +-- name? string | |||
| | +-- (transport) | | | +-- (transport) | |||
| | +--:(ssh) {ssh-initiate}? | | | +--:(ssh) {ssh-initiate}? | |||
| | | +-- ssh | | | | +-- ssh | |||
| | | +-- tcp-client-parameters | | | | +-- tcp-client-parameters | |||
| | | | +---u netconf-client-grouping | | | | | +---u tcpc:tcp-client-grouping | |||
| | | +-- ssh-client-parameters | | | | +-- ssh-client-parameters | |||
| | | +---u netconf-client-grouping | | | | +---u sshc:ssh-client-grouping | |||
| | +--:(tls) {tls-initiate}? | | | +--:(tls) {tls-initiate}? | |||
| | +-- tls | | | +-- tls | |||
| | +-- tcp-client-parameters | | | +-- tcp-client-parameters | |||
| | | +---u netconf-client-grouping | | | | +---u tcpc:tcp-client-grouping | |||
| | +-- tls-client-parameters | | | +-- tls-client-parameters | |||
| | +---u netconf-client-grouping | | | +---u tlsc:tls-client-grouping | |||
| +-- connection-type | | +-- connection-type | |||
| | +-- (connection-type) | | | +-- (connection-type) | |||
| | +--:(persistent-connection) | | | +--:(persistent-connection) | |||
| | | +-- persistent! | | | | +-- persistent! | |||
| | +--:(periodic-connection) | | | +--:(periodic-connection) | |||
| | +-- periodic! | | | +-- periodic! | |||
| | +-- period? uint16 | | | +-- period? uint16 | |||
| | +-- anchor-time? yang:date-and-time | | | +-- anchor-time? yang:date-and-time | |||
| | +-- idle-timeout? uint16 | | | +-- idle-timeout? uint16 | |||
| +-- reconnect-strategy | | +-- reconnect-strategy | |||
| +-- start-with? enumeration | | +-- start-with? enumeration | |||
| +-- max-attempts? uint8 | | +-- max-attempts? uint8 | |||
+-- listen! {ssh-listen or tls-listen}? | +-- listen! {ssh-listen or tls-listen}? | |||
+-- idle-timeout? uint16 | +-- idle-timeout? uint16 | |||
+-- endpoint* [name] | +-- endpoint* [name] | |||
+-- name? string | +-- name? string | |||
+-- (transport) | +-- (transport) | |||
+--:(ssh) {ssh-listen}? | +--:(ssh) {ssh-listen}? | |||
| +-- ssh | | +-- ssh | |||
| +-- tcp-server-parameters | | +-- tcp-server-parameters | |||
| | +---u netconf-client-grouping | | | +---u tcps:tcp-server-grouping | |||
| +-- ssh-client-parameters | | +-- ssh-client-parameters | |||
| +---u netconf-client-grouping | | +---u sshc:ssh-client-grouping | |||
+--:(tls) {tls-listen}? | +--:(tls) {tls-listen}? | |||
+-- tls | +-- tls | |||
+-- tcp-server-parameters | +-- tcp-server-parameters | |||
| +---u netconf-client-grouping | | +---u tcps:tcp-server-grouping | |||
+-- tls-client-parameters | +-- tls-client-parameters | |||
+---u netconf-client-grouping | +---u tlsc:tls-client-grouping | |||
3.2. Example Usage | 3.2. Example Usage | |||
The following example illustrates configuring a NETCONF client to | The following example illustrates configuring a NETCONF client to | |||
initiate connections, using both the SSH and TLS transport protocols, | initiate connections, using both the SSH and TLS transport protocols, | |||
as well as listening for call-home connections, again using both the | as well as listening for call-home connections, again using both the | |||
SSH and TLS transport protocols. | SSH and TLS transport protocols. | |||
This example is consistent with the examples presented in Section 2 | This example is consistent with the examples presented in Section 2 | |||
of [I-D.ietf-netconf-trust-anchors] and Section 3.2 of | of [I-D.ietf-netconf-trust-anchors] and Section 3.2 of | |||
skipping to change at page 6, line 39 ¶ | skipping to change at page 6, line 39 ¶ | |||
<public-key> | <public-key> | |||
<local-definition> | <local-definition> | |||
<algorithm xmlns:ct="urn:ietf:params:xml:ns:yang\ | <algorithm xmlns:ct="urn:ietf:params:xml:ns:yang\ | |||
:ietf-crypto-types">ct:rsa2048</algorithm> | :ietf-crypto-types">ct:rsa2048</algorithm> | |||
<private-key>base64encodedvalue==</private-key> | <private-key>base64encodedvalue==</private-key> | |||
<public-key>base64encodedvalue==</public-key> | <public-key>base64encodedvalue==</public-key> | |||
</local-definition> | </local-definition> | |||
</public-key> | </public-key> | |||
</client-identity> | </client-identity> | |||
<server-authentication> | <server-authentication> | |||
<pinned-ca-certs>explicitly-trusted-server-ca-certs<\ | <ca-certs>explicitly-trusted-server-ca-certs</ca-cer\ | |||
/pinned-ca-certs> | ts> | |||
<pinned-server-certs>explicitly-trusted-server-certs\ | <server-certs>explicitly-trusted-server-certs</serve\ | |||
</pinned-server-certs> | r-certs> | |||
</server-authentication> | </server-authentication> | |||
<keepalives> | <keepalives> | |||
<max-wait>30</max-wait> | <max-wait>30</max-wait> | |||
<max-attempts>3</max-attempts> | <max-attempts>3</max-attempts> | |||
</keepalives> | </keepalives> | |||
</ssh-client-parameters> | </ssh-client-parameters> | |||
</ssh> | </ssh> | |||
</endpoint> | </endpoint> | |||
<endpoint> | <endpoint> | |||
<name>corp-fw2.example.com</name> | <name>corp-fw2.example.com</name> | |||
skipping to change at page 7, line 26 ¶ | skipping to change at page 7, line 26 ¶ | |||
<public-key> | <public-key> | |||
<local-definition> | <local-definition> | |||
<algorithm xmlns:ct="urn:ietf:params:xml:ns:yang\ | <algorithm xmlns:ct="urn:ietf:params:xml:ns:yang\ | |||
:ietf-crypto-types">ct:rsa2048</algorithm> | :ietf-crypto-types">ct:rsa2048</algorithm> | |||
<private-key>base64encodedvalue==</private-key> | <private-key>base64encodedvalue==</private-key> | |||
<public-key>base64encodedvalue==</public-key> | <public-key>base64encodedvalue==</public-key> | |||
</local-definition> | </local-definition> | |||
</public-key> | </public-key> | |||
</client-identity> | </client-identity> | |||
<server-authentication> | <server-authentication> | |||
<pinned-ca-certs>explicitly-trusted-server-ca-certs<\ | <ca-certs>explicitly-trusted-server-ca-certs</ca-cer\ | |||
/pinned-ca-certs> | ts> | |||
<pinned-server-certs>explicitly-trusted-server-certs\ | <server-certs>explicitly-trusted-server-certs</serve\ | |||
</pinned-server-certs> | r-certs> | |||
</server-authentication> | </server-authentication> | |||
<keepalives> | <keepalives> | |||
<max-wait>30</max-wait> | <max-wait>30</max-wait> | |||
<max-attempts>3</max-attempts> | <max-attempts>3</max-attempts> | |||
</keepalives> | </keepalives> | |||
</ssh-client-parameters> | </ssh-client-parameters> | |||
</ssh> | </ssh> | |||
</endpoint> | </endpoint> | |||
</endpoints> | </endpoints> | |||
<connection-type> | <connection-type> | |||
skipping to change at page 8, line 21 ¶ | skipping to change at page 8, line 21 ¶ | |||
<public-key> | <public-key> | |||
<local-definition> | <local-definition> | |||
<algorithm xmlns:ct="urn:ietf:params:xml:ns:yang:iet\ | <algorithm xmlns:ct="urn:ietf:params:xml:ns:yang:iet\ | |||
f-crypto-types">ct:rsa2048</algorithm> | f-crypto-types">ct:rsa2048</algorithm> | |||
<private-key>base64encodedvalue==</private-key> | <private-key>base64encodedvalue==</private-key> | |||
<public-key>base64encodedvalue==</public-key> | <public-key>base64encodedvalue==</public-key> | |||
</local-definition> | </local-definition> | |||
</public-key> | </public-key> | |||
</client-identity> | </client-identity> | |||
<server-authentication> | <server-authentication> | |||
<pinned-ca-certs>explicitly-trusted-server-ca-certs</pin\ | <ca-certs>explicitly-trusted-server-ca-certs</ca-certs> | |||
ned-ca-certs> | <server-certs>explicitly-trusted-server-certs</server-ce\ | |||
<pinned-server-certs>explicitly-trusted-server-certs</pi\ | rts> | |||
nned-server-certs> | <ssh-host-keys>explicitly-trusted-ssh-host-keys</ssh-hos\ | |||
<pinned-ssh-host-keys>explicitly-trusted-ssh-host-keys</\ | t-keys> | |||
pinned-ssh-host-keys> | ||||
</server-authentication> | </server-authentication> | |||
</ssh-client-parameters> | </ssh-client-parameters> | |||
</ssh> | </ssh> | |||
</endpoint> | </endpoint> | |||
</listen> | </listen> | |||
</netconf-client> | </netconf-client> | |||
3.3. YANG Module | 3.3. YANG Module | |||
This YANG module has normative references to [RFC6242], [RFC6991], | This YANG module has normative references to [RFC6242], [RFC6991], | |||
[RFC7589], [RFC8071], [I-D.kwatsen-netconf-tcp-client-server], | [RFC7589], [RFC8071], [I-D.kwatsen-netconf-tcp-client-server], | |||
[I-D.ietf-netconf-ssh-client-server], and | [I-D.ietf-netconf-ssh-client-server], and | |||
[I-D.ietf-netconf-tls-client-server]. | [I-D.ietf-netconf-tls-client-server]. | |||
<CODE BEGINS> file "ietf-netconf-client@2019-04-29.yang" | <CODE BEGINS> file "ietf-netconf-client@2019-06-07.yang" | |||
module ietf-netconf-client { | module ietf-netconf-client { | |||
yang-version 1.1; | yang-version 1.1; | |||
namespace "urn:ietf:params:xml:ns:yang:ietf-netconf-client"; | namespace "urn:ietf:params:xml:ns:yang:ietf-netconf-client"; | |||
prefix ncc; | prefix ncc; | |||
import ietf-yang-types { | import ietf-yang-types { | |||
prefix yang; | prefix yang; | |||
reference | reference | |||
"RFC 6991: Common YANG Data Types"; | "RFC 6991: Common YANG Data Types"; | |||
} | } | |||
skipping to change at page 9, line 17 ¶ | skipping to change at page 9, line 17 ¶ | |||
"RFC AAAA: YANG Groupings for TCP Clients and TCP Servers"; | "RFC AAAA: YANG Groupings for TCP Clients and TCP Servers"; | |||
} | } | |||
import ietf-tcp-server { | import ietf-tcp-server { | |||
prefix tcps; | prefix tcps; | |||
reference | reference | |||
"RFC AAAA: YANG Groupings for TCP Clients and TCP Servers"; | "RFC AAAA: YANG Groupings for TCP Clients and TCP Servers"; | |||
} | } | |||
import ietf-ssh-client { | import ietf-ssh-client { | |||
prefix sshc; | prefix sshc; | |||
revision-date 2019-04-29; // stable grouping definitions | revision-date 2019-06-07; // stable grouping definitions | |||
reference | reference | |||
"RFC BBBB: YANG Groupings for SSH Clients and SSH Servers"; | "RFC BBBB: YANG Groupings for SSH Clients and SSH Servers"; | |||
} | } | |||
import ietf-tls-client { | import ietf-tls-client { | |||
prefix tlsc; | prefix tlsc; | |||
revision-date 2019-04-29; // stable grouping definitions | revision-date 2019-06-07; // stable grouping definitions | |||
reference | reference | |||
"RFC CCCC: YANG Groupings for TLS Clients and TLS Servers"; | "RFC CCCC: YANG Groupings for TLS Clients and TLS Servers"; | |||
} | } | |||
organization | organization | |||
"IETF NETCONF (Network Configuration) Working Group"; | "IETF NETCONF (Network Configuration) Working Group"; | |||
contact | contact | |||
"WG Web: <http://datatracker.ietf.org/wg/netconf/> | "WG Web: <http://datatracker.ietf.org/wg/netconf/> | |||
WG List: <mailto:netconf@ietf.org> | WG List: <mailto:netconf@ietf.org> | |||
skipping to change at page 10, line 16 ¶ | skipping to change at page 10, line 16 ¶ | |||
(https://www.rfc-editor.org/info/rfcXXXX); see the RFC | (https://www.rfc-editor.org/info/rfcXXXX); see the RFC | |||
itself for full legal notices.; | itself for full legal notices.; | |||
The key words 'MUST', 'MUST NOT', 'REQUIRED', 'SHALL', | The key words 'MUST', 'MUST NOT', 'REQUIRED', 'SHALL', | |||
'SHALL NOT', 'SHOULD', 'SHOULD NOT', 'RECOMMENDED', | 'SHALL NOT', 'SHOULD', 'SHOULD NOT', 'RECOMMENDED', | |||
'NOT RECOMMENDED', 'MAY', and 'OPTIONAL' in this document | 'NOT RECOMMENDED', 'MAY', and 'OPTIONAL' in this document | |||
are to be interpreted as described in BCP 14 (RFC 2119) | are to be interpreted as described in BCP 14 (RFC 2119) | |||
(RFC 8174) when, and only when, they appear in all | (RFC 8174) when, and only when, they appear in all | |||
capitals, as shown here."; | capitals, as shown here."; | |||
revision 2019-04-29 { | revision 2019-06-07 { | |||
description | description | |||
"Initial version"; | "Initial version"; | |||
reference | reference | |||
"RFC XXXX: NETCONF Client and Server Models"; | "RFC XXXX: NETCONF Client and Server Models"; | |||
} | } | |||
// Features | // Features | |||
feature ssh-initiate { | feature ssh-initiate { | |||
description | description | |||
skipping to change at page 19, line 16 ¶ | skipping to change at page 19, line 16 ¶ | |||
grouping netconf-server-grouping | grouping netconf-server-grouping | |||
+-- listen! {ssh-listen or tls-listen}? | +-- listen! {ssh-listen or tls-listen}? | |||
| +-- idle-timeout? uint16 | | +-- idle-timeout? uint16 | |||
| +-- endpoint* [name] | | +-- endpoint* [name] | |||
| +-- name? string | | +-- name? string | |||
| +-- (transport) | | +-- (transport) | |||
| +--:(ssh) {ssh-listen}? | | +--:(ssh) {ssh-listen}? | |||
| | +-- ssh | | | +-- ssh | |||
| | +-- tcp-server-parameters | | | +-- tcp-server-parameters | |||
| | | +---u netconf-server-grouping | | | | +---u tcps:tcp-server-grouping | |||
| | +-- ssh-server-parameters | | | +-- ssh-server-parameters | |||
| | +---u netconf-server-grouping | | | +---u sshs:ssh-server-grouping | |||
| +--:(tls) {tls-listen}? | | +--:(tls) {tls-listen}? | |||
| +-- tls | | +-- tls | |||
| +-- tcp-server-parameters | | +-- tcp-server-parameters | |||
| | +---u netconf-server-grouping | | | +---u tcps:tcp-server-grouping | |||
| +-- tls-server-parameters | | +-- tls-server-parameters | |||
| +---u netconf-server-grouping | | +---u tlss:tls-server-grouping | |||
+-- call-home! {ssh-call-home or tls-call-home}? | +-- call-home! {ssh-call-home or tls-call-home}? | |||
+-- netconf-client* [name] | +-- netconf-client* [name] | |||
+-- name? string | +-- name? string | |||
+-- endpoints | +-- endpoints | |||
| +-- endpoint* [name] | | +-- endpoint* [name] | |||
| +-- name? string | | +-- name? string | |||
| +-- (transport) | | +-- (transport) | |||
| +--:(ssh) {ssh-call-home}? | | +--:(ssh) {ssh-call-home}? | |||
| | +-- ssh | | | +-- ssh | |||
| | +-- tcp-client-parameters | | | +-- tcp-client-parameters | |||
| | | +---u netconf-server-grouping | | | | +---u tcpc:tcp-client-grouping | |||
| | +-- ssh-server-parameters | | | +-- ssh-server-parameters | |||
| | +---u netconf-server-grouping | | | +---u sshs:ssh-server-grouping | |||
| +--:(tls) {tls-call-home}? | | +--:(tls) {tls-call-home}? | |||
| +-- tls | | +-- tls | |||
| +-- tcp-client-parameters | | +-- tcp-client-parameters | |||
| | +---u netconf-server-grouping | | | +---u tcpc:tcp-client-grouping | |||
| +-- tls-server-parameters | | +-- tls-server-parameters | |||
| +---u netconf-server-grouping | | +---u tlss:tls-server-grouping | |||
+-- connection-type | +-- connection-type | |||
| +-- (connection-type) | | +-- (connection-type) | |||
| +--:(persistent-connection) | | +--:(persistent-connection) | |||
| | +-- persistent! | | | +-- persistent! | |||
| +--:(periodic-connection) | | +--:(periodic-connection) | |||
| +-- periodic! | | +-- periodic! | |||
| +-- period? uint16 | | +-- period? uint16 | |||
| +-- anchor-time? yang:date-and-time | | +-- anchor-time? yang:date-and-time | |||
| +-- idle-timeout? uint16 | | +-- idle-timeout? uint16 | |||
+-- reconnect-strategy | +-- reconnect-strategy | |||
skipping to change at page 21, line 27 ¶ | skipping to change at page 21, line 27 ¶ | |||
<local-definition> | <local-definition> | |||
<algorithm xmlns:ct="urn:ietf:params:xml:ns:yang:ietf-\ | <algorithm xmlns:ct="urn:ietf:params:xml:ns:yang:ietf-\ | |||
crypto-types">ct:rsa2048</algorithm> | crypto-types">ct:rsa2048</algorithm> | |||
<private-key>base64encodedvalue==</private-key> | <private-key>base64encodedvalue==</private-key> | |||
<public-key>base64encodedvalue==</public-key> | <public-key>base64encodedvalue==</public-key> | |||
<cert>base64encodedvalue==</cert> | <cert>base64encodedvalue==</cert> | |||
</local-definition> | </local-definition> | |||
</server-identity> | </server-identity> | |||
<client-authentication> | <client-authentication> | |||
<required/> | <required/> | |||
<pinned-ca-certs>explicitly-trusted-client-ca-certs</pin\ | <ca-certs>explicitly-trusted-client-ca-certs</ca-certs> | |||
ned-ca-certs> | <client-certs>explicitly-trusted-client-certs</client-ce\ | |||
<pinned-client-certs>explicitly-trusted-client-certs</pi\ | rts> | |||
nned-client-certs> | ||||
<cert-maps> | <cert-maps> | |||
<cert-to-name> | <cert-to-name> | |||
<id>1</id> | <id>1</id> | |||
<fingerprint>11:0A:05:11:00</fingerprint> | <fingerprint>11:0A:05:11:00</fingerprint> | |||
<map-type>x509c2n:san-any</map-type> | <map-type>x509c2n:san-any</map-type> | |||
</cert-to-name> | </cert-to-name> | |||
<cert-to-name> | <cert-to-name> | |||
<id>2</id> | <id>2</id> | |||
<fingerprint>B3:4F:A1:8C:54</fingerprint> | <fingerprint>B3:4F:A1:8C:54</fingerprint> | |||
<map-type>x509c2n:specified</map-type> | <map-type>x509c2n:specified</map-type> | |||
skipping to change at page 24, line 10 ¶ | skipping to change at page 24, line 9 ¶ | |||
<local-definition> | <local-definition> | |||
<algorithm xmlns:ct="urn:ietf:params:xml:ns:yang:i\ | <algorithm xmlns:ct="urn:ietf:params:xml:ns:yang:i\ | |||
etf-crypto-types">ct:rsa2048</algorithm> | etf-crypto-types">ct:rsa2048</algorithm> | |||
<private-key>base64encodedvalue==</private-key> | <private-key>base64encodedvalue==</private-key> | |||
<public-key>base64encodedvalue==</public-key> | <public-key>base64encodedvalue==</public-key> | |||
<cert>base64encodedvalue==</cert> | <cert>base64encodedvalue==</cert> | |||
</local-definition> | </local-definition> | |||
</server-identity> | </server-identity> | |||
<client-authentication> | <client-authentication> | |||
<required/> | <required/> | |||
<pinned-ca-certs>explicitly-trusted-client-ca-certs<\ | <ca-certs>explicitly-trusted-client-ca-certs</ca-cer\ | |||
/pinned-ca-certs> | ts> | |||
<pinned-client-certs>explicitly-trusted-client-certs\ | <client-certs>explicitly-trusted-client-certs</clien\ | |||
</pinned-client-certs> | t-certs> | |||
<cert-maps> | <cert-maps> | |||
<cert-to-name> | <cert-to-name> | |||
<id>1</id> | <id>1</id> | |||
<fingerprint>11:0A:05:11:00</fingerprint> | <fingerprint>11:0A:05:11:00</fingerprint> | |||
<map-type>x509c2n:san-any</map-type> | <map-type>x509c2n:san-any</map-type> | |||
</cert-to-name> | </cert-to-name> | |||
<cert-to-name> | <cert-to-name> | |||
<id>2</id> | <id>2</id> | |||
<fingerprint>B3:4F:A1:8C:54</fingerprint> | <fingerprint>B3:4F:A1:8C:54</fingerprint> | |||
<map-type>x509c2n:specified</map-type> | <map-type>x509c2n:specified</map-type> | |||
skipping to change at page 25, line 11 ¶ | skipping to change at page 25, line 10 ¶ | |||
<local-definition> | <local-definition> | |||
<algorithm xmlns:ct="urn:ietf:params:xml:ns:yang:i\ | <algorithm xmlns:ct="urn:ietf:params:xml:ns:yang:i\ | |||
etf-crypto-types">ct:rsa2048</algorithm> | etf-crypto-types">ct:rsa2048</algorithm> | |||
<private-key>base64encodedvalue==</private-key> | <private-key>base64encodedvalue==</private-key> | |||
<public-key>base64encodedvalue==</public-key> | <public-key>base64encodedvalue==</public-key> | |||
<cert>base64encodedvalue==</cert> | <cert>base64encodedvalue==</cert> | |||
</local-definition> | </local-definition> | |||
</server-identity> | </server-identity> | |||
<client-authentication> | <client-authentication> | |||
<required/> | <required/> | |||
<pinned-ca-certs>explicitly-trusted-client-ca-certs<\ | <ca-certs>explicitly-trusted-client-ca-certs</ca-cer\ | |||
/pinned-ca-certs> | ts> | |||
<pinned-client-certs>explicitly-trusted-client-certs\ | <client-certs>explicitly-trusted-client-certs</clien\ | |||
</pinned-client-certs> | t-certs> | |||
<cert-maps> | <cert-maps> | |||
<cert-to-name> | <cert-to-name> | |||
<id>1</id> | <id>1</id> | |||
<fingerprint>11:0A:05:11:00</fingerprint> | <fingerprint>11:0A:05:11:00</fingerprint> | |||
<map-type>x509c2n:san-any</map-type> | <map-type>x509c2n:san-any</map-type> | |||
</cert-to-name> | </cert-to-name> | |||
<cert-to-name> | <cert-to-name> | |||
<id>2</id> | <id>2</id> | |||
<fingerprint>B3:4F:A1:8C:54</fingerprint> | <fingerprint>B3:4F:A1:8C:54</fingerprint> | |||
<map-type>x509c2n:specified</map-type> | <map-type>x509c2n:specified</map-type> | |||
skipping to change at page 26, line 10 ¶ | skipping to change at page 26, line 4 ¶ | |||
</reconnect-strategy> | </reconnect-strategy> | |||
</netconf-client> | </netconf-client> | |||
</call-home> | </call-home> | |||
</netconf-server> | </netconf-server> | |||
4.3. YANG Module | 4.3. YANG Module | |||
This YANG module has normative references to [RFC6242], [RFC6991], | This YANG module has normative references to [RFC6242], [RFC6991], | |||
[RFC7407], [RFC7589], [RFC8071], | [RFC7407], [RFC7589], [RFC8071], | |||
[I-D.kwatsen-netconf-tcp-client-server], | [I-D.kwatsen-netconf-tcp-client-server], | |||
[I-D.ietf-netconf-ssh-client-server], and | [I-D.ietf-netconf-ssh-client-server], and | |||
[I-D.ietf-netconf-tls-client-server]. | [I-D.ietf-netconf-tls-client-server]. | |||
<CODE BEGINS> file "ietf-netconf-server@2019-04-29.yang" | <CODE BEGINS> file "ietf-netconf-server@2019-06-07.yang" | |||
module ietf-netconf-server { | module ietf-netconf-server { | |||
yang-version 1.1; | yang-version 1.1; | |||
namespace "urn:ietf:params:xml:ns:yang:ietf-netconf-server"; | namespace "urn:ietf:params:xml:ns:yang:ietf-netconf-server"; | |||
prefix ncs; | prefix ncs; | |||
import ietf-yang-types { | import ietf-yang-types { | |||
prefix yang; | prefix yang; | |||
reference | reference | |||
"RFC 6991: Common YANG Data Types"; | "RFC 6991: Common YANG Data Types"; | |||
} | } | |||
skipping to change at page 26, line 45 ¶ | skipping to change at page 26, line 40 ¶ | |||
} | } | |||
import ietf-tcp-server { | import ietf-tcp-server { | |||
prefix tcps; | prefix tcps; | |||
reference | reference | |||
"RFC AAAA: YANG Groupings for TCP Clients and TCP Servers"; | "RFC AAAA: YANG Groupings for TCP Clients and TCP Servers"; | |||
} | } | |||
import ietf-ssh-server { | import ietf-ssh-server { | |||
prefix sshs; | prefix sshs; | |||
revision-date 2019-04-29; // stable grouping definitions | revision-date 2019-06-07; // stable grouping definitions | |||
reference | reference | |||
"RFC BBBB: YANG Groupings for SSH Clients and SSH Servers"; | "RFC BBBB: YANG Groupings for SSH Clients and SSH Servers"; | |||
} | } | |||
import ietf-tls-server { | import ietf-tls-server { | |||
prefix tlss; | prefix tlss; | |||
revision-date 2019-04-29; // stable grouping definitions | revision-date 2019-06-07; // stable grouping definitions | |||
reference | reference | |||
"RFC CCCC: YANG Groupings for TLS Clients and TLS Servers"; | "RFC CCCC: YANG Groupings for TLS Clients and TLS Servers"; | |||
} | } | |||
organization | organization | |||
"IETF NETCONF (Network Configuration) Working Group"; | "IETF NETCONF (Network Configuration) Working Group"; | |||
contact | contact | |||
"WG Web: <http://datatracker.ietf.org/wg/netconf/> | "WG Web: <http://datatracker.ietf.org/wg/netconf/> | |||
WG List: <mailto:netconf@ietf.org> | WG List: <mailto:netconf@ietf.org> | |||
skipping to change at page 27, line 43 ¶ | skipping to change at page 27, line 38 ¶ | |||
(https://www.rfc-editor.org/info/rfcXXXX); see the RFC | (https://www.rfc-editor.org/info/rfcXXXX); see the RFC | |||
itself for full legal notices.; | itself for full legal notices.; | |||
The key words 'MUST', 'MUST NOT', 'REQUIRED', 'SHALL', | The key words 'MUST', 'MUST NOT', 'REQUIRED', 'SHALL', | |||
'SHALL NOT', 'SHOULD', 'SHOULD NOT', 'RECOMMENDED', | 'SHALL NOT', 'SHOULD', 'SHOULD NOT', 'RECOMMENDED', | |||
'NOT RECOMMENDED', 'MAY', and 'OPTIONAL' in this document | 'NOT RECOMMENDED', 'MAY', and 'OPTIONAL' in this document | |||
are to be interpreted as described in BCP 14 (RFC 2119) | are to be interpreted as described in BCP 14 (RFC 2119) | |||
(RFC 8174) when, and only when, they appear in all | (RFC 8174) when, and only when, they appear in all | |||
capitals, as shown here."; | capitals, as shown here."; | |||
revision 2019-04-29 { | revision 2019-06-07 { | |||
description | description | |||
"Initial version"; | "Initial version"; | |||
reference | reference | |||
"RFC XXXX: NETCONF Client and Server Models"; | "RFC XXXX: NETCONF Client and Server Models"; | |||
} | } | |||
// Features | // Features | |||
feature ssh-listen { | feature ssh-listen { | |||
description | description | |||
"The 'ssh-listen' feature indicates that the NETCONF server | "The 'ssh-listen' feature indicates that the NETCONF server | |||
supports opening a port to accept NETCONF over SSH | supports opening a port to accept NETCONF over SSH | |||
client connections."; | client connections."; | |||
reference | reference | |||
"RFC 6242: | "RFC 6242: | |||
Using the NETCONF Protocol over Secure Shell (SSH)"; | Using the NETCONF Protocol over Secure Shell (SSH)"; | |||
} | } | |||
feature tls-listen { | feature tls-listen { | |||
description | description | |||
"The 'tls-listen' feature indicates that the NETCONF server | "The 'tls-listen' feature indicates that the NETCONF server | |||
supports opening a port to accept NETCONF over TLS | supports opening a port to accept NETCONF over TLS | |||
client connections."; | client connections."; | |||
skipping to change at page 30, line 42 ¶ | skipping to change at page 30, line 36 ¶ | |||
is specified."; | is specified."; | |||
} | } | |||
} | } | |||
} | } | |||
container tls-server-parameters { | container tls-server-parameters { | |||
description | description | |||
"A wrapper around the TLS server parameters to | "A wrapper around the TLS server parameters to | |||
avoid name collisions."; | avoid name collisions."; | |||
uses tlss:tls-server-grouping { | uses tlss:tls-server-grouping { | |||
refine "client-authentication" { | refine "client-authentication" { | |||
//must 'pinned-ca-certs or pinned-client-certs'; | //must 'ca-certs or client-certs'; | |||
description | description | |||
"NETCONF/TLS servers MUST validate client | "NETCONF/TLS servers MUST validate client | |||
certificates."; | certificates."; | |||
} | } | |||
augment "client-authentication" { | augment "client-authentication" { | |||
description | description | |||
"Augments in the cert-to-name structure."; | "Augments in the cert-to-name structure."; | |||
container cert-maps { | container cert-maps { | |||
uses x509c2n:cert-to-name; | uses x509c2n:cert-to-name; | |||
description | description | |||
skipping to change at page 33, line 21 ¶ | skipping to change at page 33, line 16 ¶ | |||
} | } | |||
} | } | |||
} | } | |||
container tls-server-parameters { | container tls-server-parameters { | |||
description | description | |||
"A wrapper around the TLS server parameters | "A wrapper around the TLS server parameters | |||
to avoid name collisions."; | to avoid name collisions."; | |||
uses tlss:tls-server-grouping { | uses tlss:tls-server-grouping { | |||
refine "client-authentication" { | refine "client-authentication" { | |||
/* commented out since auth could be external | /* commented out since auth could be external | |||
must 'pinned-ca-certs or pinned-client-certs'; | must 'ca-certs or client-certs'; | |||
*/ | */ | |||
description | description | |||
"NETCONF/TLS servers MUST validate client | "NETCONF/TLS servers MUST validate client | |||
certificates."; | certificates."; | |||
} | } | |||
augment "client-authentication" { | augment "client-authentication" { | |||
description | description | |||
"Augments in the cert-to-name structure."; | "Augments in the cert-to-name structure."; | |||
container cert-maps { | container cert-maps { | |||
uses x509c2n:cert-to-name; | uses x509c2n:cert-to-name; | |||
skipping to change at page 38, line 46 ¶ | skipping to change at page 38, line 43 ¶ | |||
namespace: urn:ietf:params:xml:ns:yang:ietf-netconf-server | namespace: urn:ietf:params:xml:ns:yang:ietf-netconf-server | |||
prefix: ncs | prefix: ncs | |||
reference: RFC XXXX | reference: RFC XXXX | |||
7. References | 7. References | |||
7.1. Normative References | 7.1. Normative References | |||
[I-D.ietf-netconf-keystore] | [I-D.ietf-netconf-keystore] | |||
Watsen, K., "YANG Data Model for a Centralized Keystore | Watsen, K., "YANG Data Model for a Centralized Keystore | |||
Mechanism", draft-ietf-netconf-keystore-08 (work in | Mechanism", draft-ietf-netconf-keystore-09 (work in | |||
progress), March 2019. | progress), April 2019. | |||
[I-D.ietf-netconf-ssh-client-server] | [I-D.ietf-netconf-ssh-client-server] | |||
Watsen, K., Wu, G., and L. Xia, "YANG Groupings for SSH | Watsen, K., Wu, G., and L. Xia, "YANG Groupings for SSH | |||
Clients and SSH Servers", draft-ietf-netconf-ssh-client- | Clients and SSH Servers", draft-ietf-netconf-ssh-client- | |||
server-12 (work in progress), April 2019. | server-13 (work in progress), April 2019. | |||
[I-D.ietf-netconf-tls-client-server] | [I-D.ietf-netconf-tls-client-server] | |||
Watsen, K., Wu, G., and L. Xia, "YANG Groupings for TLS | Watsen, K., Wu, G., and L. Xia, "YANG Groupings for TLS | |||
Clients and TLS Servers", draft-ietf-netconf-tls-client- | Clients and TLS Servers", draft-ietf-netconf-tls-client- | |||
server-11 (work in progress), April 2019. | server-12 (work in progress), April 2019. | |||
[I-D.kwatsen-netconf-tcp-client-server] | [I-D.kwatsen-netconf-tcp-client-server] | |||
Watsen, K., "YANG Groupings for TCP Clients and TCP | Watsen, K. and M. Scharf, "YANG Groupings for TCP Clients | |||
Servers", draft-kwatsen-netconf-tcp-client-server-01 (work | and TCP Servers", draft-kwatsen-netconf-tcp-client- | |||
in progress), April 2019. | server-02 (work in progress), April 2019. | |||
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate | [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate | |||
Requirement Levels", BCP 14, RFC 2119, | Requirement Levels", BCP 14, RFC 2119, | |||
DOI 10.17487/RFC2119, March 1997, | DOI 10.17487/RFC2119, March 1997, | |||
<https://www.rfc-editor.org/info/rfc2119>. | <https://www.rfc-editor.org/info/rfc2119>. | |||
[RFC6020] Bjorklund, M., Ed., "YANG - A Data Modeling Language for | [RFC6020] Bjorklund, M., Ed., "YANG - A Data Modeling Language for | |||
the Network Configuration Protocol (NETCONF)", RFC 6020, | the Network Configuration Protocol (NETCONF)", RFC 6020, | |||
DOI 10.17487/RFC6020, October 2010, | DOI 10.17487/RFC6020, October 2010, | |||
<https://www.rfc-editor.org/info/rfc6020>. | <https://www.rfc-editor.org/info/rfc6020>. | |||
skipping to change at page 40, line 13 ¶ | skipping to change at page 40, line 13 ¶ | |||
<https://www.rfc-editor.org/info/rfc7950>. | <https://www.rfc-editor.org/info/rfc7950>. | |||
[RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC | [RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC | |||
2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, | 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, | |||
May 2017, <https://www.rfc-editor.org/info/rfc8174>. | May 2017, <https://www.rfc-editor.org/info/rfc8174>. | |||
7.2. Informative References | 7.2. Informative References | |||
[I-D.ietf-netconf-trust-anchors] | [I-D.ietf-netconf-trust-anchors] | |||
Watsen, K., "YANG Data Model for Global Trust Anchors", | Watsen, K., "YANG Data Model for Global Trust Anchors", | |||
draft-ietf-netconf-trust-anchors-03 (work in progress), | draft-ietf-netconf-trust-anchors-04 (work in progress), | |||
March 2019. | April 2019. | |||
[RFC3688] Mealling, M., "The IETF XML Registry", BCP 81, RFC 3688, | [RFC3688] Mealling, M., "The IETF XML Registry", BCP 81, RFC 3688, | |||
DOI 10.17487/RFC3688, January 2004, | DOI 10.17487/RFC3688, January 2004, | |||
<https://www.rfc-editor.org/info/rfc3688>. | <https://www.rfc-editor.org/info/rfc3688>. | |||
[RFC8040] Bierman, A., Bjorklund, M., and K. Watsen, "RESTCONF | [RFC8040] Bierman, A., Bjorklund, M., and K. Watsen, "RESTCONF | |||
Protocol", RFC 8040, DOI 10.17487/RFC8040, January 2017, | Protocol", RFC 8040, DOI 10.17487/RFC8040, January 2017, | |||
<https://www.rfc-editor.org/info/rfc8040>. | <https://www.rfc-editor.org/info/rfc8040>. | |||
[RFC8071] Watsen, K., "NETCONF Call Home and RESTCONF Call Home", | [RFC8071] Watsen, K., "NETCONF Call Home and RESTCONF Call Home", | |||
skipping to change at page 41, line 35 ¶ | skipping to change at page 41, line 35 ¶ | |||
| +--rw endpoints | | +--rw endpoints | |||
| | +--rw endpoint* [name] | | | +--rw endpoint* [name] | |||
| | +--rw name string | | | +--rw name string | |||
| | +--rw (transport) | | | +--rw (transport) | |||
| | +--:(ssh) {ssh-initiate}? | | | +--:(ssh) {ssh-initiate}? | |||
| | | +--rw ssh | | | | +--rw ssh | |||
| | | +--rw tcp-client-parameters | | | | +--rw tcp-client-parameters | |||
| | | | +--rw remote-address inet:host | | | | | +--rw remote-address inet:host | |||
| | | | +--rw remote-port? inet:port-number | | | | | +--rw remote-port? inet:port-number | |||
| | | | +--rw local-address? inet:ip-address | | | | | +--rw local-address? inet:ip-address | |||
| | | | | {local-binding-supported}? | ||||
| | | | +--rw local-port? inet:port-number | | | | | +--rw local-port? inet:port-number | |||
| | | | | {local-binding-supported}? | ||||
| | | | +--rw keepalives! | | | | | +--rw keepalives! | |||
| | | | {keepalives-supported}? | ||||
| | | | +--rw idle-time uint16 | | | | | +--rw idle-time uint16 | |||
| | | | +--rw max-probes uint16 | | | | | +--rw max-probes uint16 | |||
| | | | +--rw probe-interval uint16 | | | | | +--rw probe-interval uint16 | |||
| | | +--rw ssh-client-parameters | | | | +--rw ssh-client-parameters | |||
| | | +--rw client-identity | | | | +--rw client-identity | |||
| | | | +--rw username? string | | | | | +--rw username? string | |||
| | | | +--rw (auth-type) | | | | | +--rw (auth-type) | |||
| | | | +--:(password) | | | | | +--:(password) | |||
| | | | | +--rw password? string | | | | | | +--rw password? string | |||
| | | | +--:(public-key) | | | | | +--:(public-key) | |||
| | | | | +--rw public-key | | | | | | +--rw public-key | |||
| | | | | +--rw (local-or-keystore) | | | | | | +--rw (local-or-keystore) | |||
| | | | | +--:(local) | | | | | | +--:(local) | |||
| | | | | | {local-keys-sup\ | | | | | | | {local-definiti\ | |||
ported}? | ons-supported}? | |||
| | | | | | +--rw local-definition | | | | | | | +--rw local-definition | |||
| | | | | | +--rw algorithm? | | | | | | | +--rw algorithm | |||
| | | | | | | asymmetric\ | | | | | | | | asymmetric\ | |||
-key-algorithm-ref | -key-algorithm-ref | |||
| | | | | | +--rw public-key? | | | | | | | +--rw public-key | |||
| | | | | | | binary | | | | | | | | binary | |||
| | | | | | +--rw private-key? | | | | | | | +--rw private-key | |||
| | | | | | | union | | | | | | | union | |||
| | | | | | +---x generate-hid\ | ||||
den-key | ||||
| | | | | | | +---w input | ||||
| | | | | | | +---w algori\ | ||||
thm | ||||
| | | | | | | asym\ | ||||
metric-key-algorithm-ref | ||||
| | | | | | +---x install-hidd\ | ||||
en-key | ||||
| | | | | | +---w input | ||||
| | | | | | +---w algori\ | ||||
thm | ||||
| | | | | | | asym\ | ||||
metric-key-algorithm-ref | ||||
| | | | | | +---w public\ | ||||
-key? | ||||
| | | | | | | bina\ | ||||
ry | ||||
| | | | | | +---w privat\ | ||||
e-key? | ||||
| | | | | | bina\ | ||||
ry | ||||
| | | | | +--:(keystore) | | | | | | +--:(keystore) | |||
| | | | | {keystore-suppo\ | | | | | | {keystore-suppo\ | |||
rted}? | rted}? | |||
| | | | | +--rw keystore-refere\ | | | | | | +--rw keystore-refere\ | |||
nce? | nce? | |||
| | | | | ks:asymmetric\ | | | | | | ks:asymmetric\ | |||
-key-ref | -key-ref | |||
| | | | +--:(certificate) | | | | | +--:(certificate) | |||
| | | | +--rw certificate | | | | | +--rw certificate | |||
| | | | {sshcmn:ssh-x509-certs\ | | | | | {sshcmn:ssh-x509-certs\ | |||
}? | }? | |||
| | | | +--rw (local-or-keystore) | | | | | +--rw (local-or-keystore) | |||
| | | | +--:(local) | | | | | +--:(local) | |||
| | | | | {local-keys-sup\ | | | | | | {local-definiti\ | |||
ported}? | ons-supported}? | |||
| | | | | +--rw local-definition | | | | | | +--rw local-definition | |||
| | | | | +--rw algorithm? | | | | | | +--rw algorithm | |||
| | | | | | asymmetric\ | | | | | | | asymmetric\ | |||
-key-algorithm-ref | -key-algorithm-ref | |||
| | | | | +--rw public-key? | | | | | | +--rw public-key | |||
| | | | | | binary | | | | | | | binary | |||
| | | | | +--rw private-key? | | | | | | +--rw private-key | |||
| | | | | | union | | | | | | | union | |||
| | | | | +---x generate-hid\ | ||||
den-key | ||||
| | | | | | +---w input | ||||
| | | | | | +---w algori\ | ||||
thm | ||||
| | | | | | asym\ | ||||
metric-key-algorithm-ref | ||||
| | | | | +---x install-hidd\ | ||||
en-key | ||||
| | | | | | +---w input | ||||
| | | | | | +---w algori\ | ||||
thm | ||||
| | | | | | | asym\ | ||||
metric-key-algorithm-ref | ||||
| | | | | | +---w public\ | ||||
-key? | ||||
| | | | | | | bina\ | ||||
ry | ||||
| | | | | | +---w privat\ | ||||
e-key? | ||||
| | | | | | bina\ | ||||
ry | ||||
| | | | | +--rw cert? | | | | | | +--rw cert? | |||
| | | | | | end-entity\ | | | | | | | end-entity\ | |||
-cert-cms | -cert-cms | |||
| | | | | +---n certificate-\ | | | | | | +---n certificate-\ | |||
expiration | expiration | |||
| | | | | +-- expiration-\ | | | | | | | +-- expiration-\ | |||
date | date | |||
| | | | | yang:da\ | | | | | | | yang:da\ | |||
te-and-time | te-and-time | |||
| | | | | +---x generate-cer\ | ||||
tificate-signing-request | ||||
| | | | | +---w input | ||||
| | | | | | +---w subject | ||||
| | | | | | | bina\ | ||||
ry | ||||
| | | | | | +---w attrib\ | ||||
utes? | ||||
| | | | | | bina\ | ||||
ry | ||||
| | | | | +--ro output | ||||
| | | | | +--ro certif\ | ||||
icate-signing-request | ||||
| | | | | bina\ | ||||
ry | ||||
| | | | +--:(keystore) | | | | | +--:(keystore) | |||
| | | | {keystore-suppo\ | | | | | {keystore-suppo\ | |||
rted}? | rted}? | |||
| | | | +--rw keystore-refere\ | | | | | +--rw keystore-refere\ | |||
nce? | nce? | |||
| | | | ks:asymmetric\ | | | | | ks:asymmetric\ | |||
-key-certificate-ref | -key-certificate-ref | |||
| | | +--rw server-authentication | | | | +--rw server-authentication | |||
| | | | +--rw pinned-ssh-host-keys? | | | | | +--rw ssh-host-keys? | |||
| | | | | ta:pinned-host-keys-ref | | | | | | ts:host-keys-ref | |||
| | | | | {ta:ssh-host-keys}? | | | | | | {ts:ssh-host-keys}? | |||
| | | | +--rw pinned-ca-certs? | | | | | +--rw ca-certs? | |||
| | | | | ta:pinned-certificates-ref | | | | | | ts:certificates-ref | |||
| | | | | {sshcmn:ssh-x509-certs,ta:x5\ | | | | | | {sshcmn:ssh-x509-certs,ts:x5\ | |||
09-certificates}? | 09-certificates}? | |||
| | | | +--rw pinned-server-certs? | | | | | +--rw server-certs? | |||
| | | | ta:pinned-certificates-ref | | | | | ts:certificates-ref | |||
| | | | {sshcmn:ssh-x509-certs,ta:x5\ | | | | | {sshcmn:ssh-x509-certs,ts:x5\ | |||
09-certificates}? | 09-certificates}? | |||
| | | +--rw transport-params | | | | +--rw transport-params | |||
| | | | {ssh-client-transport-params-co\ | | | | | {ssh-client-transport-params-co\ | |||
nfig}? | nfig}? | |||
| | | | +--rw host-key | | | | | +--rw host-key | |||
| | | | | +--rw host-key-alg* identityref | | | | | | +--rw host-key-alg* identityref | |||
| | | | +--rw key-exchange | | | | | +--rw key-exchange | |||
| | | | | +--rw key-exchange-alg* | | | | | | +--rw key-exchange-alg* | |||
| | | | | identityref | | | | | | identityref | |||
| | | | +--rw encryption | | | | | +--rw encryption | |||
skipping to change at page 44, line 33 ¶ | skipping to change at page 44, line 7 ¶ | |||
| | | +--rw keepalives! | | | | +--rw keepalives! | |||
| | | {ssh-client-keepalives}? | | | | {ssh-client-keepalives}? | |||
| | | +--rw max-wait? uint16 | | | | +--rw max-wait? uint16 | |||
| | | +--rw max-attempts? uint8 | | | | +--rw max-attempts? uint8 | |||
| | +--:(tls) {tls-initiate}? | | | +--:(tls) {tls-initiate}? | |||
| | +--rw tls | | | +--rw tls | |||
| | +--rw tcp-client-parameters | | | +--rw tcp-client-parameters | |||
| | | +--rw remote-address inet:host | | | | +--rw remote-address inet:host | |||
| | | +--rw remote-port? inet:port-number | | | | +--rw remote-port? inet:port-number | |||
| | | +--rw local-address? inet:ip-address | | | | +--rw local-address? inet:ip-address | |||
| | | | {local-binding-supported}? | ||||
| | | +--rw local-port? inet:port-number | | | | +--rw local-port? inet:port-number | |||
| | | | {local-binding-supported}? | ||||
| | | +--rw keepalives! | | | | +--rw keepalives! | |||
| | | {keepalives-supported}? | ||||
| | | +--rw idle-time uint16 | | | | +--rw idle-time uint16 | |||
| | | +--rw max-probes uint16 | | | | +--rw max-probes uint16 | |||
| | | +--rw probe-interval uint16 | | | | +--rw probe-interval uint16 | |||
| | +--rw tls-client-parameters | | | +--rw tls-client-parameters | |||
| | +--rw client-identity | | | +--rw client-identity | |||
| | | +--rw (auth-type) | | | | +--rw (auth-type) | |||
| | | +--:(certificate) | | | | +--:(certificate) | |||
| | | +--rw certificate | | | | +--rw certificate | |||
| | | +--rw (local-or-keystore) | | | | +--rw (local-or-keystore) | |||
| | | +--:(local) | | | | +--:(local) | |||
| | | | {local-keys-sup\ | | | | | {local-definiti\ | |||
ported}? | ons-supported}? | |||
| | | | +--rw local-definition | | | | | +--rw local-definition | |||
| | | | +--rw algorithm? | | | | | +--rw algorithm | |||
| | | | | asymmetric\ | | | | | | asymmetric\ | |||
-key-algorithm-ref | -key-algorithm-ref | |||
| | | | +--rw public-key? | | | | | +--rw public-key | |||
| | | | | binary | | | | | | binary | |||
| | | | +--rw private-key? | | | | | +--rw private-key | |||
| | | | | union | | | | | | union | |||
| | | | +---x generate-hid\ | ||||
den-key | ||||
| | | | | +---w input | ||||
| | | | | +---w algori\ | ||||
thm | ||||
| | | | | asym\ | ||||
metric-key-algorithm-ref | ||||
| | | | +---x install-hidd\ | ||||
en-key | ||||
| | | | | +---w input | ||||
| | | | | +---w algori\ | ||||
thm | ||||
| | | | | | asym\ | ||||
metric-key-algorithm-ref | ||||
| | | | | +---w public\ | ||||
-key? | ||||
| | | | | | bina\ | ||||
ry | ||||
| | | | | +---w privat\ | ||||
e-key? | ||||
| | | | | bina\ | ||||
ry | ||||
| | | | +--rw cert? | | | | | +--rw cert? | |||
| | | | | end-entity\ | | | | | | end-entity\ | |||
-cert-cms | -cert-cms | |||
| | | | +---n certificate-\ | | | | | +---n certificate-\ | |||
expiration | expiration | |||
| | | | +-- expiration-\ | | | | | | +-- expiration-\ | |||
date | date | |||
| | | | yang:da\ | | | | | | yang:da\ | |||
te-and-time | te-and-time | |||
| | | | +---x generate-cer\ | ||||
tificate-signing-request | ||||
| | | | +---w input | ||||
| | | | | +---w subject | ||||
| | | | | | bina\ | ||||
ry | ||||
| | | | | +---w attrib\ | ||||
utes? | ||||
| | | | | bina\ | ||||
ry | ||||
| | | | +--ro output | ||||
| | | | +--ro certif\ | ||||
icate-signing-request | ||||
| | | | bina\ | ||||
ry | ||||
| | | +--:(keystore) | | | | +--:(keystore) | |||
| | | {keystore-suppo\ | | | | {keystore-suppo\ | |||
rted}? | rted}? | |||
| | | +--rw keystore-refere\ | | | | +--rw keystore-refere\ | |||
nce? | nce? | |||
| | | ks:asymmetric\ | | | | ks:asymmetric\ | |||
-key-certificate-ref | -key-certificate-ref | |||
| | +--rw server-authentication | | | +--rw server-authentication | |||
| | | +--rw pinned-ca-certs? | | | | +--rw ca-certs? | |||
| | | | ta:pinned-certificates-ref | | | | | ts:certificates-ref | |||
| | | | {ta:x509-certificates}? | | | | | {ts:x509-certificates}? | |||
| | | +--rw pinned-server-certs? | | | | +--rw server-certs? | |||
| | | ta:pinned-certificates-ref | | | | ts:certificates-ref | |||
| | | {ta:x509-certificates}? | | | | {ts:x509-certificates}? | |||
| | +--rw hello-params | | | +--rw hello-params | |||
| | | {tls-client-hello-params-config\ | | | | {tls-client-hello-params-config\ | |||
}? | }? | |||
| | | +--rw tls-versions | | | | +--rw tls-versions | |||
| | | | +--rw tls-version* identityref | | | | | +--rw tls-version* identityref | |||
| | | +--rw cipher-suites | | | | +--rw cipher-suites | |||
| | | +--rw cipher-suite* identityref | | | | +--rw cipher-suite* identityref | |||
| | +--rw keepalives! | | | +--rw keepalives! | |||
| | {tls-client-keepalives}? | | | {tls-client-keepalives}? | |||
| | +--rw max-wait? uint16 | | | +--rw max-wait? uint16 | |||
skipping to change at page 46, line 35 ¶ | skipping to change at page 46, line 5 ¶ | |||
| +--rw start-with? enumeration | | +--rw start-with? enumeration | |||
| +--rw max-attempts? uint8 | | +--rw max-attempts? uint8 | |||
+--rw listen! {ssh-listen or tls-listen}? | +--rw listen! {ssh-listen or tls-listen}? | |||
+--rw idle-timeout? uint16 | +--rw idle-timeout? uint16 | |||
+--rw endpoint* [name] | +--rw endpoint* [name] | |||
+--rw name string | +--rw name string | |||
+--rw (transport) | +--rw (transport) | |||
+--:(ssh) {ssh-listen}? | +--:(ssh) {ssh-listen}? | |||
| +--rw ssh | | +--rw ssh | |||
| +--rw tcp-server-parameters | | +--rw tcp-server-parameters | |||
| | +--rw local-address inet:ip-address | | | +--rw local-address | |||
| | +--rw local-port? inet:port-number | | | | inet:ip-address | |||
| | +--rw keepalives! | | | +--rw local-port? | |||
| | +--rw idle-time uint16 | | | | inet:port-number | |||
| | +--rw max-probes uint16 | | | +--rw keepalives! {keepalives-supported}? | |||
| | +--rw probe-interval uint16 | | | | +--rw idle-time uint16 | |||
| | | +--rw max-probes uint16 | ||||
| | | +--rw probe-interval uint16 | ||||
| | +--rw external-endpoint-values! | ||||
| | {external-endpoints}? | ||||
| | +--rw address inet:ip-address | ||||
| | +--rw port? inet:port-number | ||||
| +--rw ssh-client-parameters | | +--rw ssh-client-parameters | |||
| +--rw client-identity | | +--rw client-identity | |||
| | +--rw username? string | | | +--rw username? string | |||
| | +--rw (auth-type) | | | +--rw (auth-type) | |||
| | +--:(password) | | | +--:(password) | |||
| | | +--rw password? string | | | | +--rw password? string | |||
| | +--:(public-key) | | | +--:(public-key) | |||
| | | +--rw public-key | | | | +--rw public-key | |||
| | | +--rw (local-or-keystore) | | | | +--rw (local-or-keystore) | |||
| | | +--:(local) | | | | +--:(local) | |||
| | | | {local-keys-supported\ | | | | | {local-definitions-su\ | |||
pported}? | ||||
}? | ||||
| | | | +--rw local-definition | | | | | +--rw local-definition | |||
| | | | +--rw algorithm? | | | | | +--rw algorithm | |||
| | | | | asymmetric-key-a\ | | | | | | asymmetric-key-a\ | |||
lgorithm-ref | lgorithm-ref | |||
| | | | +--rw public-key? | | | | | +--rw public-key | |||
| | | | | binary | | | | | | binary | |||
| | | | +--rw private-key? | | | | | +--rw private-key | |||
| | | | | union | | | | | union | |||
| | | | +---x generate-hidden-key | ||||
| | | | | +---w input | ||||
| | | | | +---w algorithm | ||||
| | | | | asymmetric\ | ||||
-key-algorithm-ref | ||||
| | | | +---x install-hidden-key | ||||
| | | | +---w input | ||||
| | | | +---w algorithm | ||||
| | | | | asymmetric\ | ||||
-key-algorithm-ref | ||||
| | | | +---w public-key? | ||||
| | | | | binary | ||||
| | | | +---w private-key? | ||||
| | | | binary | ||||
| | | +--:(keystore) | | | | +--:(keystore) | |||
| | | {keystore-supported}? | | | | {keystore-supported}? | |||
| | | +--rw keystore-reference? | | | | +--rw keystore-reference? | |||
| | | ks:asymmetric-key-r\ | | | | ks:asymmetric-key-r\ | |||
ef | ef | |||
| | +--:(certificate) | | | +--:(certificate) | |||
| | +--rw certificate | | | +--rw certificate | |||
| | {sshcmn:ssh-x509-certs}? | | | {sshcmn:ssh-x509-certs}? | |||
| | +--rw (local-or-keystore) | | | +--rw (local-or-keystore) | |||
| | +--:(local) | | | +--:(local) | |||
| | | {local-keys-supported\ | | | | {local-definitions-su\ | |||
}? | pported}? | |||
| | | +--rw local-definition | | | | +--rw local-definition | |||
| | | +--rw algorithm? | | | | +--rw algorithm | |||
| | | | asymmetric-key-a\ | | | | | asymmetric-key-a\ | |||
lgorithm-ref | lgorithm-ref | |||
| | | +--rw public-key? | | | | +--rw public-key | |||
| | | | binary | | | | | binary | |||
| | | +--rw private-key? | | | | +--rw private-key | |||
| | | | union | | | | | union | |||
| | | +---x generate-hidden-key | ||||
| | | | +---w input | ||||
| | | | +---w algorithm | ||||
| | | | asymmetric\ | ||||
-key-algorithm-ref | ||||
| | | +---x install-hidden-key | ||||
| | | | +---w input | ||||
| | | | +---w algorithm | ||||
| | | | | asymmetric\ | ||||
-key-algorithm-ref | ||||
| | | | +---w public-key? | ||||
| | | | | binary | ||||
| | | | +---w private-key? | ||||
| | | | binary | ||||
| | | +--rw cert? | | | | +--rw cert? | |||
| | | | end-entity-cert-\ | | | | | end-entity-cert-\ | |||
cms | cms | |||
| | | +---n certificate-expira\ | | | | +---n certificate-expira\ | |||
tion | tion | |||
| | | +-- expiration-date | | | | | +-- expiration-date | |||
| | | yang:date-and\ | | | | | yang:date-and\ | |||
-time | -time | |||
| | | +---x generate-certifica\ | ||||
te-signing-request | ||||
| | | +---w input | ||||
| | | | +---w subject | ||||
| | | | | binary | ||||
| | | | +---w attributes? | ||||
| | | | binary | ||||
| | | +--ro output | ||||
| | | +--ro certificate-\ | ||||
signing-request | ||||
| | | binary | ||||
| | +--:(keystore) | | | +--:(keystore) | |||
| | {keystore-supported}? | | | {keystore-supported}? | |||
| | +--rw keystore-reference? | | | +--rw keystore-reference? | |||
| | ks:asymmetric-key-c\ | | | ks:asymmetric-key-c\ | |||
ertificate-ref | ertificate-ref | |||
| +--rw server-authentication | | +--rw server-authentication | |||
| | +--rw pinned-ssh-host-keys? | | | +--rw ssh-host-keys? ts:host-keys-ref | |||
| | | ta:pinned-host-keys-ref | | | | {ts:ssh-host-keys}? | |||
| | | {ta:ssh-host-keys}? | | | +--rw ca-certs? ts:certificates-ref | |||
| | +--rw pinned-ca-certs? | | | | {sshcmn:ssh-x509-certs,ts:x509-cer\ | |||
| | | ta:pinned-certificates-ref | ||||
| | | {sshcmn:ssh-x509-certs,ta:x509-cer\ | ||||
tificates}? | tificates}? | |||
| | +--rw pinned-server-certs? | | | +--rw server-certs? ts:certificates-ref | |||
| | ta:pinned-certificates-ref | | | {sshcmn:ssh-x509-certs,ts:x509-cer\ | |||
| | {sshcmn:ssh-x509-certs,ta:x509-cer\ | ||||
tificates}? | tificates}? | |||
| +--rw transport-params | | +--rw transport-params | |||
| | {ssh-client-transport-params-config}? | | | {ssh-client-transport-params-config}? | |||
| | +--rw host-key | | | +--rw host-key | |||
| | | +--rw host-key-alg* identityref | | | | +--rw host-key-alg* identityref | |||
| | +--rw key-exchange | | | +--rw key-exchange | |||
| | | +--rw key-exchange-alg* identityref | | | | +--rw key-exchange-alg* identityref | |||
| | +--rw encryption | | | +--rw encryption | |||
| | | +--rw encryption-alg* identityref | | | | +--rw encryption-alg* identityref | |||
| | +--rw mac | | | +--rw mac | |||
| | +--rw mac-alg* identityref | | | +--rw mac-alg* identityref | |||
| +--rw keepalives! {ssh-client-keepalives}? | | +--rw keepalives! {ssh-client-keepalives}? | |||
| +--rw max-wait? uint16 | | +--rw max-wait? uint16 | |||
| +--rw max-attempts? uint8 | | +--rw max-attempts? uint8 | |||
+--:(tls) {tls-listen}? | +--:(tls) {tls-listen}? | |||
+--rw tls | +--rw tls | |||
+--rw tcp-server-parameters | +--rw tcp-server-parameters | |||
| +--rw local-address inet:ip-address | | +--rw local-address | |||
| +--rw local-port? inet:port-number | | | inet:ip-address | |||
| +--rw keepalives! | | +--rw local-port? | |||
| +--rw idle-time uint16 | | | inet:port-number | |||
| +--rw max-probes uint16 | | +--rw keepalives! {keepalives-supported}? | |||
| +--rw probe-interval uint16 | | | +--rw idle-time uint16 | |||
| | +--rw max-probes uint16 | ||||
| | +--rw probe-interval uint16 | ||||
| +--rw external-endpoint-values! | ||||
| {external-endpoints}? | ||||
| +--rw address inet:ip-address | ||||
| +--rw port? inet:port-number | ||||
+--rw tls-client-parameters | +--rw tls-client-parameters | |||
+--rw client-identity | +--rw client-identity | |||
| +--rw (auth-type) | | +--rw (auth-type) | |||
| +--:(certificate) | | +--:(certificate) | |||
| +--rw certificate | | +--rw certificate | |||
| +--rw (local-or-keystore) | | +--rw (local-or-keystore) | |||
| +--:(local) | | +--:(local) | |||
| | {local-keys-supported\ | | | {local-definitions-su\ | |||
}? | pported}? | |||
| | +--rw local-definition | | | +--rw local-definition | |||
| | +--rw algorithm? | | | +--rw algorithm | |||
| | | asymmetric-key-a\ | | | | asymmetric-key-a\ | |||
lgorithm-ref | lgorithm-ref | |||
| | +--rw public-key? | | | +--rw public-key | |||
| | | binary | | | | binary | |||
| | +--rw private-key? | | | +--rw private-key | |||
| | | union | | | | union | |||
| | +---x generate-hidden-key | ||||
| | | +---w input | ||||
| | | +---w algorithm | ||||
| | | asymmetric\ | ||||
-key-algorithm-ref | ||||
| | +---x install-hidden-key | ||||
| | | +---w input | ||||
| | | +---w algorithm | ||||
| | | | asymmetric\ | ||||
-key-algorithm-ref | ||||
| | | +---w public-key? | ||||
| | | | binary | ||||
| | | +---w private-key? | ||||
| | | binary | ||||
| | +--rw cert? | | | +--rw cert? | |||
| | | end-entity-cert-\ | | | | end-entity-cert-\ | |||
cms | cms | |||
| | +---n certificate-expira\ | | | +---n certificate-expira\ | |||
tion | tion | |||
| | +-- expiration-date | | | | +-- expiration-date | |||
| | yang:date-and\ | | | | yang:date-and\ | |||
-time | -time | |||
| | +---x generate-certifica\ | ||||
te-signing-request | ||||
| | +---w input | ||||
| | | +---w subject | ||||
| | | | binary | ||||
| | | +---w attributes? | ||||
| | | binary | ||||
| | +--ro output | ||||
| | +--ro certificate-\ | ||||
signing-request | ||||
| | binary | ||||
| +--:(keystore) | | +--:(keystore) | |||
| {keystore-supported}? | | {keystore-supported}? | |||
| +--rw keystore-reference? | | +--rw keystore-reference? | |||
| ks:asymmetric-key-c\ | | ks:asymmetric-key-c\ | |||
ertificate-ref | ertificate-ref | |||
+--rw server-authentication | +--rw server-authentication | |||
| +--rw pinned-ca-certs? | | +--rw ca-certs? ts:certificates-ref | |||
| | ta:pinned-certificates-ref | | | {ts:x509-certificates}? | |||
| | {ta:x509-certificates}? | | +--rw server-certs? ts:certificates-ref | |||
| +--rw pinned-server-certs? | | {ts:x509-certificates}? | |||
| ta:pinned-certificates-ref | ||||
| {ta:x509-certificates}? | ||||
+--rw hello-params | +--rw hello-params | |||
| {tls-client-hello-params-config}? | | {tls-client-hello-params-config}? | |||
| +--rw tls-versions | | +--rw tls-versions | |||
| | +--rw tls-version* identityref | | | +--rw tls-version* identityref | |||
| +--rw cipher-suites | | +--rw cipher-suites | |||
| +--rw cipher-suite* identityref | | +--rw cipher-suite* identityref | |||
+--rw keepalives! {tls-client-keepalives}? | +--rw keepalives! {tls-client-keepalives}? | |||
+--rw max-wait? uint16 | +--rw max-wait? uint16 | |||
+--rw max-attempts? uint8 | +--rw max-attempts? uint8 | |||
skipping to change at page 50, line 48 ¶ | skipping to change at page 50, line 5 ¶ | |||
module: ietf-netconf-server | module: ietf-netconf-server | |||
+--rw netconf-server | +--rw netconf-server | |||
+--rw listen! {ssh-listen or tls-listen}? | +--rw listen! {ssh-listen or tls-listen}? | |||
| +--rw idle-timeout? uint16 | | +--rw idle-timeout? uint16 | |||
| +--rw endpoint* [name] | | +--rw endpoint* [name] | |||
| +--rw name string | | +--rw name string | |||
| +--rw (transport) | | +--rw (transport) | |||
| +--:(ssh) {ssh-listen}? | | +--:(ssh) {ssh-listen}? | |||
| | +--rw ssh | | | +--rw ssh | |||
| | +--rw tcp-server-parameters | | | +--rw tcp-server-parameters | |||
| | | +--rw local-address inet:ip-address | | | | +--rw local-address | |||
| | | +--rw local-port? inet:port-number | | | | | inet:ip-address | |||
| | | +--rw keepalives! | | | | +--rw local-port? | |||
| | | +--rw idle-time uint16 | | | | | inet:port-number | |||
| | | +--rw max-probes uint16 | | | | +--rw keepalives! {keepalives-supported}? | |||
| | | +--rw probe-interval uint16 | | | | | +--rw idle-time uint16 | |||
| | | | +--rw max-probes uint16 | ||||
| | | | +--rw probe-interval uint16 | ||||
| | | +--rw external-endpoint-values! | ||||
| | | {external-endpoints}? | ||||
| | | +--rw address inet:ip-address | ||||
| | | +--rw port? inet:port-number | ||||
| | +--rw ssh-server-parameters | | | +--rw ssh-server-parameters | |||
| | +--rw server-identity | | | +--rw server-identity | |||
| | | +--rw host-key* [name] | | | | +--rw host-key* [name] | |||
| | | +--rw name string | | | | +--rw name string | |||
| | | +--rw (host-key-type) | | | | +--rw (host-key-type) | |||
| | | +--:(public-key) | | | | +--:(public-key) | |||
| | | | +--rw public-key | | | | | +--rw public-key | |||
| | | | +--rw (local-or-keystore) | | | | | +--rw (local-or-keystore) | |||
| | | | +--:(local) | | | | | +--:(local) | |||
| | | | | {local-keys-suppor\ | | | | | | {local-definitions\ | |||
ted}? | -supported}? | |||
| | | | | +--rw local-definition | | | | | | +--rw local-definition | |||
| | | | | +--rw algorithm? | | | | | | +--rw algorithm | |||
| | | | | | asymmetric-ke\ | | | | | | | asymmetric-ke\ | |||
y-algorithm-ref | y-algorithm-ref | |||
| | | | | +--rw public-key? | | | | | | +--rw public-key | |||
| | | | | | binary | | | | | | | binary | |||
| | | | | +--rw private-key? | | | | | | +--rw private-key | |||
| | | | | | union | | | | | | union | |||
| | | | | +---x generate-hidden\ | ||||
-key | ||||
| | | | | | +---w input | ||||
| | | | | | +---w algorithm | ||||
| | | | | | asymmet\ | ||||
ric-key-algorithm-ref | ||||
| | | | | +---x install-hidden-\ | ||||
key | ||||
| | | | | +---w input | ||||
| | | | | +---w algorithm | ||||
| | | | | | asymmet\ | ||||
ric-key-algorithm-ref | ||||
| | | | | +---w public-ke\ | ||||
y? | ||||
| | | | | | binary | ||||
| | | | | +---w private-k\ | ||||
ey? | ||||
| | | | | binary | ||||
| | | | +--:(keystore) | | | | | +--:(keystore) | |||
| | | | {keystore-supporte\ | | | | | {keystore-supporte\ | |||
d}? | d}? | |||
| | | | +--rw keystore-reference? | | | | | +--rw keystore-reference? | |||
| | | | ks:asymmetric-ke\ | | | | | ks:asymmetric-ke\ | |||
y-ref | y-ref | |||
| | | +--:(certificate) | | | | +--:(certificate) | |||
| | | +--rw certificate | | | | +--rw certificate | |||
| | | {sshcmn:ssh-x509-certs}? | | | | {sshcmn:ssh-x509-certs}? | |||
| | | +--rw (local-or-keystore) | | | | +--rw (local-or-keystore) | |||
| | | +--:(local) | | | | +--:(local) | |||
| | | | {local-keys-suppor\ | | | | | {local-definitions\ | |||
ted}? | -supported}? | |||
| | | | +--rw local-definition | | | | | +--rw local-definition | |||
| | | | +--rw algorithm? | | | | | +--rw algorithm | |||
| | | | | asymmetric-ke\ | | | | | | asymmetric-ke\ | |||
y-algorithm-ref | y-algorithm-ref | |||
| | | | +--rw public-key? | | | | | +--rw public-key | |||
| | | | | binary | | | | | | binary | |||
| | | | +--rw private-key? | | | | | +--rw private-key | |||
| | | | | union | | | | | | union | |||
| | | | +---x generate-hidden\ | ||||
-key | ||||
| | | | | +---w input | ||||
| | | | | +---w algorithm | ||||
| | | | | asymmet\ | ||||
ric-key-algorithm-ref | ||||
| | | | +---x install-hidden-\ | ||||
key | ||||
| | | | | +---w input | ||||
| | | | | +---w algorithm | ||||
| | | | | | asymmet\ | ||||
ric-key-algorithm-ref | ||||
| | | | | +---w public-ke\ | ||||
y? | ||||
| | | | | | binary | ||||
| | | | | +---w private-k\ | ||||
ey? | ||||
| | | | | binary | ||||
| | | | +--rw cert? | | | | | +--rw cert? | |||
| | | | | end-entity-ce\ | | | | | | end-entity-ce\ | |||
rt-cms | rt-cms | |||
| | | | +---n certificate-exp\ | | | | | +---n certificate-exp\ | |||
iration | iration | |||
| | | | +-- expiration-date | | | | | | +-- expiration-date | |||
| | | | yang:date-\ | | | | | | yang:date-\ | |||
and-time | and-time | |||
| | | | +---x generate-certif\ | ||||
icate-signing-request | ||||
| | | | +---w input | ||||
| | | | | +---w subject | ||||
| | | | | | binary | ||||
| | | | | +---w attribute\ | ||||
s? | ||||
| | | | | binary | ||||
| | | | +--ro output | ||||
| | | | +--ro certifica\ | ||||
te-signing-request | ||||
| | | | binary | ||||
| | | +--:(keystore) | | | | +--:(keystore) | |||
| | | {keystore-supporte\ | | | | {keystore-supporte\ | |||
d}? | d}? | |||
| | | +--rw keystore-reference? | | | | +--rw keystore-reference? | |||
| | | ks:asymmetric-ke\ | | | | ks:asymmetric-ke\ | |||
y-certificate-ref | y-certificate-ref | |||
| | +--rw client-authentication | | | +--rw client-authentication | |||
| | | +--rw supported-authentication-methods | | | | +--rw supported-authentication-methods | |||
| | | | +--rw publickey? empty | | | | | +--rw publickey? empty | |||
| | | | +--rw passsword? empty | | | | | +--rw passsword? empty | |||
skipping to change at page 53, line 40 ¶ | skipping to change at page 52, line 27 ¶ | |||
| | | +--rw encryption | | | | +--rw encryption | |||
| | | | +--rw encryption-alg* identityref | | | | | +--rw encryption-alg* identityref | |||
| | | +--rw mac | | | | +--rw mac | |||
| | | +--rw mac-alg* identityref | | | | +--rw mac-alg* identityref | |||
| | +--rw keepalives! {ssh-server-keepalives}? | | | +--rw keepalives! {ssh-server-keepalives}? | |||
| | +--rw max-wait? uint16 | | | +--rw max-wait? uint16 | |||
| | +--rw max-attempts? uint8 | | | +--rw max-attempts? uint8 | |||
| +--:(tls) {tls-listen}? | | +--:(tls) {tls-listen}? | |||
| +--rw tls | | +--rw tls | |||
| +--rw tcp-server-parameters | | +--rw tcp-server-parameters | |||
| | +--rw local-address inet:ip-address | | | +--rw local-address | |||
| | +--rw local-port? inet:port-number | | | | inet:ip-address | |||
| | +--rw keepalives! | | | +--rw local-port? | |||
| | +--rw idle-time uint16 | | | | inet:port-number | |||
| | +--rw max-probes uint16 | | | +--rw keepalives! {keepalives-supported}? | |||
| | +--rw probe-interval uint16 | | | | +--rw idle-time uint16 | |||
| | | +--rw max-probes uint16 | ||||
| | | +--rw probe-interval uint16 | ||||
| | +--rw external-endpoint-values! | ||||
| | {external-endpoints}? | ||||
| | +--rw address inet:ip-address | ||||
| | +--rw port? inet:port-number | ||||
| +--rw tls-server-parameters | | +--rw tls-server-parameters | |||
| +--rw server-identity | | +--rw server-identity | |||
| | +--rw (local-or-keystore) | | | +--rw (local-or-keystore) | |||
| | +--:(local) {local-keys-supported}? | | | +--:(local) | |||
| | | {local-definitions-supported}? | ||||
| | | +--rw local-definition | | | | +--rw local-definition | |||
| | | +--rw algorithm? | | | | +--rw algorithm | |||
| | | | asymmetric-key-algorithm-\ | | | | | asymmetric-key-algorithm-\ | |||
ref | ref | |||
| | | +--rw public-key? | | | | +--rw public-key | |||
| | | | binary | | | | | binary | |||
| | | +--rw private-key? | | | | +--rw private-key | |||
| | | | union | | | | | union | |||
| | | +---x generate-hidden-key | ||||
| | | | +---w input | ||||
| | | | +---w algorithm | ||||
| | | | asymmetric-key-algo\ | ||||
rithm-ref | ||||
| | | +---x install-hidden-key | ||||
| | | | +---w input | ||||
| | | | +---w algorithm | ||||
| | | | | asymmetric-key-algo\ | ||||
rithm-ref | ||||
| | | | +---w public-key? binary | ||||
| | | | +---w private-key? binary | ||||
| | | +--rw cert? | | | | +--rw cert? | |||
| | | | end-entity-cert-cms | | | | | end-entity-cert-cms | |||
| | | +---n certificate-expiration | | | | +---n certificate-expiration | |||
| | | +-- expiration-date | | | | | +-- expiration-date | |||
| | | yang:date-and-time | | | | | yang:date-and-time | |||
| | | +---x generate-certificate-signin\ | ||||
g-request | ||||
| | | +---w input | ||||
| | | | +---w subject binary | ||||
| | | | +---w attributes? binary | ||||
| | | +--ro output | ||||
| | | +--ro certificate-signing-r\ | ||||
equest | ||||
| | | binary | ||||
| | +--:(keystore) {keystore-supported}? | | | +--:(keystore) {keystore-supported}? | |||
| | +--rw keystore-reference? | | | +--rw keystore-reference? | |||
| | ks:asymmetric-key-certificat\ | | | ks:asymmetric-key-certificat\ | |||
e-ref | e-ref | |||
| +--rw client-authentication! | | +--rw client-authentication! | |||
| | +--rw (required-or-optional) | | | +--rw (required-or-optional) | |||
| | | +--:(required) | | | | +--:(required) | |||
| | | | +--rw required? | | | | | +--rw required? | |||
| | | | empty | | | | | empty | |||
| | | +--:(optional) | | | | +--:(optional) | |||
| | | +--rw optional? | | | | +--rw optional? | |||
| | | empty | | | | empty | |||
| | +--rw (local-or-external) | | | +--rw (local-or-external) | |||
| | | +--:(local) | | | | +--:(local) | |||
| | | | {local-client-auth-supported}? | | | | | {local-client-auth-supported}? | |||
| | | | +--rw pinned-ca-certs? | | | | | +--rw ca-certs? | |||
| | | | | ta:pinned-certificates-ref | | | | | | ts:certificates-ref | |||
| | | | | {ta:x509-certificates}? | | | | | | {ts:x509-certificates}? | |||
| | | | +--rw pinned-client-certs? | | | | | +--rw client-certs? | |||
| | | | ta:pinned-certificates-ref | | | | | ts:certificates-ref | |||
| | | | {ta:x509-certificates}? | | | | | {ts:x509-certificates}? | |||
| | | +--:(external) | | | | +--:(external) | |||
| | | {external-client-auth-supporte\ | | | | {external-client-auth-supporte\ | |||
d}? | d}? | |||
| | | +--rw client-auth-defined-elsewhere? | | | | +--rw client-auth-defined-elsewhere? | |||
| | | empty | | | | empty | |||
| | +--rw cert-maps | | | +--rw cert-maps | |||
| | +--rw cert-to-name* [id] | | | +--rw cert-to-name* [id] | |||
| | +--rw id uint32 | | | +--rw id uint32 | |||
| | +--rw fingerprint | | | +--rw fingerprint | |||
| | | x509c2n:tls-fingerprint | | | | x509c2n:tls-fingerprint | |||
skipping to change at page 55, line 34 ¶ | skipping to change at page 54, line 25 ¶ | |||
+--rw endpoints | +--rw endpoints | |||
| +--rw endpoint* [name] | | +--rw endpoint* [name] | |||
| +--rw name string | | +--rw name string | |||
| +--rw (transport) | | +--rw (transport) | |||
| +--:(ssh) {ssh-call-home}? | | +--:(ssh) {ssh-call-home}? | |||
| | +--rw ssh | | | +--rw ssh | |||
| | +--rw tcp-client-parameters | | | +--rw tcp-client-parameters | |||
| | | +--rw remote-address inet:host | | | | +--rw remote-address inet:host | |||
| | | +--rw remote-port? inet:port-number | | | | +--rw remote-port? inet:port-number | |||
| | | +--rw local-address? inet:ip-address | | | | +--rw local-address? inet:ip-address | |||
| | | | {local-binding-supported}? | ||||
| | | +--rw local-port? inet:port-number | | | | +--rw local-port? inet:port-number | |||
| | | | {local-binding-supported}? | ||||
| | | +--rw keepalives! | | | | +--rw keepalives! | |||
| | | {keepalives-supported}? | ||||
| | | +--rw idle-time uint16 | | | | +--rw idle-time uint16 | |||
| | | +--rw max-probes uint16 | | | | +--rw max-probes uint16 | |||
| | | +--rw probe-interval uint16 | | | | +--rw probe-interval uint16 | |||
| | +--rw ssh-server-parameters | | | +--rw ssh-server-parameters | |||
| | +--rw server-identity | | | +--rw server-identity | |||
| | | +--rw host-key* [name] | | | | +--rw host-key* [name] | |||
| | | +--rw name string | | | | +--rw name string | |||
| | | +--rw (host-key-type) | | | | +--rw (host-key-type) | |||
| | | +--:(public-key) | | | | +--:(public-key) | |||
| | | | +--rw public-key | | | | | +--rw public-key | |||
| | | | +--rw (local-or-keystore) | | | | | +--rw (local-or-keystore) | |||
| | | | +--:(local) | | | | | +--:(local) | |||
| | | | | {local-keys-\ | | | | | | {local-defin\ | |||
supported}? | itions-supported}? | |||
| | | | | +--rw local-defini\ | | | | | | +--rw local-defini\ | |||
tion | tion | |||
| | | | | +--rw algorithm? | | | | | | +--rw algorithm | |||
| | | | | | asymmet\ | | | | | | | asymmet\ | |||
ric-key-algorithm-ref | ric-key-algorithm-ref | |||
| | | | | +--rw public-ke\ | | | | | | +--rw public-key | |||
y? | ||||
| | | | | | binary | | | | | | | binary | |||
| | | | | +--rw private-k\ | | | | | | +--rw private-k\ | |||
ey? | ||||
| | | | | | union | ey | |||
| | | | | +---x generate-\ | | | | | | union | |||
hidden-key | ||||
| | | | | | +---w input | ||||
| | | | | | +---w alg\ | ||||
orithm | ||||
| | | | | | a\ | ||||
symmetric-key-algorithm-ref | ||||
| | | | | +---x install-h\ | ||||
idden-key | ||||
| | | | | +---w input | ||||
| | | | | +---w alg\ | ||||
orithm | ||||
| | | | | | a\ | ||||
symmetric-key-algorithm-ref | ||||
| | | | | +---w pub\ | ||||
lic-key? | ||||
| | | | | | b\ | ||||
inary | ||||
| | | | | +---w pri\ | ||||
vate-key? | ||||
| | | | | b\ | ||||
inary | ||||
| | | | +--:(keystore) | | | | | +--:(keystore) | |||
| | | | {keystore-su\ | | | | | {keystore-su\ | |||
pported}? | pported}? | |||
| | | | +--rw keystore-ref\ | | | | | +--rw keystore-ref\ | |||
erence? | erence? | |||
| | | | ks:asymmet\ | | | | | ks:asymmet\ | |||
ric-key-ref | ric-key-ref | |||
| | | +--:(certificate) | | | | +--:(certificate) | |||
| | | +--rw certificate | | | | +--rw certificate | |||
| | | {sshcmn:ssh-x509-ce\ | | | | {sshcmn:ssh-x509-ce\ | |||
rts}? | rts}? | |||
| | | +--rw (local-or-keystore) | | | | +--rw (local-or-keystore) | |||
| | | +--:(local) | | | | +--:(local) | |||
| | | | {local-keys-\ | | | | | {local-defin\ | |||
supported}? | itions-supported}? | |||
| | | | +--rw local-defini\ | | | | | +--rw local-defini\ | |||
tion | tion | |||
| | | | +--rw algorithm? | | | | | +--rw algorithm | |||
| | | | | asymmet\ | | | | | | asymmet\ | |||
ric-key-algorithm-ref | ric-key-algorithm-ref | |||
| | | | +--rw public-ke\ | | | | | +--rw public-key | |||
y? | ||||
| | | | | binary | | | | | | binary | |||
| | | | +--rw private-k\ | | | | | +--rw private-k\ | |||
ey? | ey | |||
| | | | | union | | | | | | union | |||
| | | | +---x generate-\ | ||||
hidden-key | ||||
| | | | | +---w input | ||||
| | | | | +---w alg\ | ||||
orithm | ||||
| | | | | a\ | ||||
symmetric-key-algorithm-ref | ||||
| | | | +---x install-h\ | ||||
idden-key | ||||
| | | | | +---w input | ||||
| | | | | +---w alg\ | ||||
orithm | ||||
| | | | | | a\ | ||||
symmetric-key-algorithm-ref | ||||
| | | | | +---w pub\ | ||||
lic-key? | ||||
| | | | | | b\ | ||||
inary | ||||
| | | | | +---w pri\ | ||||
vate-key? | ||||
| | | | | b\ | ||||
inary | ||||
| | | | +--rw cert? | | | | | +--rw cert? | |||
| | | | | end-ent\ | | | | | | end-ent\ | |||
ity-cert-cms | ity-cert-cms | |||
| | | | +---n certifica\ | | | | | +---n certifica\ | |||
te-expiration | te-expiration | |||
| | | | +-- expirati\ | | | | | | +-- expirati\ | |||
on-date | on-date | |||
| | | | yang\ | | | | | | yang\ | |||
:date-and-time | :date-and-time | |||
| | | | +---x generate-\ | ||||
certificate-signing-request | ||||
| | | | +---w input | ||||
| | | | | +---w sub\ | ||||
ject | ||||
| | | | | | b\ | ||||
inary | ||||
| | | | | +---w att\ | ||||
ributes? | ||||
| | | | | b\ | ||||
inary | ||||
| | | | +--ro output | ||||
| | | | +--ro cer\ | ||||
tificate-signing-request | ||||
| | | | b\ | ||||
inary | ||||
| | | +--:(keystore) | | | | +--:(keystore) | |||
| | | {keystore-su\ | | | | {keystore-su\ | |||
pported}? | pported}? | |||
| | | +--rw keystore-ref\ | | | | +--rw keystore-ref\ | |||
erence? | erence? | |||
| | | ks:asymmet\ | | | | ks:asymmet\ | |||
ric-key-certificate-ref | ric-key-certificate-ref | |||
| | +--rw client-authentication | | | +--rw client-authentication | |||
| | | +--rw supported-authentication-metho\ | | | | +--rw supported-authentication-metho\ | |||
ds | ds | |||
skipping to change at page 59, line 10 ¶ | skipping to change at page 57, line 22 ¶ | |||
| | +--rw keepalives! | | | +--rw keepalives! | |||
| | {ssh-server-keepalives}? | | | {ssh-server-keepalives}? | |||
| | +--rw max-wait? uint16 | | | +--rw max-wait? uint16 | |||
| | +--rw max-attempts? uint8 | | | +--rw max-attempts? uint8 | |||
| +--:(tls) {tls-call-home}? | | +--:(tls) {tls-call-home}? | |||
| +--rw tls | | +--rw tls | |||
| +--rw tcp-client-parameters | | +--rw tcp-client-parameters | |||
| | +--rw remote-address inet:host | | | +--rw remote-address inet:host | |||
| | +--rw remote-port? inet:port-number | | | +--rw remote-port? inet:port-number | |||
| | +--rw local-address? inet:ip-address | | | +--rw local-address? inet:ip-address | |||
| | | {local-binding-supported}? | ||||
| | +--rw local-port? inet:port-number | | | +--rw local-port? inet:port-number | |||
| | | {local-binding-supported}? | ||||
| | +--rw keepalives! | | | +--rw keepalives! | |||
| | {keepalives-supported}? | ||||
| | +--rw idle-time uint16 | | | +--rw idle-time uint16 | |||
| | +--rw max-probes uint16 | | | +--rw max-probes uint16 | |||
| | +--rw probe-interval uint16 | | | +--rw probe-interval uint16 | |||
| +--rw tls-server-parameters | | +--rw tls-server-parameters | |||
| +--rw server-identity | | +--rw server-identity | |||
| | +--rw (local-or-keystore) | | | +--rw (local-or-keystore) | |||
| | +--:(local) | | | +--:(local) | |||
| | | {local-keys-supported}? | | | | {local-definitions-suppo\ | |||
rted}? | ||||
| | | +--rw local-definition | | | | +--rw local-definition | |||
| | | +--rw algorithm? | | | | +--rw algorithm | |||
| | | | asymmetric-key-algo\ | | | | | asymmetric-key-algo\ | |||
rithm-ref | rithm-ref | |||
| | | +--rw public-key? | | | | +--rw public-key | |||
| | | | binary | | | | | binary | |||
| | | +--rw private-key? | | | | +--rw private-key | |||
| | | | union | | | | | union | |||
| | | +---x generate-hidden-key | ||||
| | | | +---w input | ||||
| | | | +---w algorithm | ||||
| | | | asymmetric-ke\ | ||||
y-algorithm-ref | ||||
| | | +---x install-hidden-key | ||||
| | | | +---w input | ||||
| | | | +---w algorithm | ||||
| | | | | asymmetric-ke\ | ||||
y-algorithm-ref | ||||
| | | | +---w public-key? | ||||
| | | | | binary | ||||
| | | | +---w private-key? | ||||
| | | | binary | ||||
| | | +--rw cert? | | | | +--rw cert? | |||
| | | | end-entity-cert-cms | | | | | end-entity-cert-cms | |||
| | | +---n certificate-expiration | | | | +---n certificate-expiration | |||
| | | +-- expiration-date | | | | | +-- expiration-date | |||
| | | yang:date-and-ti\ | | | | | yang:date-and-ti\ | |||
me | me | |||
| | | +---x generate-certificate-\ | ||||
signing-request | ||||
| | | +---w input | ||||
| | | | +---w subject | ||||
| | | | | binary | ||||
| | | | +---w attributes? | ||||
| | | | binary | ||||
| | | +--ro output | ||||
| | | +--ro certificate-sig\ | ||||
ning-request | ||||
| | | binary | ||||
| | +--:(keystore) | | | +--:(keystore) | |||
| | {keystore-supported}? | | | {keystore-supported}? | |||
| | +--rw keystore-reference? | | | +--rw keystore-reference? | |||
| | ks:asymmetric-key-cert\ | | | ks:asymmetric-key-cert\ | |||
ificate-ref | ificate-ref | |||
| +--rw client-authentication! | | +--rw client-authentication! | |||
| | +--rw (required-or-optional) | | | +--rw (required-or-optional) | |||
| | | +--:(required) | | | | +--:(required) | |||
| | | | +--rw required? | | | | | +--rw required? | |||
| | | | empty | | | | | empty | |||
| | | +--:(optional) | | | | +--:(optional) | |||
| | | +--rw optional? | | | | +--rw optional? | |||
| | | empty | | | | empty | |||
| | +--rw (local-or-external) | | | +--rw (local-or-external) | |||
skipping to change at page 60, line 18 ¶ | skipping to change at page 58, line 30 ¶ | |||
| | | +--:(required) | | | | +--:(required) | |||
| | | | +--rw required? | | | | | +--rw required? | |||
| | | | empty | | | | | empty | |||
| | | +--:(optional) | | | | +--:(optional) | |||
| | | +--rw optional? | | | | +--rw optional? | |||
| | | empty | | | | empty | |||
| | +--rw (local-or-external) | | | +--rw (local-or-external) | |||
| | | +--:(local) | | | | +--:(local) | |||
| | | | {local-client-auth-suppo\ | | | | | {local-client-auth-suppo\ | |||
rted}? | rted}? | |||
| | | | +--rw pinned-ca-certs? | | | | | +--rw ca-certs? | |||
| | | | | ta:pinned-certificates\ | | | | | | ts:certificates-ref | |||
-ref | | | | | | {ts:x509-certificates}? | |||
| | | | | {ta:x509-certificates}? | | | | | +--rw client-certs? | |||
| | | | +--rw pinned-client-certs? | | | | | ts:certificates-ref | |||
| | | | ta:pinned-certificates\ | | | | | {ts:x509-certificates}? | |||
-ref | ||||
| | | | {ta:x509-certificates}? | ||||
| | | +--:(external) | | | | +--:(external) | |||
| | | {external-client-auth-su\ | | | | {external-client-auth-su\ | |||
pported}? | pported}? | |||
| | | +--rw client-auth-defined-else\ | | | | +--rw client-auth-defined-else\ | |||
where? | where? | |||
| | | empty | | | | empty | |||
| | +--rw cert-maps | | | +--rw cert-maps | |||
| | +--rw cert-to-name* [id] | | | +--rw cert-to-name* [id] | |||
| | +--rw id uint32 | | | +--rw id uint32 | |||
| | +--rw fingerprint | | | +--rw fingerprint | |||
skipping to change at page 63, line 46 ¶ | skipping to change at page 62, line 15 ¶ | |||
o Updated text to better reference where certain examples come from | o Updated text to better reference where certain examples come from | |||
(e.g., which Section in which draft). | (e.g., which Section in which draft). | |||
o In the server model, commented out the "must 'pinned-ca-certs or | o In the server model, commented out the "must 'pinned-ca-certs or | |||
pinned-client-certs'" statement to reflect change made in the TLS | pinned-client-certs'" statement to reflect change made in the TLS | |||
draft whereby the trust anchors MAY be defined externally. | draft whereby the trust anchors MAY be defined externally. | |||
o Replaced the 'listen', 'initiate', and 'call-home' features with | o Replaced the 'listen', 'initiate', and 'call-home' features with | |||
boolean expressions. | boolean expressions. | |||
B.13. 12 to 13 | ||||
o Updated to reflect changes in trust-anchors drafts (e.g., s/trust- | ||||
anchors/truststore/g + s/pinned.//) | ||||
Acknowledgements | Acknowledgements | |||
The authors would like to thank for following for lively discussions | The authors would like to thank for following for lively discussions | |||
on list and in the halls (ordered by last name): Andy Bierman, Martin | on list and in the halls (ordered by last name): Andy Bierman, Martin | |||
Bjorklund, Benoit Claise, Ramkumar Dhanapal, Mehmet Ersue, Balazs | Bjorklund, Benoit Claise, Ramkumar Dhanapal, Mehmet Ersue, Balazs | |||
Kovacs, David Lamparter, Alan Luchuk, Ladislav Lhotka, Radek Krejci, | Kovacs, David Lamparter, Alan Luchuk, Ladislav Lhotka, Radek Krejci, | |||
Tom Petch, Juergen Schoenwaelder, Phil Shafer, Sean Turner, and Bert | Tom Petch, Juergen Schoenwaelder, Phil Shafer, Sean Turner, and Bert | |||
Wijnen. | Wijnen. | |||
Author's Address | Author's Address | |||
End of changes. 148 change blocks. | ||||
447 lines changed or deleted | 370 lines changed or added | |||
This html diff was produced by rfcdiff 1.47. The latest version is available from http://tools.ietf.org/tools/rfcdiff/ |