[lamps] strugling with CSRAttrs

Michael Richardson <mcr+ietf@sandelman.ca> Mon, 11 July 2022 02:18 UTC

Return-Path: <mcr+ietf@sandelman.ca>
X-Original-To: spasm@ietfa.amsl.com
Delivered-To: spasm@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 636B9C157B5F for <spasm@ietfa.amsl.com>; Sun, 10 Jul 2022 19:18:29 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.706
X-Spam-Level:
X-Spam-Status: No, score=-1.706 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_INVALID=0.1, DKIM_SIGNED=0.1, RCVD_IN_ZEN_BLOCKED_OPENDNS=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01, URIBL_BLOCKED=0.001, URIBL_DBL_BLOCKED_OPENDNS=0.001, URIBL_ZEN_BLOCKED_OPENDNS=0.001] autolearn=no autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=neutral reason="invalid (public key: not available)" header.d=sandelman.ca
Received: from mail.ietf.org ([50.223.129.194]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id Af_c6Xopvm5i for <spasm@ietfa.amsl.com>; Sun, 10 Jul 2022 19:18:25 -0700 (PDT)
Received: from tuna.sandelman.ca (tuna.sandelman.ca [IPv6:2607:f0b0:f:3:216:3eff:fe7c:d1f3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 25CFFC15948A for <spasm@ietf.org>; Sun, 10 Jul 2022 19:18:24 -0700 (PDT)
Received: from localhost (localhost [127.0.0.1]) by tuna.sandelman.ca (Postfix) with ESMTP id 1DFBD1861D; Sun, 10 Jul 2022 22:35:42 -0400 (EDT)
Received: from tuna.sandelman.ca ([127.0.0.1]) by localhost (localhost [127.0.0.1]) (amavisd-new, port 10024) with LMTP id qMs_xbbGU660; Sun, 10 Jul 2022 22:35:41 -0400 (EDT)
Received: from sandelman.ca (obiwan.sandelman.ca [209.87.249.21]) by tuna.sandelman.ca (Postfix) with ESMTP id 6AB651833D; Sun, 10 Jul 2022 22:35:41 -0400 (EDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=sandelman.ca; s=mail; t=1657506941; bh=ZcV09tUNxs/N29FS6Kqh/5QqD4bO95nPdU/mPV7P06o=; h=From:To:Subject:Date:From; b=nc5FhliF4ozaIK1ApWvrmyFCb2z9GHgorTgK5iheuK/WnGprblvM5Oj4L/vN8K4HN DSrDtLLRxHf55qKNOt7h68RDSDq+GcNN1iskDStjlJikphkCh8bnjbClQavDTmNx6e 1IREwO+HkuolszfXIriFsCF8O+z7NT5avA+f0ok+w5LJFphpUWoWjlyO46LlJ/5Bcl PIe0gm7ds6+OOu6VV7LL/vclYaU6/g7m/1hUKchhjSVFinkc+j3lNL2vTVJeArBcUy QqpIDzUKN8G8YtGpw7S8yccvouDWReQoTxd0K3WPkoIZoUPdf1E6808AY3f3xbDC/s wXKyhojg3WDwA==
Received: from localhost (localhost [IPv6:::1]) by sandelman.ca (Postfix) with ESMTP id D0EA742; Sun, 10 Jul 2022 22:18:21 -0400 (EDT)
From: Michael Richardson <mcr+ietf@sandelman.ca>
To: Sean Turner <sean@sn3rd.com>, LAMPS WG <spasm@ietf.org>
X-Attribution: mcr
X-Mailer: MH-E 8.6+git; nmh 1.7+dev; GNU Emacs 27.1
X-Face: $\n1pF)h^`}$H>Hk{L"x@)JS7<%Az}5RyS@k9X%29-lHB$Ti.V>2bi.~ehC0; <'$9xN5Ub# z!G,p`nR&p7Fz@^UXIn156S8.~^@MJ*mMsD7=QFeq%AL4m<nPbLgmtKK-5dC@#:k
MIME-Version: 1.0
Content-Type: multipart/signed; boundary="=-=-="; micalg="pgp-sha512"; protocol="application/pgp-signature"
Date: Sun, 10 Jul 2022 22:18:21 -0400
Message-ID: <12352.1657505901@localhost>
Archived-At: <https://mailarchive.ietf.org/arch/msg/spasm/25icXrbFc21n6qCyJSydRUk0H8c>
Subject: [lamps] strugling with CSRAttrs
X-BeenThere: spasm@ietf.org
X-Mailman-Version: 2.1.39
Precedence: list
List-Id: "This is a venue for discussion of doing Some Pkix And SMime \(spasm\) work." <spasm.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/spasm>, <mailto:spasm-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/spasm/>
List-Post: <mailto:spasm@ietf.org>
List-Help: <mailto:spasm-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/spasm>, <mailto:spasm-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 11 Jul 2022 02:18:29 -0000

Sean, sorry to be asking this with less than 24h to ID cut-off.
I didn't want to post an updated ID until I had example code that produced
what I *thought* you are suggesting.  Moving a SEQ/SET around isn't that
hard... only now I've confused myself.

We had:

   CsrAttrs ::= SEQUENCE SIZE (0..MAX) OF AttrOrOID

   AttrOrOID ::= CHOICE (oid OBJECT IDENTIFIER,
                         attribute Attribute }

   Attribute { ATTRIBUTE:IOSet } ::= SEQUENCE {
        extType  ATTRIBUTE.&id({IOSet}),
        extAttr  SET SIZE(1..MAX) OF ATTRIBUTE.&Type({IOSet}{@type})
   }

with the understanding that extAttr could be a SET of Extensions.
Each Extension is given by:

   Extensions  ::=  SEQUENCE SIZE (1..MAX) OF Extension

   Extension  ::=  SEQUENCE  {
        extnID      OBJECT IDENTIFIER,
        critical    BOOLEAN DEFAULT FALSE,
        extnValue   OCTET STRING
                    -- contains the DER encoding of an ASN.1 value
                    -- corresponding to the extension type identified
                    -- by extnID
        }


1) I'm not sure why I need a SET of a Sequence, unless your intent was that
   extAttr could be an *Extension* ??  I'm gonna go with yes here, but I
   didn't code that yet.

2) I think that extnID would be things like subjectAltName,
   i.e. OID: 2.5.29.17

But, if so, what is extType for this?

ASN1 that I have right now, where I've put subjectAltName in twice:

obiwan-[projects/pandora/fountain](2.6.6) mcr 10396 %dumpasn1 tmp/csr_bulb1.der
  0  84: SEQUENCE {
  2  82:   SEQUENCE {
  4   3:     OBJECT IDENTIFIER subjectAltName (2 5 29 17)  <--- WHAT GOES HERE?
  9  75:     SET {
 11  73:       SEQUENCE {   <--- SEQUENCE here might be undesired.
 13   3:         OBJECT IDENTIFIER subjectAltName (2 5 29 17)
 18   3:         [0] {
 20   1:           BOOLEAN TRUE
       :           }
 23  61:         SEQUENCE {
 25  59:           [0] {
 27  57:             UTF8String
       :               'rfc8994+fd739fc23c3440112233445500000000+@acp.ex'
       :               'ample.com'
       :             }
       :           }
       :         }
       :       }
       :     }
       :   }

--
Michael Richardson <mcr+IETF@sandelman.ca>   . o O ( IPv6 IøT consulting )
           Sandelman Software Works Inc, Ottawa and Worldwide