draft-ietf-netconf-netconf-client-server-13.txt | draft-ietf-netconf-netconf-client-server-14.txt | |||
---|---|---|---|---|
NETCONF Working Group K. Watsen | NETCONF Working Group K. Watsen | |||
Internet-Draft Watsen Networks | Internet-Draft Watsen Networks | |||
Intended status: Standards Track June 7, 2019 | Intended status: Standards Track July 2, 2019 | |||
Expires: December 9, 2019 | Expires: January 3, 2020 | |||
NETCONF Client and Server Models | NETCONF Client and Server Models | |||
draft-ietf-netconf-netconf-client-server-13 | draft-ietf-netconf-netconf-client-server-14 | |||
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-06-07" --> the publication date of this draft | o "2019-07-02" --> 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 December 9, 2019. | This Internet-Draft will expire on January 3, 2020. | |||
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 17 ¶ | skipping to change at page 3, line 17 ¶ | |||
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 . . . . . . . . . . . . . . . . . . . . . . . 25 | 4.3. YANG Module . . . . . . . . . . . . . . . . . . . . . . . 25 | |||
5. Security Considerations . . . . . . . . . . . . . . . . . . . 37 | 5. Security Considerations . . . . . . . . . . . . . . . . . . . 36 | |||
6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 38 | 6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 37 | |||
6.1. The IETF XML Registry . . . . . . . . . . . . . . . . . . 38 | 6.1. The IETF XML Registry . . . . . . . . . . . . . . . . . . 37 | |||
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 . . . . . . . . . . . . . . . . . 39 | |||
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' . . . . . 49 | A.2. Expanded Tree Diagram for 'ietf-netconf-server' . . . . . 52 | |||
Appendix B. Change Log . . . . . . . . . . . . . . . . . . . . . 59 | Appendix B. Change Log . . . . . . . . . . . . . . . . . . . . . 66 | |||
B.1. 00 to 01 . . . . . . . . . . . . . . . . . . . . . . . . 59 | B.1. 00 to 01 . . . . . . . . . . . . . . . . . . . . . . . . 66 | |||
B.2. 01 to 02 . . . . . . . . . . . . . . . . . . . . . . . . 59 | B.2. 01 to 02 . . . . . . . . . . . . . . . . . . . . . . . . 66 | |||
B.3. 02 to 03 . . . . . . . . . . . . . . . . . . . . . . . . 59 | B.3. 02 to 03 . . . . . . . . . . . . . . . . . . . . . . . . 66 | |||
B.4. 03 to 04 . . . . . . . . . . . . . . . . . . . . . . . . 60 | B.4. 03 to 04 . . . . . . . . . . . . . . . . . . . . . . . . 66 | |||
B.5. 04 to 05 . . . . . . . . . . . . . . . . . . . . . . . . 60 | B.5. 04 to 05 . . . . . . . . . . . . . . . . . . . . . . . . 66 | |||
B.6. 05 to 06 . . . . . . . . . . . . . . . . . . . . . . . . 60 | B.6. 05 to 06 . . . . . . . . . . . . . . . . . . . . . . . . 67 | |||
B.7. 06 to 07 . . . . . . . . . . . . . . . . . . . . . . . . 60 | B.7. 06 to 07 . . . . . . . . . . . . . . . . . . . . . . . . 67 | |||
B.8. 07 to 08 . . . . . . . . . . . . . . . . . . . . . . . . 61 | B.8. 07 to 08 . . . . . . . . . . . . . . . . . . . . . . . . 67 | |||
B.9. 08 to 09 . . . . . . . . . . . . . . . . . . . . . . . . 61 | B.9. 08 to 09 . . . . . . . . . . . . . . . . . . . . . . . . 67 | |||
B.10. 09 to 10 . . . . . . . . . . . . . . . . . . . . . . . . 61 | B.10. 09 to 10 . . . . . . . . . . . . . . . . . . . . . . . . 67 | |||
B.11. 10 to 11 . . . . . . . . . . . . . . . . . . . . . . . . 61 | B.11. 10 to 11 . . . . . . . . . . . . . . . . . . . . . . . . 68 | |||
B.12. 11 to 12 . . . . . . . . . . . . . . . . . . . . . . . . 61 | B.12. 11 to 12 . . . . . . . . . . . . . . . . . . . . . . . . 68 | |||
B.13. 12 to 13 . . . . . . . . . . . . . . . . . . . . . . . . 62 | B.13. 12 to 13 . . . . . . . . . . . . . . . . . . . . . . . . 68 | |||
Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . . 62 | B.14. 13 to 14 . . . . . . . . . . . . . . . . . . . . . . . . 68 | |||
Author's Address . . . . . . . . . . . . . . . . . . . . . . . . 62 | Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . . 69 | |||
Author's Address . . . . . . . . . . . . . . . . . . . . . . . . 69 | ||||
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 6, line 31 ¶ | skipping to change at page 6, line 31 ¶ | |||
<idle-time>15</idle-time> | <idle-time>15</idle-time> | |||
<max-probes>3</max-probes> | <max-probes>3</max-probes> | |||
<probe-interval>30</probe-interval> | <probe-interval>30</probe-interval> | |||
</keepalives> | </keepalives> | |||
</tcp-client-parameters> | </tcp-client-parameters> | |||
<ssh-client-parameters> | <ssh-client-parameters> | |||
<client-identity> | <client-identity> | |||
<username>foobar</username> | <username>foobar</username> | |||
<public-key> | <public-key> | |||
<local-definition> | <local-definition> | |||
<algorithm xmlns:ct="urn:ietf:params:xml:ns:yang\ | <algorithm>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> | |||
<ca-certs>explicitly-trusted-server-ca-certs</ca-cer\ | <ca-certs>explicitly-trusted-server-ca-certs</ca-cer\ | |||
ts> | ts> | |||
<server-certs>explicitly-trusted-server-certs</serve\ | <server-certs>explicitly-trusted-server-certs</serve\ | |||
r-certs> | r-certs> | |||
skipping to change at page 7, line 18 ¶ | skipping to change at page 7, line 17 ¶ | |||
<idle-time>15</idle-time> | <idle-time>15</idle-time> | |||
<max-probes>3</max-probes> | <max-probes>3</max-probes> | |||
<probe-interval>30</probe-interval> | <probe-interval>30</probe-interval> | |||
</keepalives> | </keepalives> | |||
</tcp-client-parameters> | </tcp-client-parameters> | |||
<ssh-client-parameters> | <ssh-client-parameters> | |||
<client-identity> | <client-identity> | |||
<username>foobar</username> | <username>foobar</username> | |||
<public-key> | <public-key> | |||
<local-definition> | <local-definition> | |||
<algorithm xmlns:ct="urn:ietf:params:xml:ns:yang\ | <algorithm>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> | |||
<ca-certs>explicitly-trusted-server-ca-certs</ca-cer\ | <ca-certs>explicitly-trusted-server-ca-certs</ca-cer\ | |||
ts> | ts> | |||
<server-certs>explicitly-trusted-server-certs</serve\ | <server-certs>explicitly-trusted-server-certs</serve\ | |||
r-certs> | r-certs> | |||
skipping to change at page 8, line 13 ¶ | skipping to change at page 8, line 11 ¶ | |||
<name>Intranet-facing listener</name> | <name>Intranet-facing listener</name> | |||
<ssh> | <ssh> | |||
<tcp-server-parameters> | <tcp-server-parameters> | |||
<local-address>192.0.2.7</local-address> | <local-address>192.0.2.7</local-address> | |||
</tcp-server-parameters> | </tcp-server-parameters> | |||
<ssh-client-parameters> | <ssh-client-parameters> | |||
<client-identity> | <client-identity> | |||
<username>foobar</username> | <username>foobar</username> | |||
<public-key> | <public-key> | |||
<local-definition> | <local-definition> | |||
<algorithm xmlns:ct="urn:ietf:params:xml:ns:yang:iet\ | <algorithm>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> | |||
<ca-certs>explicitly-trusted-server-ca-certs</ca-certs> | <ca-certs>explicitly-trusted-server-ca-certs</ca-certs> | |||
<server-certs>explicitly-trusted-server-certs</server-ce\ | <server-certs>explicitly-trusted-server-certs</server-ce\ | |||
rts> | rts> | |||
<ssh-host-keys>explicitly-trusted-ssh-host-keys</ssh-hos\ | <ssh-host-keys>explicitly-trusted-ssh-host-keys</ssh-hos\ | |||
skipping to change at page 8, line 40 ¶ | skipping to change at page 8, line 37 ¶ | |||
</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-06-07.yang" | <CODE BEGINS> file "ietf-netconf-client@2019-07-02.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 14 ¶ | |||
"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-06-07; // stable grouping definitions | revision-date 2019-07-02; // 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-06-07; // stable grouping definitions | revision-date 2019-07-02; // 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 8 ¶ | skipping to change at page 10, line 4 ¶ | |||
Redistribution and use in source and binary forms, with | Redistribution and use in source and binary forms, with | |||
or without modification, is permitted pursuant to, and | or without modification, is permitted pursuant to, and | |||
subject to the license terms contained in, the Simplified | subject to the license terms contained in, the Simplified | |||
BSD License set forth in Section 4.c of the IETF Trust's | BSD License set forth in Section 4.c of the IETF Trust's | |||
Legal Provisions Relating to IETF Documents | Legal Provisions Relating to IETF Documents | |||
(https://trustee.ietf.org/license-info). | (https://trustee.ietf.org/license-info). | |||
This version of this YANG module is part of RFC XXXX | This version of this YANG module is part of RFC XXXX | |||
(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-06-07 { | revision 2019-07-02 { | |||
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 13, line 9 ¶ | skipping to change at page 13, line 5 ¶ | |||
default "6513"; | default "6513"; | |||
description | description | |||
"The NETCONF client will attempt to connect | "The NETCONF client will attempt to connect | |||
to the IANA-assigned well-known port value | to the IANA-assigned well-known port value | |||
for 'netconf-tls' (6513) if no value is | for 'netconf-tls' (6513) if no value is | |||
specified."; | specified."; | |||
} | } | |||
} | } | |||
} | } | |||
container tls-client-parameters { | container tls-client-parameters { | |||
must "client-identity" { | ||||
description | ||||
"NETCONF/TLS clients MUST pass some | ||||
authentication credentials."; | ||||
} | ||||
description | description | |||
"A wrapper around the TLS client parameters | "A wrapper around the TLS client parameters | |||
to avoid name collisions."; | to avoid name collisions."; | |||
uses tlsc:tls-client-grouping { | uses tlsc:tls-client-grouping; | |||
refine "client-identity" | ||||
+ "/auth-type" { | ||||
mandatory true; | ||||
description | ||||
"NETCONF/TLS clients MUST pass some | ||||
authentication credentials."; | ||||
} | ||||
} | ||||
} | } | |||
} | } | |||
} | } | |||
} // choice transport | } // choice transport | |||
} // list endpoint | } // list endpoint | |||
} // container endpoints | } // container endpoints | |||
container connection-type { | container connection-type { | |||
description | description | |||
"Indicates the NETCONF client's preference for how the | "Indicates the NETCONF client's preference for how the | |||
skipping to change at page 17, line 48 ¶ | skipping to change at page 17, line 40 ¶ | |||
refine "local-port" { | refine "local-port" { | |||
default "4334"; | default "4334"; | |||
description | description | |||
"The NETCONF client will listen on the IANA- | "The NETCONF client will listen on the IANA- | |||
assigned well-known port for 'netconf-ch-ssh' | assigned well-known port for 'netconf-ch-ssh' | |||
(4334) if no value is specified."; | (4334) if no value is specified."; | |||
} | } | |||
} | } | |||
} | } | |||
container tls-client-parameters { | container tls-client-parameters { | |||
must "client-identity" { | ||||
description | ||||
"NETCONF/TLS clients MUST pass some | ||||
authentication credentials."; | ||||
} | ||||
description | description | |||
"A wrapper around the TLS client parameters | "A wrapper around the TLS client parameters | |||
to avoid name collisions."; | to avoid name collisions."; | |||
uses tlsc:tls-client-grouping { | uses tlsc:tls-client-grouping; | |||
refine "client-identity/auth-type" { | ||||
mandatory true; | ||||
description | ||||
"NETCONF/TLS clients MUST pass some | ||||
authentication credentials."; | ||||
} | ||||
} | ||||
} | } | |||
} | } | |||
} | } | |||
} // transport | } // transport | |||
} // endpoint | } // endpoint | |||
} // listen | } // listen | |||
} // netconf-client | } // netconf-client | |||
// Protocol accessible node, for servers that implement this | // Protocol accessible node, for servers that implement this | |||
// module. | // module. | |||
container netconf-client { | container netconf-client { | |||
uses netconf-client-grouping; | uses netconf-client-grouping; | |||
skipping to change at page 20, line 40 ¶ | skipping to change at page 20, line 36 ¶ | |||
<ssh> | <ssh> | |||
<tcp-server-parameters> | <tcp-server-parameters> | |||
<local-address>192.0.2.7</local-address> | <local-address>192.0.2.7</local-address> | |||
</tcp-server-parameters> | </tcp-server-parameters> | |||
<ssh-server-parameters> | <ssh-server-parameters> | |||
<server-identity> | <server-identity> | |||
<host-key> | <host-key> | |||
<name>deployment-specific-certificate</name> | <name>deployment-specific-certificate</name> | |||
<public-key> | <public-key> | |||
<local-definition> | <local-definition> | |||
<algorithm xmlns:ct="urn:ietf:params:xml:ns:yang:i\ | <algorithm>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> | |||
</local-definition> | </local-definition> | |||
</public-key> | </public-key> | |||
</host-key> | </host-key> | |||
</server-identity> | </server-identity> | |||
<client-authentication> | <client-authentication> | |||
<supported-authentication-methods> | <supported-authentication-methods> | |||
<publickey/> | <publickey/> | |||
</supported-authentication-methods> | </supported-authentication-methods> | |||
skipping to change at page 21, line 18 ¶ | skipping to change at page 21, line 12 ¶ | |||
</endpoint> | </endpoint> | |||
<endpoint> <!-- listening for TLS sessions --> | <endpoint> <!-- listening for TLS sessions --> | |||
<name>netconf/tls</name> | <name>netconf/tls</name> | |||
<tls> | <tls> | |||
<tcp-server-parameters> | <tcp-server-parameters> | |||
<local-address>192.0.2.7</local-address> | <local-address>192.0.2.7</local-address> | |||
</tcp-server-parameters> | </tcp-server-parameters> | |||
<tls-server-parameters> | <tls-server-parameters> | |||
<server-identity> | <server-identity> | |||
<local-definition> | <local-definition> | |||
<algorithm xmlns:ct="urn:ietf:params:xml:ns:yang:ietf-\ | <algorithm>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/> | |||
<ca-certs>explicitly-trusted-client-ca-certs</ca-certs> | <ca-certs>explicitly-trusted-client-ca-certs</ca-certs> | |||
<client-certs>explicitly-trusted-client-certs</client-ce\ | <client-certs>explicitly-trusted-client-certs</client-ce\ | |||
rts> | rts> | |||
skipping to change at page 22, line 11 ¶ | skipping to change at page 22, line 4 ¶ | |||
<!-- calling home to SSH and TLS based NETCONF clients --> | <!-- calling home to SSH and TLS based NETCONF clients --> | |||
<call-home> | <call-home> | |||
<netconf-client> <!-- SSH-based client --> | <netconf-client> <!-- SSH-based client --> | |||
<name>config-mgr</name> | <name>config-mgr</name> | |||
<endpoints> | <endpoints> | |||
<endpoint> | <endpoint> | |||
<name>east-data-center</name> | <name>east-data-center</name> | |||
<ssh> | <ssh> | |||
<tcp-client-parameters> | <tcp-client-parameters> | |||
<remote-address>east.config-mgr.example.com</remote-ad\ | <remote-address>east.config-mgr.example.com</remote-ad\ | |||
dress> | dress> | |||
</tcp-client-parameters> | </tcp-client-parameters> | |||
<ssh-server-parameters> | <ssh-server-parameters> | |||
<server-identity> | <server-identity> | |||
<host-key> | <host-key> | |||
<name>deployment-specific-certificate</name> | <name>deployment-specific-certificate</name> | |||
<public-key> | <public-key> | |||
<local-definition> | <local-definition> | |||
<algorithm xmlns:ct="urn:ietf:params:xml:ns:ya\ | <algorithm>rsa2048</algorithm> | |||
ng: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> | |||
</host-key> | </host-key> | |||
</server-identity> | </server-identity> | |||
<client-authentication> | <client-authentication> | |||
<supported-authentication-methods> | <supported-authentication-methods> | |||
<publickey/> | <publickey/> | |||
</supported-authentication-methods> | </supported-authentication-methods> | |||
skipping to change at page 22, line 49 ¶ | skipping to change at page 22, line 42 ¶ | |||
<tcp-client-parameters> | <tcp-client-parameters> | |||
<remote-address>west.config-mgr.example.com</remote-ad\ | <remote-address>west.config-mgr.example.com</remote-ad\ | |||
dress> | dress> | |||
</tcp-client-parameters> | </tcp-client-parameters> | |||
<ssh-server-parameters> | <ssh-server-parameters> | |||
<server-identity> | <server-identity> | |||
<host-key> | <host-key> | |||
<name>deployment-specific-certificate</name> | <name>deployment-specific-certificate</name> | |||
<public-key> | <public-key> | |||
<local-definition> | <local-definition> | |||
<algorithm xmlns:ct="urn:ietf:params:xml:ns:ya\ | <algorithm>rsa2048</algorithm> | |||
ng: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> | |||
</host-key> | </host-key> | |||
</server-identity> | </server-identity> | |||
<client-authentication> | <client-authentication> | |||
<supported-authentication-methods> | <supported-authentication-methods> | |||
<publickey/> | <publickey/> | |||
</supported-authentication-methods> | </supported-authentication-methods> | |||
skipping to change at page 23, line 48 ¶ | skipping to change at page 23, line 39 ¶ | |||
ress> | ress> | |||
<keepalives> | <keepalives> | |||
<idle-time>15</idle-time> | <idle-time>15</idle-time> | |||
<max-probes>3</max-probes> | <max-probes>3</max-probes> | |||
<probe-interval>30</probe-interval> | <probe-interval>30</probe-interval> | |||
</keepalives> | </keepalives> | |||
</tcp-client-parameters> | </tcp-client-parameters> | |||
<tls-server-parameters> | <tls-server-parameters> | |||
<server-identity> | <server-identity> | |||
<local-definition> | <local-definition> | |||
<algorithm xmlns:ct="urn:ietf:params:xml:ns:yang:i\ | <algorithm>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/> | |||
<ca-certs>explicitly-trusted-client-ca-certs</ca-cer\ | <ca-certs>explicitly-trusted-client-ca-certs</ca-cer\ | |||
ts> | ts> | |||
<client-certs>explicitly-trusted-client-certs</clien\ | <client-certs>explicitly-trusted-client-certs</clien\ | |||
skipping to change at page 24, line 49 ¶ | skipping to change at page 24, line 39 ¶ | |||
ress> | ress> | |||
<keepalives> | <keepalives> | |||
<idle-time>15</idle-time> | <idle-time>15</idle-time> | |||
<max-probes>3</max-probes> | <max-probes>3</max-probes> | |||
<probe-interval>30</probe-interval> | <probe-interval>30</probe-interval> | |||
</keepalives> | </keepalives> | |||
</tcp-client-parameters> | </tcp-client-parameters> | |||
<tls-server-parameters> | <tls-server-parameters> | |||
<server-identity> | <server-identity> | |||
<local-definition> | <local-definition> | |||
<algorithm xmlns:ct="urn:ietf:params:xml:ns:yang:i\ | <algorithm>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/> | |||
<ca-certs>explicitly-trusted-client-ca-certs</ca-cer\ | <ca-certs>explicitly-trusted-client-ca-certs</ca-cer\ | |||
ts> | ts> | |||
<client-certs>explicitly-trusted-client-certs</clien\ | <client-certs>explicitly-trusted-client-certs</clien\ | |||
skipping to change at page 26, line 4 ¶ | skipping to change at page 25, line 41 ¶ | |||
</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-06-07.yang" | <CODE BEGINS> file "ietf-netconf-server@2019-07-02.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 40 ¶ | skipping to change at page 26, line 28 ¶ | |||
} | } | |||
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-06-07; // stable grouping definitions | revision-date 2019-07-02; // 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-06-07; // stable grouping definitions | revision-date 2019-07-02; // 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 38 ¶ | skipping to change at page 27, line 27 ¶ | |||
(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-06-07 { | revision 2019-07-02 { | |||
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 | |||
skipping to change at page 38, line 42 ¶ | skipping to change at page 38, line 34 ¶ | |||
name: ietf-netconf-server | name: ietf-netconf-server | |||
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., "A YANG Data Model for a Keystore", draft- | |||
Mechanism", draft-ietf-netconf-keystore-09 (work in | ietf-netconf-keystore-11 (work in progress), June 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-13 (work in progress), April 2019. | server-14 (work in progress), June 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-12 (work in progress), April 2019. | server-13 (work in progress), June 2019. | |||
[I-D.kwatsen-netconf-tcp-client-server] | [I-D.kwatsen-netconf-tcp-client-server] | |||
Watsen, K. and M. Scharf, "YANG Groupings for TCP Clients | Watsen, K. and M. Scharf, "YANG Groupings for TCP Clients | |||
and TCP Servers", draft-kwatsen-netconf-tcp-client- | and TCP Servers", draft-kwatsen-netconf-tcp-client- | |||
server-02 (work 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>. | |||
skipping to change at page 40, line 12 ¶ | skipping to change at page 39, line 49 ¶ | |||
RFC 7950, DOI 10.17487/RFC7950, August 2016, | RFC 7950, DOI 10.17487/RFC7950, August 2016, | |||
<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., "A YANG Data Model for a Truststore", draft- | |||
draft-ietf-netconf-trust-anchors-04 (work in progress), | ietf-netconf-trust-anchors-05 (work in progress), June | |||
April 2019. | 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 18 ¶ | skipping to change at page 41, line 18 ¶ | |||
The following tree diagram [RFC8340] provides an overview of the data | The following tree diagram [RFC8340] provides an overview of the data | |||
model for the "ietf-netconf-client" module. | model for the "ietf-netconf-client" module. | |||
This tree diagram shows all the nodes defined in this module, | This tree diagram shows all the nodes defined in this module, | |||
including those defined by "grouping" statements used by this module. | including those defined by "grouping" statements used by this module. | |||
Please see Section 3.1 for a tree diagram that illustrates what the | Please see Section 3.1 for a tree diagram that illustrates what the | |||
module looks like without all the "grouping" statements expanded. | module looks like without all the "grouping" statements expanded. | |||
=========== NOTE: '\' line wrapping per BCP XX (RFC XXXX) =========== | ========== NOTE: '\\' line wrapping per BCP XX (RFC XXXX) =========== | |||
module: ietf-netconf-client | module: ietf-netconf-client | |||
+--rw netconf-client | +--rw netconf-client | |||
+--rw initiate! {ssh-initiate or tls-initiate}? | +--rw initiate! {ssh-initiate or tls-initiate}? | |||
| +--rw netconf-server* [name] | | +--rw netconf-server* [name] | |||
| +--rw name string | | +--rw name string | |||
| +--rw endpoints | | +--rw endpoints | |||
| | +--rw endpoint* [name] | | | +--rw endpoint* [name] | |||
| | +--rw name string | | | +--rw name string | |||
| | +--rw (transport) | | | +--rw (transport) | |||
skipping to change at page 42, line 5 ¶ | skipping to change at page 42, line 5 ¶ | |||
| | | +--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-definiti\ | | | | | | | {local-definiti\ | |||
ons-supported}? | \ons-supported}? | |||
| | | | | | +--rw local-definition | | | | | | | +--rw local-definition | |||
| | | | | | +--rw algorithm | | | | | | | +--rw algorithm | |||
| | | | | | | asymmetric\ | | | | | | | | asymmetric\ | |||
-key-algorithm-ref | \-key-algorithm-t | |||
| | | | | | +--rw public-key | | | | | | | +--rw public-key | |||
| | | | | | | binary | | | | | | | | binary | |||
| | | | | | +--rw private-key | | | | | | | +--rw (private-key\ | |||
| | | | | | union | \-type) | |||
| | | | | | +--:(private-ke\ | ||||
\y) | ||||
| | | | | | | +--rw privat\ | ||||
\e-key? | ||||
| | | | | | | bina\ | ||||
\ry | ||||
| | | | | | +--:(hidden-pri\ | ||||
\vate-key) | ||||
| | | | | | | +--rw hidden\ | ||||
\-private-key? | ||||
| | | | | | | empty | ||||
| | | | | | +--:(encrypted-\ | ||||
\private-key) | ||||
| | | | | | +--rw encryp\ | ||||
\ted-private-key | ||||
| | | | | | +--rw (ke\ | ||||
\y-type) | ||||
| | | | | | | +--:(s\ | ||||
\ymmetric-key-ref) | ||||
| | | | | | | | +--\ | ||||
\rw symmetric-key-ref? leafref | ||||
| | | | | | | | \ | ||||
\ {keystore-supported}? | ||||
| | | | | | | +--:(a\ | ||||
\symmetric-key-ref) | ||||
| | | | | | | +--\ | ||||
\rw asymmetric-key-ref? leafref | ||||
| | | | | | | \ | ||||
\ {keystore-supported}? | ||||
| | | | | | +--rw val\ | ||||
\ue? | ||||
| | | | | | b\ | ||||
\inary | ||||
| | | | | +--:(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-definiti\ | | | | | | {local-definiti\ | |||
ons-supported}? | \ons-supported}? | |||
| | | | | +--rw local-definition | | | | | | +--rw local-definition | |||
| | | | | +--rw algorithm | | | | | | +--rw algorithm | |||
| | | | | | asymmetric\ | | | | | | | asymmetric\ | |||
-key-algorithm-ref | \-key-algorithm-t | |||
| | | | | +--rw public-key | | | | | | +--rw public-key | |||
| | | | | | binary | | | | | | | binary | |||
| | | | | +--rw private-key | | | | | | +--rw (private-key\ | |||
| | | | | | union | \-type) | |||
| | | | | | +--:(private-ke\ | ||||
\y) | ||||
| | | | | | | +--rw privat\ | ||||
\e-key? | ||||
| | | | | | | bina\ | ||||
\ry | ||||
| | | | | | +--:(hidden-pri\ | ||||
\vate-key) | ||||
| | | | | | | +--rw hidden\ | ||||
\-private-key? | ||||
| | | | | | | empty | ||||
| | | | | | +--:(encrypted-\ | ||||
\private-key) | ||||
| | | | | | +--rw encryp\ | ||||
\ted-private-key | ||||
| | | | | | +--rw (ke\ | ||||
\y-type) | ||||
| | | | | | | +--:(s\ | ||||
\ymmetric-key-ref) | ||||
| | | | | | | | +--\ | ||||
\rw symmetric-key-ref? leafref | ||||
| | | | | | | | \ | ||||
\ {keystore-supported}? | ||||
| | | | | | | +--:(a\ | ||||
\symmetric-key-ref) | ||||
| | | | | | | +--\ | ||||
\rw asymmetric-key-ref? leafref | ||||
| | | | | | | \ | ||||
\ {keystore-supported}? | ||||
| | | | | | +--rw val\ | ||||
\ue? | ||||
| | | | | | b\ | ||||
\inary | ||||
| | | | | +--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\ | | | | | | +---x generate-cer\ | |||
tificate-signing-request | \tificate-signing-request | |||
| | | | | +---w input | | | | | | +---w input | |||
| | | | | | +---w subject | | | | | | | +---w subject | |||
| | | | | | | bina\ | | | | | | | | bina\ | |||
ry | \ry | |||
| | | | | | +---w attrib\ | | | | | | | +---w attrib\ | |||
utes? | \utes? | |||
| | | | | | bina\ | | | | | | | bina\ | |||
ry | \ry | |||
| | | | | +--ro output | | | | | | +--ro output | |||
| | | | | +--ro certif\ | | | | | | +--ro certif\ | |||
icate-signing-request | \icate-signing-request | |||
| | | | | bina\ | | | | | | bina\ | |||
ry | \ry | |||
| | | | +--:(keystore) | | | | | +--:(keystore) | |||
| | | | {keystore-suppo\ | | | | | {keystore-suppo\ | |||
rted}? | \rted}? | |||
| | | | +--rw keystore-refere\ | | | | | +--rw keystore-refere\ | |||
nce? | \nce | |||
| | | | ks:asymmetric\ | | | | | +--rw asymmetric-k\ | |||
-key-certificate-ref | \ey? | |||
| | | | | ks:asymmet\ | ||||
\ric-key-ref | ||||
| | | | +--rw certificate?\ | ||||
\ leafref | ||||
| | | +--rw server-authentication | | | | +--rw server-authentication | |||
| | | | +--rw ssh-host-keys? | | | | | +--rw ssh-host-keys? | |||
| | | | | ts:host-keys-ref | | | | | | ts:host-keys-ref | |||
| | | | | {ts:ssh-host-keys}? | | | | | | {ts:ssh-host-keys}? | |||
| | | | +--rw ca-certs? | | | | | +--rw ca-certs? | |||
| | | | | ts:certificates-ref | | | | | | ts:certificates-ref | |||
| | | | | {sshcmn:ssh-x509-certs,ts:x5\ | | | | | | {sshcmn:ssh-x509-certs,ts:x5\ | |||
09-certificates}? | \09-certificates}? | |||
| | | | +--rw server-certs? | | | | | +--rw server-certs? | |||
| | | | ts:certificates-ref | | | | | ts:certificates-ref | |||
| | | | {sshcmn:ssh-x509-certs,ts: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 | |||
| | | | | +--rw encryption-alg* | | | | | | +--rw encryption-alg* | |||
| | | | | identityref | | | | | | identityref | |||
| | | | +--rw mac | | | | | +--rw mac | |||
| | | | +--rw mac-alg* identityref | | | | | +--rw mac-alg* identityref | |||
skipping to change at page 44, line 17 ¶ | skipping to change at page 45, line 39 ¶ | |||
| | | | {local-binding-supported}? | | | | | {local-binding-supported}? | |||
| | | +--rw local-port? inet:port-number | | | | +--rw local-port? inet:port-number | |||
| | | | {local-binding-supported}? | | | | | {local-binding-supported}? | |||
| | | +--rw keepalives! | | | | +--rw keepalives! | |||
| | | {keepalives-supported}? | | | | {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 (local-or-keystore) | |||
| | | +--:(certificate) | | | | +--:(local) | |||
| | | +--rw certificate | | | | | {local-definitions-suppo\ | |||
| | | +--rw (local-or-keystore) | \rted}? | |||
| | | +--:(local) | | | | | +--rw local-definition | |||
| | | | {local-definiti\ | | | | | +--rw algorithm | |||
ons-supported}? | | | | | | asymmetric-key-algo\ | |||
| | | | +--rw local-definition | \rithm-t | |||
| | | | +--rw algorithm | | | | | +--rw public-key | |||
| | | | | asymmetric\ | | | | | | binary | |||
-key-algorithm-ref | | | | | +--rw (private-key-type) | |||
| | | | +--rw public-key | | | | | | +--:(private-key) | |||
| | | | | binary | | | | | | | +--rw private-key? | |||
| | | | +--rw private-key | | | | | | | binary | |||
| | | | | union | | | | | | +--:(hidden-private-key) | |||
| | | | +--rw cert? | | | | | | | +--rw hidden-private-\ | |||
| | | | | end-entity\ | \key? | |||
-cert-cms | | | | | | | empty | |||
| | | | +---n certificate-\ | | | | | | +--:(encrypted-private-k\ | |||
expiration | \ey) | |||
| | | | | +-- expiration-\ | | | | | | +--rw encrypted-priva\ | |||
date | \te-key | |||
| | | | | yang:da\ | | | | | | +--rw (key-type) | |||
te-and-time | | | | | | | +--:(symmetric-\ | |||
| | | | +---x generate-cer\ | \key-ref) | |||
tificate-signing-request | | | | | | | | +--rw symmet\ | |||
| | | | +---w input | \ric-key-ref? leafref | |||
| | | | | +---w subject | | | | | | | | {key\ | |||
| | | | | | bina\ | \store-supported}? | |||
ry | | | | | | | +--:(asymmetric\ | |||
| | | | | +---w attrib\ | \-key-ref) | |||
utes? | | | | | | | +--rw asymme\ | |||
| | | | | bina\ | \tric-key-ref? leafref | |||
ry | | | | | | | {key\ | |||
| | | | +--ro output | \store-supported}? | |||
| | | | +--ro certif\ | | | | | | +--rw value? | |||
icate-signing-request | | | | | | binary | |||
| | | | bina\ | | | | | +--rw cert? | |||
ry | | | | | | end-entity-cert-cms | |||
| | | +--:(keystore) | | | | | +---n certificate-expiration | |||
| | | {keystore-suppo\ | | | | | | +-- expiration-date | |||
rted}? | | | | | | yang:date-and-ti\ | |||
| | | +--rw keystore-refere\ | \me | |||
nce? | | | | | +---x generate-certificate-\ | |||
| | | ks:asymmetric\ | \signing-request | |||
-key-certificate-ref | | | | | +---w input | |||
| | | | | +---w subject | ||||
| | | | | | binary | ||||
| | | | | +---w attributes? | ||||
| | | | | binary | ||||
| | | | +--ro output | ||||
| | | | +--ro certificate-sig\ | ||||
\ning-request | ||||
| | | | binary | ||||
| | | +--:(keystore) | ||||
| | | {keystore-supported}? | ||||
| | | +--rw keystore-reference | ||||
| | | +--rw asymmetric-key? | ||||
| | | | ks:asymmetric-key-r\ | ||||
\ef | ||||
| | | +--rw certificate? lea\ | ||||
\fref | ||||
| | +--rw server-authentication | | | +--rw server-authentication | |||
| | | +--rw ca-certs? | | | | +--rw ca-certs? | |||
| | | | ts:certificates-ref | | | | | ts:certificates-ref | |||
| | | | {ts:x509-certificates}? | | | | | {ts:x509-certificates}? | |||
| | | +--rw server-certs? | | | | +--rw server-certs? | |||
| | | ts:certificates-ref | | | | ts:certificates-ref | |||
| | | {ts: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 | |||
| | +--rw max-attempts? uint8 | | | +--rw max-attempts? uint8 | |||
| +--rw connection-type | | +--rw connection-type | |||
| | +--rw (connection-type) | | | +--rw (connection-type) | |||
skipping to change at page 46, line 5 ¶ | skipping to change at page 47, line 44 ¶ | |||
| +--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 | | | +--rw local-address inet:ip-address | |||
| | | inet:ip-address | | | +--rw local-port? inet:port-number | |||
| | +--rw local-port? | ||||
| | | inet:port-number | ||||
| | +--rw keepalives! {keepalives-supported}? | | | +--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 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-definitions-su\ | | | | | {local-definitions-su\ | |||
pported}? | \pported}? | |||
| | | | +--rw local-definition | | | | | +--rw local-definition | |||
| | | | +--rw algorithm | | | | | +--rw algorithm | |||
| | | | | asymmetric-key-a\ | | | | | | asymmetric-key-a\ | |||
lgorithm-ref | \lgorithm-t | |||
| | | | +--rw public-key | | | | | +--rw public-key | |||
| | | | | binary | | | | | | binary | |||
| | | | +--rw private-key | | | | | +--rw (private-key-type) | |||
| | | | union | | | | | +--:(private-key) | |||
| | | | | +--rw private-key? | ||||
| | | | | binary | ||||
| | | | +--:(hidden-private-k\ | ||||
\ey) | ||||
| | | | | +--rw hidden-priva\ | ||||
\te-key? | ||||
| | | | | empty | ||||
| | | | +--:(encrypted-privat\ | ||||
\e-key) | ||||
| | | | +--rw encrypted-pr\ | ||||
\ivate-key | ||||
| | | | +--rw (key-type) | ||||
| | | | | +--:(symmetr\ | ||||
\ic-key-ref) | ||||
| | | | | | +--rw sym\ | ||||
\metric-key-ref? leafref | ||||
| | | | | | {\ | ||||
\keystore-supported}? | ||||
| | | | | +--:(asymmet\ | ||||
\ric-key-ref) | ||||
| | | | | +--rw asy\ | ||||
\mmetric-key-ref? leafref | ||||
| | | | | {\ | ||||
\keystore-supported}? | ||||
| | | | +--rw value? | ||||
| | | | 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-definitions-su\ | | | | {local-definitions-su\ | |||
pported}? | \pported}? | |||
| | | +--rw local-definition | | | | +--rw local-definition | |||
| | | +--rw algorithm | | | | +--rw algorithm | |||
| | | | asymmetric-key-a\ | | | | | asymmetric-key-a\ | |||
\lgorithm-t | ||||
lgorithm-ref | ||||
| | | +--rw public-key | | | | +--rw public-key | |||
| | | | binary | | | | | binary | |||
| | | +--rw private-key | | | | +--rw (private-key-type) | |||
| | | | union | | | | | +--:(private-key) | |||
| | | | | +--rw private-key? | ||||
| | | | | binary | ||||
| | | | +--:(hidden-private-k\ | ||||
\ey) | ||||
| | | | | +--rw hidden-priva\ | ||||
\te-key? | ||||
| | | | | empty | ||||
| | | | +--:(encrypted-privat\ | ||||
\e-key) | ||||
| | | | +--rw encrypted-pr\ | ||||
\ivate-key | ||||
| | | | +--rw (key-type) | ||||
| | | | | +--:(symmetr\ | ||||
\ic-key-ref) | ||||
| | | | | | +--rw sym\ | ||||
\metric-key-ref? leafref | ||||
| | | | | | {\ | ||||
\keystore-supported}? | ||||
| | | | | +--:(asymmet\ | ||||
\ric-key-ref) | ||||
| | | | | +--rw asy\ | ||||
\mmetric-key-ref? leafref | ||||
| | | | | {\ | ||||
\keystore-supported}? | ||||
| | | | +--rw value? | ||||
| | | | 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\ | | | | +---x generate-certifica\ | |||
te-signing-request | \te-signing-request | |||
| | | +---w input | | | | +---w input | |||
| | | | +---w subject | | | | | +---w subject | |||
| | | | | binary | | | | | | binary | |||
| | | | +---w attributes? | | | | | +---w attributes? | |||
| | | | binary | | | | | binary | |||
| | | +--ro output | | | | +--ro output | |||
| | | +--ro certificate-\ | | | | +--ro certificate-\ | |||
signing-request | \signing-request | |||
| | | binary | | | | binary | |||
| | +--:(keystore) | | | +--:(keystore) | |||
| | {keystore-supported}? | | | {keystore-supported}? | |||
| | +--rw keystore-reference? | | | +--rw keystore-reference | |||
| | ks:asymmetric-key-c\ | | | +--rw asymmetric-key? | |||
ertificate-ref | | | | ks:asymmetric-ke\ | |||
\y-ref | ||||
| | +--rw certificate? \ | ||||
\leafref | ||||
| +--rw server-authentication | | +--rw server-authentication | |||
| | +--rw ssh-host-keys? ts:host-keys-ref | | | +--rw ssh-host-keys? ts:host-keys-ref | |||
| | | {ts:ssh-host-keys}? | | | | {ts:ssh-host-keys}? | |||
| | +--rw ca-certs? ts:certificates-ref | | | +--rw ca-certs? ts:certificates-ref | |||
| | | {sshcmn:ssh-x509-certs,ts:x509-cer\ | | | | {sshcmn:ssh-x509-certs,ts:x509-cer\ | |||
tificates}? | \tificates}? | |||
| | +--rw server-certs? ts:certificates-ref | | | +--rw server-certs? ts:certificates-ref | |||
| | {sshcmn:ssh-x509-certs,ts:x509-cer\ | | | {sshcmn:ssh-x509-certs,ts: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 | | +--rw local-address inet:ip-address | |||
| | inet:ip-address | | +--rw local-port? inet:port-number | |||
| +--rw local-port? | ||||
| | inet:port-number | ||||
| +--rw keepalives! {keepalives-supported}? | | +--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 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 (local-or-keystore) | |||
| +--:(certificate) | | +--:(local) | |||
| +--rw certificate | | | {local-definitions-supported}? | |||
| +--rw (local-or-keystore) | | | +--rw local-definition | |||
| +--:(local) | | | +--rw algorithm | |||
| | {local-definitions-su\ | | | | asymmetric-key-algorithm-t | |||
pported}? | | | +--rw public-key | |||
| | +--rw local-definition | | | | binary | |||
| | +--rw algorithm | | | +--rw (private-key-type) | |||
| | | asymmetric-key-a\ | | | | +--:(private-key) | |||
lgorithm-ref | | | | | +--rw private-key? | |||
| | +--rw public-key | | | | | binary | |||
| | | binary | | | | +--:(hidden-private-key) | |||
| | +--rw private-key | | | | | +--rw hidden-private-key? | |||
| | | union | | | | | empty | |||
| | +--rw cert? | | | | +--:(encrypted-private-key) | |||
| | | end-entity-cert-\ | | | | +--rw encrypted-private-key | |||
cms | | | | +--rw (key-type) | |||
| | +---n certificate-expira\ | | | | | +--:(symmetric-key-re\ | |||
tion | \f) | |||
| | | +-- expiration-date | | | | | | +--rw symmetric-ke\ | |||
| | | yang:date-and\ | \y-ref? leafref | |||
-time | | | | | | {keystore-\ | |||
| | +---x generate-certifica\ | \supported}? | |||
te-signing-request | | | | | +--:(asymmetric-key-r\ | |||
| | +---w input | \ef) | |||
| | | +---w subject | | | | | +--rw asymmetric-k\ | |||
| | | | binary | \ey-ref? leafref | |||
| | | +---w attributes? | | | | | {keystore-\ | |||
| | | binary | \supported}? | |||
| | +--ro output | | | | +--rw value? | |||
| | +--ro certificate-\ | | | | binary | |||
signing-request | | | +--rw cert? | |||
| | binary | | | | end-entity-cert-cms | |||
| +--:(keystore) | | | +---n certificate-expiration | |||
| {keystore-supported}? | | | | +-- expiration-date | |||
| +--rw keystore-reference? | | | | yang:date-and-time | |||
| ks:asymmetric-key-c\ | | | +---x generate-certificate-signin\ | |||
ertificate-ref | \g-request | |||
| | +---w input | ||||
| | | +---w subject binary | ||||
| | | +---w attributes? binary | ||||
| | +--ro output | ||||
| | +--ro certificate-signing-r\ | ||||
\equest | ||||
| | binary | ||||
| +--:(keystore) {keystore-supported}? | ||||
| +--rw keystore-reference | ||||
| +--rw asymmetric-key? | ||||
| | ks:asymmetric-key-ref | ||||
| +--rw certificate? leafref | ||||
+--rw server-authentication | +--rw server-authentication | |||
| +--rw ca-certs? ts:certificates-ref | | +--rw ca-certs? ts:certificates-ref | |||
| | {ts:x509-certificates}? | | | {ts:x509-certificates}? | |||
| +--rw server-certs? ts:certificates-ref | | +--rw server-certs? ts:certificates-ref | |||
| {ts: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 | |||
skipping to change at page 49, line 41 ¶ | skipping to change at page 52, line 38 ¶ | |||
The following tree diagram [RFC8340] provides an overview of the data | The following tree diagram [RFC8340] provides an overview of the data | |||
model for the "ietf-netconf-server" module. | model for the "ietf-netconf-server" module. | |||
This tree diagram shows all the nodes defined in this module, | This tree diagram shows all the nodes defined in this module, | |||
including those defined by "grouping" statements used by this module. | including those defined by "grouping" statements used by this module. | |||
Please see Section 4.1 for a tree diagram that illustrates what the | Please see Section 4.1 for a tree diagram that illustrates what the | |||
module looks like without all the "grouping" statements expanded. | module looks like without all the "grouping" statements expanded. | |||
=========== NOTE: '\' line wrapping per BCP XX (RFC XXXX) =========== | ========== NOTE: '\\' line wrapping per BCP XX (RFC XXXX) =========== | |||
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 | | | | +--rw local-address inet:ip-address | |||
| | | | inet:ip-address | | | | +--rw local-port? inet:port-number | |||
| | | +--rw local-port? | ||||
| | | | inet:port-number | ||||
| | | +--rw keepalives! {keepalives-supported}? | | | | +--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 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-definitions\ | | | | | | {local-definitions\ | |||
-supported}? | \-supported}? | |||
| | | | | +--rw local-definition | | | | | | +--rw local-definition | |||
| | | | | +--rw algorithm | | | | | | +--rw algorithm | |||
| | | | | | asymmetric-ke\ | | | | | | | asymmetric-ke\ | |||
y-algorithm-ref | \y-algorithm-t | |||
| | | | | +--rw public-key | | | | | | +--rw public-key | |||
| | | | | | binary | | | | | | | binary | |||
| | | | | +--rw private-key | | | | | | +--rw (private-key-ty\ | |||
| | | | | union | \pe) | |||
| | | | | +--:(private-key) | ||||
| | | | | | +--rw private-k\ | ||||
\ey? | ||||
| | | | | | binary | ||||
| | | | | +--:(hidden-privat\ | ||||
\e-key) | ||||
| | | | | | +--rw hidden-pr\ | ||||
\ivate-key? | ||||
| | | | | | empty | ||||
| | | | | +--:(encrypted-pri\ | ||||
\vate-key) | ||||
| | | | | +--rw encrypted\ | ||||
\-private-key | ||||
| | | | | +--rw (key-t\ | ||||
\ype) | ||||
| | | | | | +--:(symm\ | ||||
\etric-key-ref) | ||||
| | | | | | | +--rw \ | ||||
\symmetric-key-ref? leafref | ||||
| | | | | | | \ | ||||
\ {keystore-supported}? | ||||
| | | | | | +--:(asym\ | ||||
\metric-key-ref) | ||||
| | | | | | +--rw \ | ||||
\asymmetric-key-ref? leafref | ||||
| | | | | | \ | ||||
\ {keystore-supported}? | ||||
| | | | | +--rw value? | ||||
| | | | | bina\ | ||||
\ry | ||||
| | | | +--:(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-definitions\ | | | | | {local-definitions\ | |||
-supported}? | \-supported}? | |||
| | | | +--rw local-definition | | | | | +--rw local-definition | |||
| | | | +--rw algorithm | | | | | +--rw algorithm | |||
| | | | | asymmetric-ke\ | | | | | | asymmetric-ke\ | |||
\y-algorithm-t | ||||
y-algorithm-ref | ||||
| | | | +--rw public-key | | | | | +--rw public-key | |||
| | | | | binary | | | | | | binary | |||
| | | | +--rw private-key | | | | | +--rw (private-key-ty\ | |||
| | | | | union | \pe) | |||
| | | | | +--:(private-key) | ||||
| | | | | | +--rw private-k\ | ||||
\ey? | ||||
| | | | | | binary | ||||
| | | | | +--:(hidden-privat\ | ||||
\e-key) | ||||
| | | | | | +--rw hidden-pr\ | ||||
\ivate-key? | ||||
| | | | | | empty | ||||
| | | | | +--:(encrypted-pri\ | ||||
\vate-key) | ||||
| | | | | +--rw encrypted\ | ||||
\-private-key | ||||
| | | | | +--rw (key-t\ | ||||
\ype) | ||||
| | | | | | +--:(symm\ | ||||
\etric-key-ref) | ||||
| | | | | | | +--rw \ | ||||
\symmetric-key-ref? leafref | ||||
| | | | | | | \ | ||||
\ {keystore-supported}? | ||||
| | | | | | +--:(asym\ | ||||
\metric-key-ref) | ||||
| | | | | | +--rw \ | ||||
\asymmetric-key-ref? leafref | ||||
| | | | | | \ | ||||
\ {keystore-supported}? | ||||
| | | | | +--rw value? | ||||
| | | | | bina\ | ||||
\ry | ||||
| | | | +--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\ | | | | | +---x generate-certif\ | |||
icate-signing-request | \icate-signing-request | |||
| | | | +---w input | | | | | +---w input | |||
| | | | | +---w subject | | | | | | +---w subject | |||
| | | | | | binary | | | | | | | binary | |||
| | | | | +---w attribute\ | | | | | | +---w attribute\ | |||
s? | \s? | |||
| | | | | binary | | | | | | binary | |||
| | | | +--ro output | | | | | +--ro output | |||
| | | | +--ro certifica\ | | | | | +--ro certifica\ | |||
te-signing-request | \te-signing-request | |||
| | | | binary | | | | | binary | |||
| | | +--:(keystore) | | | | +--:(keystore) | |||
| | | {keystore-supporte\ | | | | {keystore-supporte\ | |||
d}? | \d}? | |||
| | | +--rw keystore-reference? | | | | +--rw keystore-reference | |||
| | | ks:asymmetric-ke\ | | | | +--rw asymmetric-key? | |||
y-certificate-ref | | | | | ks:asymmetric\ | |||
\-key-ref | ||||
| | | +--rw certificate? \ | ||||
\ leafref | ||||
| | +--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 | |||
| | | | +--rw hostbased? empty | | | | | +--rw hostbased? empty | |||
| | | | +--rw none? empty | | | | | +--rw none? empty | |||
| | | | +--rw other* string | | | | | +--rw other* string | |||
| | | +--rw (local-or-external) | | | | +--rw (local-or-external) | |||
| | | +--:(local) | | | | +--:(local) | |||
| | | | {local-client-auth-supported}? | | | | | {local-client-auth-supported}? | |||
skipping to change at page 52, line 8 ¶ | skipping to change at page 56, line 14 ¶ | |||
| | | | +--rw user* [name] | | | | | +--rw user* [name] | |||
| | | | +--rw name string | | | | | +--rw name string | |||
| | | | +--rw password? | | | | | +--rw password? | |||
| | | | | ianach:crypt-hash | | | | | | ianach:crypt-hash | |||
| | | | +--rw authorized-key* [name] | | | | | +--rw authorized-key* [name] | |||
| | | | +--rw name string | | | | | +--rw name string | |||
| | | | +--rw algorithm string | | | | | +--rw algorithm string | |||
| | | | +--rw key-data binary | | | | | +--rw key-data binary | |||
| | | +--:(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 transport-params | | | +--rw transport-params | |||
| | | {ssh-server-transport-params-config}? | | | | {ssh-server-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-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 | | | +--rw local-address inet:ip-address | |||
| | | inet:ip-address | | | +--rw local-port? inet:port-number | |||
| | +--rw local-port? | ||||
| | | inet:port-number | ||||
| | +--rw keepalives! {keepalives-supported}? | | | +--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 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) | |||
| | | {local-definitions-supported}? | | | | {local-definitions-supported}? | |||
| | | +--rw local-definition | | | | +--rw local-definition | |||
| | | +--rw algorithm | | | | +--rw algorithm | |||
| | | | asymmetric-key-algorithm-\ | | | | | asymmetric-key-algorithm-t | |||
ref | ||||
| | | +--rw public-key | | | | +--rw public-key | |||
| | | | binary | | | | | binary | |||
| | | +--rw private-key | | | | +--rw (private-key-type) | |||
| | | | union | | | | | +--:(private-key) | |||
| | | | | +--rw private-key? | ||||
| | | | | binary | ||||
| | | | +--:(hidden-private-key) | ||||
| | | | | +--rw hidden-private-key? | ||||
| | | | | empty | ||||
| | | | +--:(encrypted-private-key) | ||||
| | | | +--rw encrypted-private-key | ||||
| | | | +--rw (key-type) | ||||
| | | | | +--:(symmetric-key-re\ | ||||
\f) | ||||
| | | | | | +--rw symmetric-ke\ | ||||
\y-ref? leafref | ||||
| | | | | | {keystore-\ | ||||
\supported}? | ||||
| | | | | +--:(asymmetric-key-r\ | ||||
\ef) | ||||
| | | | | +--rw asymmetric-k\ | ||||
\ey-ref? leafref | ||||
| | | | | {keystore-\ | ||||
\supported}? | ||||
| | | | +--rw value? | ||||
| | | | 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\ | | | | +---x generate-certificate-signin\ | |||
g-request | \g-request | |||
| | | +---w input | | | | +---w input | |||
| | | | +---w subject binary | | | | | +---w subject binary | |||
| | | | +---w attributes? binary | | | | | +---w attributes? binary | |||
| | | +--ro output | | | | +--ro output | |||
| | | +--ro certificate-signing-r\ | | | | +--ro certificate-signing-r\ | |||
equest | \equest | |||
| | | binary | | | | binary | |||
| | +--:(keystore) {keystore-supported}? | | | +--:(keystore) {keystore-supported}? | |||
| | +--rw keystore-reference? | | | +--rw keystore-reference | |||
| | ks:asymmetric-key-certificat\ | | | +--rw asymmetric-key? | |||
e-ref | | | | ks:asymmetric-key-ref | |||
| | +--rw certificate? leafref | ||||
| +--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 ca-certs? | | | | | +--rw ca-certs? | |||
| | | | | ts:certificates-ref | | | | | | ts:certificates-ref | |||
| | | | | {ts:x509-certificates}? | | | | | | {ts:x509-certificates}? | |||
| | | | +--rw client-certs? | | | | | +--rw client-certs? | |||
| | | | ts:certificates-ref | | | | | ts:certificates-ref | |||
| | | | {ts: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 | |||
| | +--rw map-type identityref | | | +--rw map-type identityref | |||
| | +--rw name string | | | +--rw name string | |||
| +--rw hello-params | | +--rw hello-params | |||
skipping to change at page 54, line 43 ¶ | skipping to change at page 59, line 17 ¶ | |||
| | +--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-defin\ | | | | | | {local-defin\ | |||
itions-supported}? | \itions-supported}? | |||
| | | | | +--rw local-defini\ | | | | | | +--rw local-defini\ | |||
tion | \tion | |||
| | | | | +--rw algorithm | | | | | | +--rw algorithm | |||
| | | | | | asymmet\ | | | | | | | asymmet\ | |||
ric-key-algorithm-ref | \ric-key-algorithm-t | |||
| | | | | +--rw public-key | | | | | | +--rw public-key | |||
| | | | | | binary | | | | | | | binary | |||
| | | | | +--rw private-k\ | | | | | | +--rw (private-\ | |||
\key-type) | ||||
| | | | | +--:(private\ | ||||
\-key) | ||||
| | | | | | +--rw pri\ | ||||
\vate-key? | ||||
| | | | | | b\ | ||||
\inary | ||||
| | | | | +--:(hidden-\ | ||||
\private-key) | ||||
| | | | | | +--rw hid\ | ||||
\den-private-key? | ||||
| | | | | | e\ | ||||
\mpty | ||||
| | | | | +--:(encrypt\ | ||||
\ed-private-key) | ||||
| | | | | +--rw enc\ | ||||
\rypted-private-key | ||||
| | | | | +--rw \ | ||||
\(key-type) | ||||
| | | | | | +--\ | ||||
\:(symmetric-key-ref) | ||||
| | | | | | | \ | ||||
\+--rw symmetric-key-ref? leafref | ||||
| | | | | | | \ | ||||
\ {keystore-supported}? | ||||
| | | | | | +--\ | ||||
ey | \:(asymmetric-key-ref) | |||
| | | | | union | | | | | | | \ | |||
\+--rw asymmetric-key-ref? leafref | ||||
| | | | | | \ | ||||
\ {keystore-supported}? | ||||
| | | | | +--rw \ | ||||
\value? | ||||
| | | | | \ | ||||
\ binary | ||||
| | | | +--:(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-defin\ | | | | | {local-defin\ | |||
itions-supported}? | \itions-supported}? | |||
| | | | +--rw local-defini\ | | | | | +--rw local-defini\ | |||
tion | \tion | |||
| | | | +--rw algorithm | | | | | +--rw algorithm | |||
| | | | | asymmet\ | | | | | | asymmet\ | |||
ric-key-algorithm-ref | \ric-key-algorithm-t | |||
| | | | +--rw public-key | | | | | +--rw public-key | |||
| | | | | binary | | | | | | binary | |||
| | | | +--rw private-k\ | | | | | +--rw (private-\ | |||
ey | \key-type) | |||
| | | | | union | | | | | | +--:(private\ | |||
\-key) | ||||
| | | | | | +--rw pri\ | ||||
\vate-key? | ||||
| | | | | | b\ | ||||
\inary | ||||
| | | | | +--:(hidden-\ | ||||
\private-key) | ||||
| | | | | | +--rw hid\ | ||||
\den-private-key? | ||||
| | | | | | e\ | ||||
\mpty | ||||
| | | | | +--:(encrypt\ | ||||
\ed-private-key) | ||||
| | | | | +--rw enc\ | ||||
\rypted-private-key | ||||
| | | | | +--rw \ | ||||
\(key-type) | ||||
| | | | | | +--\ | ||||
\:(symmetric-key-ref) | ||||
| | | | | | | \ | ||||
\+--rw symmetric-key-ref? leafref | ||||
| | | | | | | \ | ||||
\ {keystore-supported}? | ||||
| | | | | | +--\ | ||||
\:(asymmetric-key-ref) | ||||
| | | | | | \ | ||||
\+--rw asymmetric-key-ref? leafref | ||||
| | | | | | \ | ||||
\ {keystore-supported}? | ||||
| | | | | +--rw \ | ||||
\value? | ||||
| | | | | \ | ||||
\ binary | ||||
| | | | +--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-\ | | | | | +---x generate-\ | |||
certificate-signing-request | \certificate-signing-request | |||
| | | | +---w input | | | | | +---w input | |||
| | | | | +---w sub\ | | | | | | +---w sub\ | |||
ject | \ject | |||
| | | | | | b\ | | | | | | | b\ | |||
inary | \inary | |||
| | | | | +---w att\ | | | | | | +---w att\ | |||
ributes? | \ributes? | |||
| | | | | b\ | | | | | | b\ | |||
inary | \inary | |||
| | | | +--ro output | | | | | +--ro output | |||
| | | | +--ro cer\ | | | | | +--ro cer\ | |||
tificate-signing-request | \tificate-signing-request | |||
| | | | b\ | | | | | b\ | |||
inary | \inary | |||
| | | +--:(keystore) | | | | +--:(keystore) | |||
| | | {keystore-su\ | | | | {keystore-su\ | |||
pported}? | \pported}? | |||
| | | +--rw keystore-ref\ | | | | +--rw keystore-ref\ | |||
erence? | ||||
| | | ks:asymmet\ | \erence | |||
ric-key-certificate-ref | | | | +--rw asymmetri\ | |||
\c-key? | ||||
| | | | ks:asym\ | ||||
\metric-key-ref | ||||
| | | +--rw certifica\ | ||||
\te? leafref | ||||
| | +--rw client-authentication | | | +--rw client-authentication | |||
| | | +--rw supported-authentication-metho\ | | | | +--rw supported-authentication-metho\ | |||
ds | \ds | |||
| | | | +--rw publickey? empty | | | | | +--rw publickey? empty | |||
| | | | +--rw passsword? empty | | | | | +--rw passsword? empty | |||
| | | | +--rw hostbased? empty | | | | | +--rw hostbased? empty | |||
| | | | +--rw none? empty | | | | | +--rw none? empty | |||
| | | | +--rw other* string | | | | | +--rw other* string | |||
| | | +--rw (local-or-external) | | | | +--rw (local-or-external) | |||
| | | +--:(local) | | | | +--:(local) | |||
| | | | {local-client-auth-suppo\ | | | | | {local-client-auth-suppo\ | |||
rted}? | \rted}? | |||
| | | | +--rw users | | | | | +--rw users | |||
| | | | +--rw user* [name] | | | | | +--rw user* [name] | |||
| | | | +--rw name | | | | | +--rw name | |||
| | | | | string | | | | | | string | |||
| | | | +--rw password? | | | | | +--rw password? | |||
| | | | | ianach:crypt-hash | | | | | | ianach:crypt-hash | |||
| | | | +--rw authorized-key* | | | | | +--rw authorized-key* | |||
| | | | [name] | | | | | [name] | |||
| | | | +--rw name | | | | | +--rw name | |||
| | | | | string | | | | | | string | |||
| | | | +--rw algorithm | | | | | +--rw algorithm | |||
| | | | | string | | | | | | string | |||
| | | | +--rw key-data | | | | | +--rw key-data | |||
| | | | binary | | | | | binary | |||
| | | +--:(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 transport-params | | | +--rw transport-params | |||
| | | {ssh-server-transport-params-co\ | | | | {ssh-server-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 | |||
| | | | +--rw encryption-alg* | | | | | +--rw encryption-alg* | |||
| | | | identityref | | | | | identityref | |||
| | | +--rw mac | | | | +--rw mac | |||
| | | +--rw mac-alg* identityref | | | | +--rw mac-alg* identityref | |||
skipping to change at page 57, line 35 ¶ | skipping to change at page 63, line 31 ¶ | |||
| | +--rw keepalives! | | | +--rw keepalives! | |||
| | {keepalives-supported}? | | | {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-definitions-suppo\ | | | | {local-definitions-suppo\ | |||
rted}? | \rted}? | |||
| | | +--rw local-definition | | | | +--rw local-definition | |||
| | | +--rw algorithm | | | | +--rw algorithm | |||
| | | | asymmetric-key-algo\ | | | | | asymmetric-key-algo\ | |||
rithm-ref | \rithm-t | |||
| | | +--rw public-key | | | | +--rw public-key | |||
| | | | binary | | | | | binary | |||
| | | +--rw private-key | | | | +--rw (private-key-type) | |||
| | | | union | | | | | +--:(private-key) | |||
| | | | | +--rw private-key? | ||||
| | | | | binary | ||||
| | | | +--:(hidden-private-key) | ||||
| | | | | +--rw hidden-private-\ | ||||
\key? | ||||
| | | | | empty | ||||
| | | | +--:(encrypted-private-k\ | ||||
\ey) | ||||
| | | | +--rw encrypted-priva\ | ||||
\te-key | ||||
| | | | +--rw (key-type) | ||||
| | | | | +--:(symmetric-\ | ||||
\key-ref) | ||||
| | | | | | +--rw symmet\ | ||||
\ric-key-ref? leafref | ||||
| | | | | | {key\ | ||||
\store-supported}? | ||||
| | | | | +--:(asymmetric\ | ||||
\-key-ref) | ||||
| | | | | +--rw asymme\ | ||||
\tric-key-ref? leafref | ||||
| | | | | {key\ | ||||
\store-supported}? | ||||
| | | | +--rw value? | ||||
| | | | 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-\ | | | | +---x generate-certificate-\ | |||
signing-request | \signing-request | |||
| | | +---w input | | | | +---w input | |||
| | | | +---w subject | | | | | +---w subject | |||
| | | | | binary | | | | | | binary | |||
| | | | +---w attributes? | | | | | +---w attributes? | |||
| | | | binary | | | | | binary | |||
| | | +--ro output | | | | +--ro output | |||
| | | +--ro certificate-sig\ | | | | +--ro certificate-sig\ | |||
ning-request | \ning-request | |||
| | | binary | | | | binary | |||
| | +--:(keystore) | | | +--:(keystore) | |||
| | {keystore-supported}? | | | {keystore-supported}? | |||
| | +--rw keystore-reference? | | | +--rw keystore-reference | |||
| | ks:asymmetric-key-cert\ | | | +--rw asymmetric-key? | |||
ificate-ref | | | | ks:asymmetric-key-r\ | |||
\ef | ||||
| | +--rw certificate? lea\ | ||||
\fref | ||||
| +--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-suppo\ | | | | | {local-client-auth-suppo\ | |||
rted}? | \rted}? | |||
| | | | +--rw ca-certs? | | | | | +--rw ca-certs? | |||
| | | | | ts:certificates-ref | | | | | | ts:certificates-ref | |||
| | | | | {ts:x509-certificates}? | | | | | | {ts:x509-certificates}? | |||
| | | | +--rw client-certs? | | | | | +--rw client-certs? | |||
| | | | ts:certificates-ref | | | | | ts:certificates-ref | |||
| | | | {ts:x509-certificates}? | | | | | {ts: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 | |||
| | | x509c2n:tls-fingerprint | | | | x509c2n:tls-fingerprint | |||
| | +--rw map-type | | | +--rw map-type | |||
| | | identityref | | | | identityref | |||
| | +--rw name string | | | +--rw name string | |||
| +--rw hello-params | | +--rw hello-params | |||
| | {tls-server-hello-params-config\ | | | {tls-server-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-server-keepalives}? | | {tls-server-keepalives}? | |||
| +--rw max-wait? uint16 | | +--rw max-wait? uint16 | |||
| +--rw max-attempts? uint8 | | +--rw max-attempts? uint8 | |||
+--rw connection-type | +--rw connection-type | |||
| +--rw (connection-type) | | +--rw (connection-type) | |||
skipping to change at page 62, line 20 ¶ | skipping to change at page 68, line 47 ¶ | |||
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 | B.13. 12 to 13 | |||
o Updated to reflect changes in trust-anchors drafts (e.g., s/trust- | o Updated to reflect changes in trust-anchors drafts (e.g., s/trust- | |||
anchors/truststore/g + s/pinned.//) | anchors/truststore/g + s/pinned.//) | |||
B.14. 13 to 14 | ||||
o Adjusting from change in TLS client model (removing the top-level | ||||
'certificate' container), by swapping refining-in a 'mandatory | ||||
true' statement with a 'must' statement outside the 'uses' | ||||
statement. | ||||
o Updated examples to reflect ietf-crypto-types change (e.g., | ||||
identities --> enumerations) | ||||
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. 154 change blocks. | ||||
343 lines changed or deleted | 655 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/ |