netconfcentral logo

ietf-tls-client

HTML

ietf-tls-client@2017-10-30



  module ietf-tls-client {

    yang-version 1.1;

    namespace
      "urn:ietf:params:xml:ns:yang:ietf-tls-client";

    prefix tlsc;

    import ietf-tls-common {
      prefix tlscmn;
      revision-date "2017-10-30";
      reference
        "RFC XXXX: YANG Groupings for TLS Clients and TLS Servers";


    }
    import ietf-keystore {
      prefix ks;
      reference
        "RFC YYYY: Keystore Model";


    }

    organization
      "IETF NETCONF (Network Configuration) Working Group";

    contact
      "WG Web:   <http://tools.ietf.org/wg/netconf/>
    WG List:  <mailto:netconf@ietf.org>

    Author:   Kent Watsen
              <mailto:kwatsen@juniper.net>

    Author:   Gary Wu
              <mailto:garywu@cisco.com>";

    description
      "This module defines a reusable grouping for a TLS client that
    can be used as a basis for specific TLS client instances.

    Copyright (c) 2017 IETF Trust and the persons identified as
    authors of the code. All rights reserved.

    Redistribution and use in source and binary forms, with or
    without modification, is permitted pursuant to, and subject
    to the license terms contained in, the Simplified BSD
    License set forth in Section 4.c of the IETF Trust's
    Legal Provisions Relating to IETF Documents
    (http://trustee.ietf.org/license-info).

    This version of this YANG module is part of RFC XXXX; see
    the RFC itself for full legal notices.";

    revision "2017-10-30" {
      description "Initial version";
      reference
        "RFC XXXX: YANG Groupings for TLS Clients and TLS Servers";

    }


    feature tls-client-hello-params-config {
      description
        "TLS hello message parameters are configurable on a TLS
       client.";
    }

    grouping tls-client-grouping {
      description
        "A reusable grouping for configuring a TLS client without
       any consideration for how an underlying TCP session is
       established.";
      container client-identity {
        description
          "The credentials used by the client to authenticate to
         the TLS server.";
        choice auth-type {
          description
            "The authentication type.";
          container certificate {
            description
              "Choice statement for future augmentations.";
            uses ks:private-key-grouping;

            uses ks:certificate-grouping;
          }  // container certificate
        }  // choice auth-type
      }  // container client-identity

      container server-auth {
        must
          'pinned-ca-certs or pinned-server-certs';
        description
          "Trusted server identities.";
        leaf pinned-ca-certs {
          type ks:pinned-certificates;
          description
            "A reference to a list of certificate authority (CA)
           certificates used by the TLS client to authenticate
           TLS server certificates.  A server certificate is
           authenticated if it has a valid chain of trust to
           a configured pinned CA certificate.";
        }

        leaf pinned-server-certs {
          type ks:pinned-certificates;
          description
            "A reference to a list of server certificates used by
           the TLS client to authenticate TLS server certificates.
           A server certificate is authenticated if it is an
           exact match to a configured pinned server certificate.";
        }
      }  // container server-auth

      container hello-params {
        if-feature tls-client-hello-params-config;
        description
          "Configurable parameters for the TLS hello message.";
        uses tlscmn:hello-params-grouping;
      }  // container hello-params
    }  // grouping tls-client-grouping
  }  // module ietf-tls-client

Summary

  
  
Organization IETF NETCONF (Network Configuration) Working Group
  
Module ietf-tls-client
Version 2017-10-30
File ietf-tls-client@2017-10-30.yang
  
Prefix tlsc
Namespace urn:ietf:params:xml:ns:yang:ietf-tls-client
  
Cooked /cookedmodules/ietf-tls-client/2017-10-30
YANG /src/ietf-tls-client@2017-10-30.yang
XSD /xsd/ietf-tls-client@2017-10-30.xsd
  
Abstract This module defines a reusable grouping for a TLS client that can be used as a basis for specific TLS client instances. Copyrig...
  
Contact
WG Web:   <http://tools.ietf.org/wg/netconf/>
WG List:  <mailto:netconf@ietf.org>

Author:   Kent Watsen
	  <mailto:kwatsen@juniper.net>

Author:   Gary Wu
	  <mailto:garywu@cisco.com>

Description

 
This module defines a reusable grouping for a TLS client that
can be used as a basis for specific TLS client instances.

Copyright (c) 2017 IETF Trust and the persons identified as
authors of the code. All rights reserved.

Redistribution and use in source and binary forms, with or
without modification, is permitted pursuant to, and subject
to the license terms contained in, the Simplified BSD
License set forth in Section 4.c of the IETF Trust's
Legal Provisions Relating to IETF Documents
(http://trustee.ietf.org/license-info).

This version of this YANG module is part of RFC XXXX; see
the RFC itself for full legal notices.

Groupings

Grouping Objects Abstract
tls-client-grouping client-identity server-auth hello-params A reusable grouping for configuring a TLS client without any consideration for how an underlying TCP session is established.