Re: [netconf] crypto-types fallback strategy

Martin Bjorklund <mbj@tail-f.com> Mon, 23 September 2019 07:53 UTC

Return-Path: <mbj@tail-f.com>
X-Original-To: netconf@ietfa.amsl.com
Delivered-To: netconf@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id DADF9120120 for <netconf@ietfa.amsl.com>; Mon, 23 Sep 2019 00:53:02 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.9
X-Spam-Level:
X-Spam-Status: No, score=-1.9 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, SPF_HELO_NONE=0.001, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id yzcDpptyeIVO for <netconf@ietfa.amsl.com>; Mon, 23 Sep 2019 00:53:01 -0700 (PDT)
Received: from mail.tail-f.com (mail.tail-f.com [46.21.102.45]) by ietfa.amsl.com (Postfix) with ESMTP id DDEB812011C for <netconf@ietf.org>; Mon, 23 Sep 2019 00:53:00 -0700 (PDT)
Received: from localhost (h-46-233.A165.priv.bahnhof.se [46.59.46.233]) by mail.tail-f.com (Postfix) with ESMTPSA id 060791AE0115; Mon, 23 Sep 2019 09:52:59 +0200 (CEST)
Date: Mon, 23 Sep 2019 09:52:58 +0200
Message-Id: <20190923.095258.855042931469293827.mbj@tail-f.com>
To: kent@watsen.net
Cc: J.Schoenwaelder@jacobs-university.de, netconf@ietf.org, rifaat.ietf@gmail.com
From: Martin Bjorklund <mbj@tail-f.com>
In-Reply-To: <0100016d49d65155-25a0cf04-fafc-44b0-a563-c10f958dfa73-000000@email.amazonses.com>
References: <20190918211951.eznefdficdfjk6xz@anna.jacobs.jacobs-university.de> <20190919.125358.892950440538953535.mbj@tail-f.com> <0100016d49d65155-25a0cf04-fafc-44b0-a563-c10f958dfa73-000000@email.amazonses.com>
X-Mailer: Mew version 6.7 on Emacs 25.2 / Mule 6.0 (HANACHIRUSATO)
Mime-Version: 1.0
Content-Type: Text/Plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Archived-At: <https://mailarchive.ietf.org/arch/msg/netconf/2q7lnG0ksNabsNTABV9hkuVrH18>
Subject: Re: [netconf] crypto-types fallback strategy
X-BeenThere: netconf@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: NETCONF WG list <netconf.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/netconf>, <mailto:netconf-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/netconf/>
List-Post: <mailto:netconf@ietf.org>
List-Help: <mailto:netconf-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/netconf>, <mailto:netconf-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 23 Sep 2019 07:53:03 -0000

Hi,

Kent Watsen <kent@watsen.net> wrote:
> 
> 
> > On Sep 19, 2019, at 6:53 AM, Martin Bjorklund <mbj@tail-f.com> wrote:
> > 
> > Here's a link to the discussion we had some five years ago:
> > 
> > https://mailarchive.ietf.org/arch/msg/netmod/I5it0TXGL4sL00529qZmz6jCCPs
> > <https://mailarchive.ietf.org/arch/msg/netmod/I5it0TXGL4sL00529qZmz6jCCPs>
> 
> 
> So apropos.    Yeah for email archives!
> 
> I noticed a discrepancy between the file format described in RFC 4716
> and the one `ssh-keygen` produces by default.  In order to get the
> standard public key file format, I had to use the command `ssh-keygen
> -e -m RFC4716 -f <public-or-private-key-file>`.
> 
> We can define a type for this:
> 
> 	typedef rfc4716-string {
> 	    type string;
> 	    description
> 	      "A string containing the contents of the file described by RFC
> 	      4716";
> 	    reference
> 	      "RFC 4716: The Secure Shell (SSH) Public Key File Format";
> 	}
> 
> And perhaps another for PEMs:
> 
> 	typedef pem-string {
> 	    type string;
> 	    description
> 	      "A string containing the PEM encoding of an ASN.1 structure.";
> 	    reference
> 	      "TBD";
> 	}
> 
> And then put a union into the "public-key" leaf:
> 
>     leaf public-key {
>       nacm:default-deny-write;
>       type union {
>           type rfc4716-string;
>           type pem-string;
>           type binary;
>       }
>       mandatory true;
>       description
>         "The value of the public key.  The interpretation of this value is
>          defined by 'algorithm'.  For example, algorithms using SSH
>          specific identities always use 'rfc4716-string', where algorithms
>          using X.509 specific identities encode a SubjectPublicKeyInfo
>          (RFC 5280) that may be a 'binary' (for DER encodings) or 
>          'pem-string' (for PEM encodings).";
>       reference
>         "RFC 5280: Internet X.509 Public Key Infrastructure Certificate
>                             and Certificate Revocation List (CRL) Profile";
>     }
> 
> 
> And similar for the private key?
> 
> AFAICT, that all are effectively strings doesn't matter.
> Implementations can try to parse the options until something works.
> 
> 
> Thoughts?

What's wrong with the definition we use in RFC 7317?


/martin