Refresh IETF client/server models
[netconf.git] / transport / transport-ssh / src / main / yang / iana-ssh-public-key-algs@2022-06-16.yang
1 module iana-ssh-public-key-algs {
2   yang-version 1.1;
3   namespace "urn:ietf:params:xml:ns:yang:iana-ssh-public-key-algs";
4   prefix sshpka;
5
6   organization
7     "Internet Assigned Numbers Authority (IANA)";
8
9   contact
10     "Postal: ICANN
11              12025 Waterfront Drive, Suite 300
12              Los Angeles, CA  90094-2536
13              United States of America
14      Tel:    +1 310 301 5800
15      Email:  iana@iana.org";
16
17   description
18     "This module defines identities for the public key algorithms
19      defined in the 'Public Key Algorithm Names' sub-registry of the
20      'Secure Shell (SSH) Protocol Parameters' registry maintained
21      by IANA.
22
23      Copyright (c) 2022 IETF Trust and the persons identified as
24      authors of the code. All rights reserved.
25
26      Redistribution and use in source and binary forms, with
27      or without modification, is permitted pursuant to, and
28      subject to the license terms contained in, the Revised
29      BSD License set forth in Section 4.c of the IETF Trust's
30      Legal Provisions Relating to IETF Documents
31      (https://trustee.ietf.org/license-info).
32
33      The initial version of this YANG module is part of RFC EEEE
34      (https://www.rfc-editor.org/info/rfcEEEE); see the RFC
35      itself for full legal notices.";
36
37   revision 2022-06-16 {
38     description
39       "Reflects contents of the public key algorithms registry
40        on June 16, 2022.";
41     reference
42       "RFC EEEE: YANG Groupings for SSH Clients and SSH Servers";
43   }
44
45   // Typedefs
46
47   typedef public-key-algorithm-ref {
48     type identityref {
49       base "public-key-alg-base";
50     }
51     description
52       "A reference to a SSH public key algorithm identifier.";
53   }
54
55
56   // Identities
57
58   identity public-key-alg-base {
59     description
60       "Base identity used to identify public key algorithms.";
61   }
62
63   identity ssh-dss {
64     base public-key-alg-base;
65     description
66       "SSH-DSS";
67     reference
68       "RFC 4253:
69          The Secure Shell (SSH) Transport Layer Protocol";
70   }
71
72   identity ssh-rsa {
73     base public-key-alg-base;
74     description
75       "SSH-RSA";
76     reference
77       "RFC 4253:
78          The Secure Shell (SSH) Transport Layer Protocol";
79   }
80
81   identity rsa-sha2-256 {
82     base public-key-alg-base;
83     description
84       "RSA-SHA2-256";
85     reference
86       "RFC 8332:
87          Use of RSA Keys with SHA-256 and SHA-512
88          in the Secure Shell (SSH) Protocol";
89   }
90
91   identity rsa-sha2-512 {
92     base public-key-alg-base;
93     description
94       "RSA-SHA2-512";
95     reference
96       "RFC 8332:
97          Use of RSA Keys with SHA-256 and SHA-512
98          in the Secure Shell (SSH) Protocol";
99   }
100
101   identity spki-sign-rsa {
102     base public-key-alg-base;
103     description
104       "SPKI-SIGN-RSA";
105     reference
106       "RFC 4253:
107          The Secure Shell (SSH) Transport Layer Protocol";
108   }
109
110   identity spki-sign-dss {
111     base public-key-alg-base;
112     description
113       "SPKI-SIGN-DSS";
114     reference
115       "RFC 4253:
116          The Secure Shell (SSH) Transport Layer Protocol";
117   }
118
119   identity pgp-sign-rsa {
120     base public-key-alg-base;
121     description
122       "PGP-SIGN-RSA";
123     reference
124       "RFC 4253:
125          The Secure Shell (SSH) Transport Layer Protocol";
126   }
127
128   identity pgp-sign-dss {
129     base public-key-alg-base;
130     description
131       "PGP-SIGN-DSS";
132     reference
133       "RFC 4253:
134          The Secure Shell (SSH) Transport Layer Protocol";
135   }
136
137   identity null {
138     base public-key-alg-base;
139     description
140       "NULL";
141     reference
142       "RFC 4462:
143          Generic Security Service Application Program Interface
144          (GSS-API) Authentication and Key Exchange for the
145          Secure Shell (SSH) Protocol";
146   }
147
148   identity ecdsa-sha2-nistp256 {
149     base public-key-alg-base;
150     status deprecated;
151     description
152       "ECDSA-SHA2-NISTP256 (secp256r1)";
153     reference
154       "RFC 5656:
155          Elliptic Curve Algorithm Integration in the
156          Secure Shell Transport Layer";
157   }
158
159   identity ecdsa-sha2-nistp384 {
160     base public-key-alg-base;
161     description
162       "ECDSA-SHA2-NISTP384 (secp384r1)";
163     reference
164       "RFC 5656:
165          Elliptic Curve Algorithm Integration in the
166          Secure Shell Transport Layer";
167   }
168
169   identity ecdsa-sha2-nistp521 {
170     base public-key-alg-base;
171     description
172       "ECDSA-SHA2-NISTP521 (secp521r1)";
173     reference
174       "RFC 5656:
175          Elliptic Curve Algorithm Integration in the
176          Secure Shell Transport Layer";
177   }
178
179   identity ecdsa-sha2-1.3.132.0.1 {
180     base public-key-alg-base;
181     description
182       "ECDSA-SHA2-1.3.132.0.1 (nistk163, sect163k1)";
183     reference
184       "RFC 5656:
185          Elliptic Curve Algorithm Integration in the
186          Secure Shell Transport Layer";
187   }
188
189   identity ecdsa-sha2-1.2.840.10045.3.1.1 {
190     base public-key-alg-base;
191     description
192       "ECDSA-SHA2-1.2.840.10045.3.1.1 (nistp192, secp192r1)";
193     reference
194       "RFC 5656:
195          Elliptic Curve Algorithm Integration in the
196          Secure Shell Transport Layer";
197   }
198
199   identity ecdsa-sha2-1.3.132.0.33 {
200     base public-key-alg-base;
201     description
202       "ECDSA-SHA2-1.3.132.0.33 (nistp224, secp224r1)";
203     reference
204       "RFC 5656:
205          Elliptic Curve Algorithm Integration in the
206          Secure Shell Transport Layer";
207   }
208
209   identity ecdsa-sha2-1.3.132.0.26 {
210     base public-key-alg-base;
211     description
212       "ECDSA-SHA2-1.3.132.0.26 (nistk233, sect233k1)";
213     reference
214       "RFC 5656:
215          Elliptic Curve Algorithm Integration in the
216          Secure Shell Transport Layer";
217   }
218
219   identity ecdsa-sha2-1.3.132.0.27 {
220     base public-key-alg-base;
221     description
222       "ECDSA-SHA2-1.3.132.0.27 (nistb233, sect233r1)";
223     reference
224       "RFC 5656:
225          Elliptic Curve Algorithm Integration in the
226          Secure Shell Transport Layer";
227   }
228
229   identity ecdsa-sha2-1.3.132.0.16 {
230     base public-key-alg-base;
231     description
232       "ECDSA-SHA2-1.3.132.0.16 (nistk283, sect283k1)";
233     reference
234       "RFC 5656:
235          Elliptic Curve Algorithm Integration in the
236          Secure Shell Transport Layer";
237   }
238
239   identity ecdsa-sha2-1.3.132.0.36 {
240     base public-key-alg-base;
241     description
242       "ECDSA-SHA2-1.3.132.0.36 (nistk409, sect409k1)";
243     reference
244       "RFC 5656:
245          Elliptic Curve Algorithm Integration in the
246          Secure Shell Transport Layer";
247   }
248
249   identity ecdsa-sha2-1.3.132.0.37 {
250     base public-key-alg-base;
251     description
252       "ECDSA-SHA2-1.3.132.0.37 (nistb409, sect409r1)";
253     reference
254       "RFC 5656:
255          Elliptic Curve Algorithm Integration in the
256          Secure Shell Transport Layer";
257   }
258
259   identity ecdsa-sha2-1.3.132.0.38 {
260     base public-key-alg-base;
261     description
262       "ECDSA-SHA2-1.3.132.0.38 (nistt571, sect571k1)";
263     reference
264       "RFC 5656:
265          Elliptic Curve Algorithm Integration in the
266          Secure Shell Transport Layer";
267   }
268
269   identity x509v3-ssh-dss {
270     base public-key-alg-base;
271     description
272       "X509V3-SSH-DSS";
273     reference
274       "RFC 6187:
275          X.509v3 Certificates for Secure Shell Authentication";
276   }
277
278   identity x509v3-ssh-rsa {
279     base public-key-alg-base;
280     description
281       "X509V3-SSH-RSA";
282     reference
283       "RFC 6187:
284          X.509v3 Certificates for Secure Shell Authentication";
285   }
286
287   identity x509v3-rsa2048-sha256 {
288     base public-key-alg-base;
289     status deprecated;
290     description
291       "X509V3-RSA2048-SHA256";
292     reference
293       "RFC 6187:
294          X.509v3 Certificates for Secure Shell Authentication";
295   }
296
297   identity x509v3-ecdsa-sha2-nistp256 {
298     base public-key-alg-base;
299     description
300       "X509V3-ECDSA-SHA2-NISTP256 (secp256r1)";
301     reference
302       "RFC 6187:
303          X.509v3 Certificates for Secure Shell Authentication";
304   }
305
306   identity x509v3-ecdsa-sha2-nistp384 {
307     base public-key-alg-base;
308     description
309       "X509V3-ECDSA-SHA2-NISTP384 (secp384r1)";
310     reference
311       "RFC 6187:
312          X.509v3 Certificates for Secure Shell Authentication";
313   }
314
315   identity x509v3-ecdsa-sha2-nistp521 {
316     base public-key-alg-base;
317     description
318       "X509V3-ECDSA-SHA2-NISTP521 (secp521r1)";
319     reference
320       "RFC 6187:
321          X.509v3 Certificates for Secure Shell Authentication";
322   }
323
324   identity x509v3-ecdsa-sha2-1.3.132.0.1 {
325     base public-key-alg-base;
326     description
327       "X509V3-ECDSA-SHA2-1.3.132.0.1 (nistk163, sect163k1)";
328     reference
329       "RFC 6187:
330          X.509v3 Certificates for Secure Shell Authentication";
331   }
332
333   identity x509v3-ecdsa-sha2-1.2.840.10045.3.1.1 {
334     base public-key-alg-base;
335     description
336       "X509V3-ECDSA-SHA2-1.2.840.10045.3.1.1 (nistp192, secp192r1)";
337     reference
338       "RFC 6187:
339          X.509v3 Certificates for Secure Shell Authentication";
340   }
341
342   identity x509v3-ecdsa-sha2-1.3.132.0.33 {
343     base public-key-alg-base;
344     description
345       "X509V3-ECDSA-SHA2-1.3.132.0.33 (nistp224, secp224r1)";
346     reference
347       "RFC 6187:
348          X.509v3 Certificates for Secure Shell Authentication";
349   }
350
351   identity x509v3-ecdsa-sha2-1.3.132.0.26 {
352     base public-key-alg-base;
353     description
354       "X509V3-ECDSA-SHA2-1.3.132.0.26 (nistk233, sect233k1)";
355     reference
356       "RFC 6187:
357          X.509v3 Certificates for Secure Shell Authentication";
358   }
359
360   identity x509v3-ecdsa-sha2-1.3.132.0.27 {
361     base public-key-alg-base;
362     description
363       "X509V3-ECDSA-SHA2-1.3.132.0.27 (nistb233, sect233r1)";
364     reference
365       "RFC 6187:
366          X.509v3 Certificates for Secure Shell Authentication";
367   }
368
369   identity x509v3-ecdsa-sha2-1.3.132.0.16 {
370     base public-key-alg-base;
371     description
372       "X509V3-ECDSA-SHA2-1.3.132.0.16 (nistk283, sect283k1)";
373     reference
374       "RFC 6187:
375          X.509v3 Certificates for Secure Shell Authentication";
376   }
377
378   identity x509v3-ecdsa-sha2-1.3.132.0.36 {
379     base public-key-alg-base;
380     description
381       "X509V3-ECDSA-SHA2-1.3.132.0.36 (nistk409, sect409k1)";
382     reference
383       "RFC 6187:
384          X.509v3 Certificates for Secure Shell Authentication";
385   }
386
387   identity x509v3-ecdsa-sha2-1.3.132.0.37 {
388     base public-key-alg-base;
389     description
390       "X509V3-ECDSA-SHA2-1.3.132.0.37 (nistb409, sect409r1)";
391     reference
392       "RFC 6187:
393          X.509v3 Certificates for Secure Shell Authentication";
394   }
395
396   identity x509v3-ecdsa-sha2-1.3.132.0.38 {
397     base public-key-alg-base;
398     description
399       "X509V3-ECDSA-SHA2-1.3.132.0.38 (nistt571, sect571k1)";
400     reference
401       "RFC 6187:
402          X.509v3 Certificates for Secure Shell Authentication";
403   }
404
405   identity ssh-ed25519 {
406     base public-key-alg-base;
407     description
408       "SSH-ED25519";
409     reference
410       "RFC 8709:
411          Ed25519 and Ed448 Public Key Algorithms for the
412          Secure Shell (SSH) Protocol";
413   }
414
415   identity ssh-ed448 {
416     base public-key-alg-base;
417     description
418       "SSH-ED448";
419     reference
420       "RFC 8709:
421          Ed25519 and Ed448 Public Key Algorithms for the
422          Secure Shell (SSH) Protocol";
423   }
424
425   // Protocol-accessible Nodes
426
427   container supported-algorithms {
428     config false;
429     description
430       "A container for a list of public key algorithms
431        supported by the server.";
432     leaf-list supported-algorithm {
433       type public-key-algorithm-ref;
434       description
435         "A public key algorithm supported by the server.";
436     }
437   }
438
439 }