Re: [lamps] is the CSRattr ASN.1 broken or not ... Re: New Version Notification for draft-richardson-lamps-rfc7030-csrattrs-02.txt

David von Oheimb <David.von.Oheimb@siemens.com> Tue, 05 April 2022 14:31 UTC

Return-Path: <david.von.oheimb@siemens.com>
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 6940D3A08AE for <spasm@ietfa.amsl.com>; Tue, 5 Apr 2022 07:31:31 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -7.107
X-Spam-Level:
X-Spam-Status: No, score=-7.107 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_HI=-5, SPF_NONE=0.001, T_SCC_BODY_TEXT_LINE=-0.01, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=siemens.com
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 shThPaKXWfob for <spasm@ietfa.amsl.com>; Tue, 5 Apr 2022 07:31:26 -0700 (PDT)
Received: from EUR02-VE1-obe.outbound.protection.outlook.com (mail-ve1eur02on060c.outbound.protection.outlook.com [IPv6:2a01:111:f400:fe06::60c]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 20AFB3A08CD for <spasm@ietf.org>; Tue, 5 Apr 2022 07:31:25 -0700 (PDT)
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=DkKrZzPPQaR/txHxh40uEpr/YZAdqg+lQuAn4sFAEogbkUfBs7ycSMAkfsR3ScBQnbLbDI1VPkqh1uGkPWCJvyb6bvGhalnTHFLe06s7IcZHzDu8sf45GaVLCzD4HjzHgI04K9q4QXuCqXF4spD0eWeWSpo2vq3eqf6eQDi+zQvuMDqe7xGfyeTmXaFTUYM+cNUMxuhlVa+gyNENL++2w4+ojde2QnJaaVs0ZxeDnBv+CO1ePahWfT48VPv/92jOyh0sPfywjhFUNpUjA2ZLLW1KUmnqD3CxXDbv62To1FS4E6xJuMg/CRVQmJripv3ND0msm4tTdsa18ChA5QD76g==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=2u/nd79TtHF3yDy9LCb76THut4fErMP2KEa/23Rwt1M=; b=PkFQkRFQbqRVCBZOLjZt8y7JipiAaa2i+fZsHXpSw51eZ1P1tLW/ozdYtebv8vg+pFF5SW7J2augC0G4BIZCD2GAlICmTJkYOmjDb17V29Da+t8qHmxpOgc8WbhSOSCEZTPFhEL9YS00sDmkRETkzJvblyjX4HZ3FF/j3iPop/vaqP0BFPqn2+bFWINfXt8vLauTYl+7QdFYJ7XghXWXDgfIgwsDuGIoeqNhmM3G+C/ER0nMix+p7fcyBFom2HeB4ctEqNbFcZdrK2QdLRuwLs6Vk7m7ZWHUYbvbf2ZUDmGUC22J2HcNF6YA2p0m/MiNNhx20bQ9yk6qXtnlOkAkuA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 194.138.21.70) smtp.rcpttodomain=vigilsec.com smtp.mailfrom=siemens.com; dmarc=pass (p=none sp=none pct=100) action=none header.from=siemens.com; dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=siemens.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=2u/nd79TtHF3yDy9LCb76THut4fErMP2KEa/23Rwt1M=; b=zWlmptx99BWVxfIKXBnUe5gQeQM4xnWHZoHi3DXzhZhh57SeCD/cwZtKE4xZYmJrahApQqewQZ74IIv0YLZHlWIvJtlGvfAV/YLF/iiXRdoutYwLwDOsX+8oZKpgYgBO1atatth405UhPwT1exeGXME4LpeX+lIthMPyFervOkAvUSly3KDeHkcFpBDbq9r5WYTGO8bcVtmTEXCKTQRsabxMn9grD8rn0CFbAi0UGaTH7abz5d6dhxrXzVPsfR5THdPKP+nvruyiHV4dkiJMMOsJppSuYl0Lw6S6zkuMbNQp53Tm79iNMJNdjELhhapvSLrPNTjBCZ1wNqyHp+r/GA==
Received: from SV0P279CA0037.NORP279.PROD.OUTLOOK.COM (2603:10a6:f10:13::6) by PRAPR10MB5156.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:102:27a::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5102.19; Tue, 5 Apr 2022 14:31:21 +0000
Received: from HE1EUR01FT085.eop-EUR01.prod.protection.outlook.com (2603:10a6:f10:13:cafe::4) by SV0P279CA0037.outlook.office365.com (2603:10a6:f10:13::6) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5123.13 via Frontend Transport; Tue, 5 Apr 2022 14:31:20 +0000
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 194.138.21.70) smtp.mailfrom=siemens.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=siemens.com;
Received-SPF: Pass (protection.outlook.com: domain of siemens.com designates 194.138.21.70 as permitted sender) receiver=protection.outlook.com; client-ip=194.138.21.70; helo=hybrid.siemens.com;
Received: from hybrid.siemens.com (194.138.21.70) by HE1EUR01FT085.mail.protection.outlook.com (10.152.1.86) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.5123.19 via Frontend Transport; Tue, 5 Apr 2022 14:31:19 +0000
Received: from DEMCHDC8A0A.ad011.siemens.net (139.25.226.106) by DEMCHDC9SJA.ad011.siemens.net (194.138.21.70) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.24; Tue, 5 Apr 2022 16:31:19 +0200
Received: from [139.22.40.199] (139.22.40.199) by DEMCHDC8A0A.ad011.siemens.net (139.25.226.106) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.24; Tue, 5 Apr 2022 16:31:18 +0200
Message-ID: <230008b3fdb35674f01eb37145a9e979d35a74b2.camel@siemens.com>
From: David von Oheimb <David.von.Oheimb@siemens.com>
To: Russ Housley <housley@vigilsec.com>, LAMPS WG <spasm@ietf.org>
Date: Tue, 5 Apr 2022 16:31:17 +0200
In-Reply-To: <9649E03B-99A8-420C-8D56-CC0CD0E5F8F8@vigilsec.com>
References: <164667410940.12091.15394112688281514126@ietfa.amsl.com> <15416.1646681868@localhost> <D095D84D-9633-44BB-AA6F-440B8BC00F68@sn3rd.com> <5cfb6e20b225da072695a4f13088a8065203ca4e.camel@siemens.com> <9649E03B-99A8-420C-8D56-CC0CD0E5F8F8@vigilsec.com>
Content-Type: multipart/alternative; boundary="=-8+pRQlA7Ca36Op20KwWj"
User-Agent: Evolution 3.38.3-1
MIME-Version: 1.0
X-Originating-IP: [139.22.40.199]
X-ClientProxiedBy: DEMCHDC8A0A.ad011.siemens.net (139.25.226.106) To DEMCHDC8A0A.ad011.siemens.net (139.25.226.106)
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 07705f4f-d881-4255-e4b4-08da1710f366
X-MS-TrafficTypeDiagnostic: PRAPR10MB5156:EE_
X-Microsoft-Antispam-PRVS: <PRAPR10MB5156DB8793389066C85A7CDDD2E49@PRAPR10MB5156.EURPRD10.PROD.OUTLOOK.COM>
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info: +yn+2WyZsPR7WUgZxPmiEDNLLaL1uAkO3yCfBw8JeVC+/kPcuYn7Ue/SklY7WXrLSdLdDyCCSbkCFSdukCs52m1Qu5rmwXAROntZvG9MHnAkfiZWWUR26vR+ZFeUUoAu8y0+35QPZUbG52xa6+ZFyOjj1SLSztg06oPxvUoE329842c+YNsU1Ic5Ec2WReKqFq6BE+ZGWnwfM4ygCFi2mYXC937qYl1s5woiWqRFbqigOD1WfNtvhVoYhEWamI5BjrVa2bBisAleMZzrRRKoBrCwMj1r7UdrarLcpZ+Ti6mGT6TC38+7Tups6IAhnYETKK1+jG2mYsRy9CwSHbnEHUnnXqYBOzeiXTx62Rt0f4K4lKe8MP5yKWFnzCcNP6ZDMZMmVV8vf/fH3TcFcCpgeWc2LANPJciyucA7e9Y5ry9rjqKRye3rHZH/gLY/HXdM+d4TjiLfw7nrhZbAzsMr53K3uchIShiHjsizk8AdgpS2tU6x+1DD/FfscXWOsqXuTiBN2AcW0csd8ifM20cquDNweJ+gGR9TPdonb7hTy+gTxLu8INCGS65AXgNIpVo0j0VJj0kPRwFY8criKd/eW1ja2V5BWDPhKxGzNgsA+eiajIe1u1XtLqXHOlYJwE/KhjAUCFb0NNciUpqtbA21Zh00ZNcXGruwSKkaRDe6zvcGebtIqD0EfGiKz6kWVQkTf0mVCxlCuBf5XY4lZzW5t99ndqNSJAp9yuwoMHwoAD8yWzmp9GHhcoIo75lMo7z7gdnnpJsX155iELOvCrvZsRcpKLCbIKF+ilF7mddQgYs=
X-Forefront-Antispam-Report: CIP:194.138.21.70; CTRY:DE; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:hybrid.siemens.com; PTR:hybrid.siemens.com; CAT:NONE; SFS:(13230001)(4636009)(46966006)(36840700001)(40470700004)(508600001)(70586007)(7636003)(82310400005)(86362001)(356005)(82960400001)(36756003)(47076005)(966005)(166002)(7596003)(40460700003)(36860700001)(956004)(30864003)(186003)(2616005)(6706004)(316002)(8676002)(53546011)(2906002)(336012)(33964004)(19627235002)(83380400001)(26005)(110136005)(16526019)(16576012)(70206006)(8936002)(5660300002)(3940600001); DIR:OUT; SFP:1101;
X-OriginatorOrg: siemens.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Apr 2022 14:31:19.6087 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 07705f4f-d881-4255-e4b4-08da1710f366
X-MS-Exchange-CrossTenant-Id: 38ae3bcd-9579-4fd4-adda-b42e1495d55a
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=38ae3bcd-9579-4fd4-adda-b42e1495d55a; Ip=[194.138.21.70]; Helo=[hybrid.siemens.com]
X-MS-Exchange-CrossTenant-AuthSource: HE1EUR01FT085.eop-EUR01.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PRAPR10MB5156
Archived-At: <https://mailarchive.ietf.org/arch/msg/spasm/GVIns7wpbRUDUlo-JvDmZExIsUY>
Subject: Re: [lamps] is the CSRattr ASN.1 broken or not ... Re: New Version Notification for draft-richardson-lamps-rfc7030-csrattrs-02.txt
X-BeenThere: spasm@ietf.org
X-Mailman-Version: 2.1.29
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: Tue, 05 Apr 2022 14:31:32 -0000

The problem space is a little more tricky:

* Backward compatibility is an important aim.

  In case it turns out that compatibility anyway needs to be abandoned,
  I'd suggest the following straightforward fully to-the-point type,
  which does not require any (direct) OIDs:

   CsrAttrs ::= SEQUENCE {
        subject               Name OPTIONAL,
        extensions            SEQUENCE OF Extension, /* use empty extnValue for those extensions to be filled in by client */
        challengePassword     BOOLEAN,
        keySpec           [0] KeySpec OPTIONAL,
        hashAlg           [1] AlgorithmIdentifier OPTIONAL

   }

* The ambiguity between the server specifying required X.509 extension
OIDs or actual X.509 extension values needs to be sorted out, on a per-
extension basis.
   That is, it should be made possible to specify a set of extensions to
be included in the CSR, where for each of them the server may provide
the value or not.

 David

On Tue, 2022-04-05 at 10:00 -0400, Russ Housley wrote:
> I would like to up-level this discussion.  Since the CrsAttrs is
> flexible enough that more than one way to use it has been described
> for the very same CSR information, I suspect that what we need is to
> specify conventions for the CSR information that people are actually
> using.  And, we can add more in the future if needed.
> 
> Looking to RFC 7030, there are several cases that are discussed in
> Section 4.5.2:
> 
> - the CA requires a particular crypto system
> 
> - the CA requires use of a particular signature scheme
> 
> - the EST server requires the linking of identity
> 
> - the EST server requires POP information
> 
> And, for some of the above, it includes guidance:
> 
> -  Requests to use a particular signature scheme (e.g. using a
>    particular hash function) are represented as an OID to be reflected
>    in the SignatureAlgorithm of the CSR
> 
> -  Requests to use a particular
>    crypto system (e.g., certification of a public key based on a
> certain
>    elliptic curve) are represented as an attribute, to be reflected as
>    the AlgorithmIdentifier of the SubjectPublicKeyInfo, with a type
>    indicating the algorithm and the values indicating the particular
>    parameters specific to the algorithm
> 
> -  Requests for descriptive
>    information from the client are made by an attribute, to be
>    represented as Attributes of the CSR, with a type indicating the
>    [RFC2985] extensionRequest and the values indicating the particular
>    attributes desired to be included in the resulting certificate's
>    extensions
> 
> So, can we list various CSR information that people actually use or
> want to use, and then specify conventions for each one.
> 
> The convention should say what the EST server puts in this structure,
> and the expected result in the CSR if the EST client understands that
> OID.
> 
> Russ
> 
> 
> > On Apr 5, 2022, at 8:30 AM, David von Oheimb
> > <David.von.Oheimb@siemens.com> wrote:
> > 
> > As I wrote earlier, the way CSRattrs are defined for EST in RFC
> > 7030 section 4.5.2:
> > 
> > CsrAttrs ::= SEQUENCE SIZE (0..MAX) OF AttrOrOID
> > 
> > AttrOrOID ::= CHOICE (oid OBJECT IDENTIFIER, attribute Attribute }
> > 
> > Attribute { ATTRIBUTE:IOSet } ::= SEQUENCE {
> > type ATTRIBUTE.&id({IOSet}),
> > values SET SIZE(1..MAX) OF ATTRIBUTE.&Type({IOSet}{@type}) }
> > 
> > is 
> > 
> > * pretty incomprehensible, at least for ASN.1 non-experts
> > * very ambiguous: how to interpret bare OIDs and attribute type OIDs
> > that the server my throw in is not really defined, apart from a few
> > hints and examples,
> >   and it is left entirely open which values are allowed for which
> > attribute type OIDs
> > * not fully expressive: at least subject DNs (or parts of them)
> > cannot be specified
> > 
> > Moreover, as recently discussed here again, the example given in RFC
> > 7030 for the macAddress extension was pretty unfortunate in the
> > sense that
> > it seemed to preclude the case that an actual extension value is
> > given by the server, while I agree with Sean that the above weird
> > ASN.1 syntax should allow for that.
> > 
> > 
> > On Tue, 2022-03-29 at 13:31 -0400, Sean Turner wrote:
> > > 
> > > So that base64 blob turns into the following (this is not actual
> > > ASN.1. I trimmed SEQUENCE -> SEQ, OBJECT IDENTIFIER -> OID, etc.
> > > to make it prettier)
> > > 
> > > SEQ (4 elem)
> > >   OID 1.2.840.113549.1.9.7 challengePassword (PKCS #9)
> > >   SEQ (2 elem)
> > >     OID 1.2.840.10045.2.1 ecPublicKey (ANSI X9.62 public key type)
> > >     SEQ OF (1 elem)
> > >       OID 1.3.132.0.34 secp384r1 (SECG (Certicom) named elliptic
> > > curve)
> > >   SEQ (2 elem)
> > >     OID 1.2.840.113549.1.9.14 extensionRequest (PKCS #9 via CRMF)
> > >     SEQ OF (1 elem)
> > >       OID 1.3.6.1.1.1.1.22
> > >   OID 1.2.840.10045.4.3.3 ecdsaWithSHA384 (ANSI X9.62 ECDSA
> > > algorithm with SHA384)
> > > 
> > > What I am saying is either:
> > > 
> > > a) The PKCS #9 via CRMF extensionRequest attribute should have had
> > > a properly encoded attribute when it was sent to the client. I
> > > mean strictly speaking the extensionRequest does include a
> > > type/value where type=extensionRequest and value=OID for
> > > macAdddress. BUT, the macAddress attribute also has a type/value
> > > that should have been included. This is how the attribute is
> > > defined (loosely):
> > > 
> > >         ( nisSchema.1.22 NAME 'macAddress'
> > >           DESC 'MAC address in maximal, colon separated hex
> > >                 notation, eg. 00:00:92:90:ee:e2'
> > >           EQUALITY caseIgnoreIA5Match
> > >           SYNTAX 'IA5String{128}' )
> > > 
> > > We really shouldn’t have just dropped the value part of the
> > > attribute/extension carried in extensionRequest.  We could have
> > > said set the macAddress to “00" and then the client could include
> > > their actual mac address. But alas, we didn’t.
> > 
> > 
> > The question is which kind of values (of type
> > ATTRIBUTE.&Type({IOSet}{@type}) ) should be given
> > in case the OID  (of type  ATTRIBUTE.&id({IOSet})) is
> > 1.2.840.113549.1.9.14 extensionRequest:
> > Is each such value supposed to be 
> > 1. an OID of an X.509 extension, such as 1.3.6.1.1.1.1.22
> > (macAddress), without a value, or
> > 2. an actual X.509 extension of the existing type Extension (or
> > Extensions) as defined in RFC 5280 section 4.1,
> >     for example the OID 1.3.6.1.1.1.1.22 followed by the 'critical'
> > flag and its actual value encoded as an OCTET STRING
> > 
> > Note that for syntactic and semantics reasons you cannot have both -
> > either 
> > 1. the example given in RFC 7030 was correct, then no X.509
> > extension value can be given by the server, or
> > 2. the example was wrong, and a value must be given by the server. 
> >     Yet the OCTET STRING could be the empty string to indicate that
> > the client should fill in the real value.
> >     The Lightweight CMP Profile also employs this trick of using an
> > empty extnValue
> >     in its section 4.3.3. (Get certificate request template):
> >  
> >
>   https://datatracker.ietf.org/doc/html/draft-ietf-lamps-lightweight-cmp-profile#section-4.3.3
> > 
> > The latter option is obviously more expressive, but note that this
> > contradicts the example of RFC 7030, 
> > and thus chances are high that (most) existing EST implementations
> > chose the first option, which is not compatible with the second.
> > 
> > 
> > > b) We picked the wrong kind attribute to request macAddress from
> > > the client. I cannot remember if it’s supposed to be naming
> > > component or an actual extension?
> > 
> > 
> > Apart from the two possibilities I just gave, I do not see how else,
> > given given the CsrAttrs syntax, 
> > one should have requested a macAddress X.509 extension where the
> > value is to be filled by the client.
> > 
> > 
> > > 
> > > >   As an aside, why can't the RA just rewrite the CSR and include
> > > > the
> > > > particular name it wants to impose on the EE? Yes, signature
> > > > will be
> > > > wrong but the CA shouldn't care because the RA is vouching for
> > > > it.
> > > > Right? Why won't that also fix this problem?
> > > 
> > > In most instances, the RA could amend the CSR by adding/changing
> > > values. The CA would trust a valid sig from the RA to vouch for
> > > the changes.
> > 
> > 
> > As I commented earlier,
> > PKCS#10 requires a self-signature within the CSR structure, which
> > that RA cannot provide, so there are basically two options:
> > * cheat and give a bogus signature to be ignored by the CA, or 
> > * switch to a more expressive CSR syntax like CRMF, which supports
> > popo=raVerified
> >    (i.e., the RA vouches for having checked the original proof of
> > possession by the client and does not provide a new one) 
> > 
> > 
> > On Fri, 2022-03-25 at 07:35 -0400, Sean Turner wrote:
> > > Sorry if I wasn’t clearer before about a “fix”. I think the
> > > examples in RFC 7030 could be fixed and maybe make it clear that
> > > you either send the “oid” if the server is saying hey send me a
> > > request with a value that you (the client) supply or “attribute”
> > > if the server is saying he send me a request with a value that I
> > > (the server) supply. Right now, RFC 7030 s4.5.2 includes an ASN.1
> > > blob for the following examples:
> > > 
> > >        OID:        challengePassword (1.2.840.113549.1.9.7)
> > > 
> > >          Attribute:  type = extensionRequest
> > > (1.2.840.113549.1.9.14)
> > >                      value = macAddress (1.3.6.1.1.1.1.22)
> > > 
> > >          Attribute:  type = id-ecPublicKey (1.2.840.10045.2.1)
> > >                      value = secp384r1 (1.3.132.0.34)
> > > 
> > >          OID:        ecdsaWithSHA384 (1.2.840.10045.4.3.3)
> > > 
> > > We can expand the examples to:
> > > 
> > > 1. Include a challengePassword with a value (caveats included
> > > about making sure it is protected when in transit) using the
> > > Attribute option.
> > 
> > 
> > It would make little sense for the server to provide a
> > challengePassword value - this is to be given by the client in order
> > to authenticate itself.
> > 
> > 
> > > 2. Modify the extensionRequest example to include the right
> > > attribute value:
> > > 
> > > ExtensionRequest ::= Extensions
> > > 
> > > 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
> > >         }
> > > 
> > > Where:
> > > 
> > > extnID: 1.3.6.1.1.1.1.22
> > > critical: FALSE and not encoded.
> > > extnValue’s OCTET STRING is an IA5String.
> > > 
> > > This making sense?
> > 
> > 
> > Yes - using the existing (Extensions or) Extension datatype does
> > make sense.
> > This is one of the two options I also describe above.
> > 
> > David
> > 
>