huawei-ecc

ECC.

  • Version: 2019-05-02

    huawei-ecc@2019-05-02


    
      module huawei-ecc {
    
        yang-version 1;
    
        namespace "urn:huawei:yang:huawei-ecc";
    
        prefix ecc;
    
        import huawei-extension {
          prefix ext;
        }
    
        organization
          "Huawei Technologies Co., Ltd.";
    
        contact
          "Huawei Industrial Base
    Bantian, Longgang
    Shenzhen 518129
    People's Republic of China
    Website: http://www.huawei.com
    Email: support@huawei.com";
    
        description "ECC.";
    
        revision "2019-05-02" {
          description "Initial revision.";
          reference
            "Huawei private.";
    
        }
    
        ext:task-name "ssh-server";
    
        typedef ecc-key-type {
          type enumeration {
            enum "256" {
              value 256;
              description "Modulus 256.";
            }
            enum "384" {
              value 384;
              description "Modulus 384.";
            }
            enum "521" {
              value 521;
              description "Modulus 521.";
            }
          }
          description "ECC key length.";
        }
    
        typedef ecc-encode-type {
          type enumeration {
            enum "der" {
              value 0;
              description "Der.";
            }
            enum "pem" {
              value 1;
              description "Pem.";
            }
            enum "openssh" {
              value 2;
              description "Openssh.";
            }
          }
          description "ECC encodein type list.";
        }
    
        container ecc {
          description "ECC.";
          container local-keys {
            description
              "Configure local key table.";
            container local-key {
              presence "create eccLocalKey.";
              description
                "Enable/disable local key code.";
              leaf key-size {
                type ecc-key-type;
                default "521";
                description
                  "Key size(256/384/521).";
              }
    
              leaf host-key-name {
                type string {
                  length "0..264";
                }
                config false;
                description "Hostkey name.";
              }
    
              leaf host-key-code {
                type string {
                  length "0..1024";
                }
                config false;
                description "Hostkey code.";
              }
    
              leaf host-key-pem {
                type string {
                  length "0..1024";
                }
                config false;
                description
                  "Hostkey code in PEM format.";
              }
            }  // container local-key
          }  // container local-keys
    
          container peer-keys {
            description
              "List of peer key table.";
            list peer-key {
              key "key-name";
              max-elements 20;
              description
                "Configure peer key code. If the key code is bound, it cannot be deleted, you need to unbind and then delete.";
              leaf key-name {
                type string {
                  length "1..40";
                }
                description "Key name.";
              }
    
              leaf key-code {
                ext:support-filter "true";
                type string {
                  length "1..4096";
                }
                mandatory true;
                description
                  "Key code conforming to PEM, OpenSSH or DER format.";
              }
    
              leaf encoding-type {
                ext:support-filter "true";
                type ecc-encode-type;
                default "der";
                description "Encode type.";
              }
            }  // list peer-key
          }  // container peer-keys
    
          container key-pairs {
            description
              "List of ECC keypair labels.";
            list key-pair {
              key "key-pair-label";
              max-elements 20;
              description
                "Configure ECC keypair label.";
              leaf key-pair-label {
                type string {
                  length "1..35";
                  pattern '[a-z0-9_]*';
                }
                description
                  "Keypair Label Name : It only contains underscores (_), lowercase letters and digits.";
              }
    
              leaf key-size {
                ext:support-filter "true";
                type ecc-key-type;
                default "521";
                description "Size of Keypair.";
              }
    
              leaf host-key-code {
                ext:support-filter "true";
                type string {
                  length "0..2048";
                }
                config false;
                description "ECC hostkey code.";
              }
            }  // list key-pair
          }  // container key-pairs
    
          container ecc-global {
            description
              "Configure global Configuration.";
            leaf max-key-pair {
              type int32 {
                range "1..20";
              }
              default "20";
              description
                "Maximum keypair value.";
            }
          }  // container ecc-global
        }  // container ecc
      }  // module huawei-ecc
    

© 2023 YumaWorks, Inc. All rights reserved.