[Acme] Re: Call for adoption: draft-geng-acme-public-key-06 (Ends 2026-05-12)

皮皮猪 <507069@qq.com> Tue, 05 May 2026 23:47 UTC

Return-Path: <507069@qq.com>
X-Original-To: acme@mail2.ietf.org
Delivered-To: acme@mail2.ietf.org
Received: from localhost (localhost [127.0.0.1]) by mail2.ietf.org (Postfix) with ESMTP id 7CA2FE9909A9; Tue, 5 May 2026 16:47:24 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ietf.org; s=ietf1; t=1778024844; bh=Qg9rjTSfj4dRI9QK0HZUBk0MLtREDEaqikRIBitVc5k=; h=From:To:Cc:Subject:Date:References:In-Reply-To; b=VQUHcMk9TUWKrPHyJ0BuZ2/FW0hGZFpPpi1nd1/mHGpo7dHzIDgePNd+ry8zzafic 4hp9bCIN9EcOo00lBlo18M8m7YmJlBNyYSBuqploQWyeMH51KyfXkZL7/KHrG4acSk 2+FKTfZOMVpYgX5aDDnbXWM5ARGDsn9RF4PdBL/M=
X-Virus-Scanned: amavisd-new at ietf.org
X-Spam-Flag: NO
X-Spam-Score: -1.846
X-Spam-Level:
X-Spam-Status: No, score=-1.846 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, FREEMAIL_ENVFROM_END_DIGIT=0.25, FREEMAIL_FROM=0.001, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_VALIDITY_CERTIFIED_BLOCKED=0.001, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Authentication-Results: mail2.ietf.org (amavisd-new); dkim=pass (1024-bit key) header.d=qq.com
Received: from mail2.ietf.org ([166.84.6.31]) by localhost (mail2.ietf.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id sd9dnbcUutlr; Tue, 5 May 2026 16:47:20 -0700 (PDT)
Received: from xmbghk7.mail.qq.com (xmbghk7.mail.qq.com [43.163.128.43]) (using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail2.ietf.org (Postfix) with ESMTPS id 1453CE99099B; Tue, 5 May 2026 16:47:17 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qq.com; s=s201512; t=1778024828; bh=1gLRl00QuW+TbqRa4QfxHY7q1ypL1oDNsprkoWa0hQQ=; h=From:To:Cc:Subject:Date:References:In-Reply-To; b=vN894gJQXXpxHdRihJWDcEZKzlC/iOBsupfdIiOKmcNd5N1hTe2cOw+wswqduiroC F5hSDDePVdf2GxGvkBL8JnkZUIasLPwwak7eiwN0DHnbgr7+w1YrmXJIh0VnXt8PsG F1JDM4MxfHeLmbBxpKw2tgaeFrR0t1o+y5iLMA90=
X-QQ-XMRINFO: Mp0Kj//9VHAx39LQShQ63iTqdJn5UuyUvg==
X-QQ-XMAILINFO: NX669osvFPDa21lEg1/vNdFYUKyUg+I5Z4mQfzuKPBL+sdxepSgyQLctpaHVHA i4TS907VnLOCD8UAJslANbbMsAiPB4NAGl7rWiQ24bXLroiqz89PEh4SV3wqaNLSk38eYHT+7+hq9 48JI9mLhj0YmPdR3Jd5sNRtEGnsGq931GnUHa5UG2R8mwnFJ2CeEth7Hxule63gluWza9UE51duHo iG6tvH2r6C53J2ZZDkIFY9WOzvAs+lKj8gELOYclScwQ6pB352+akNh8St/vGSmpJTdJzzYda0t53 noi0gqCyLuXICf5J0C0eTWCCXBXBRQZr88JPcVX7bOdljRHArhVSa5M5xRF/oIrWZzwKTVUqU8DCp unxm9/4C2YB4mHk+AgWJadaEDZdWH7SudGi/nZn1i7dLn+dGq/vHbJ52judaJ5EtcrzwobjT0304j AhH8LMjruorI6rStgT2DK2rLA99IwNBwgbEYJ9E/iu7jSa5bI5qwYoEkWhQBwOh4a8JElMKyoVHC4 kHYsAfCA6vhOhziUqJxefxjRtsqEHajPXCio/vcnKTu5qtX9Pho2y7OmcLBFoknRYJP0L+geSsaIU qlX8Gp0vY0Rv8zKMU9hbgsOiPKvqhP7uc78JkYZw01VbQwobRQCX7d+YG/9Jv/kM7x2EdX7d44nVl +1pjMrr5fNUvvJcAhS1gym9awD4bqixF6zrqVoSBQLbY58Sn/sdn3vosxQxNpCW55KRQYSezoPl+y Sh+SksVGeaYra8a3tCJ+ERdbv18A8qmPtv/EvUHlStbIB8SltFjCojODcYHA7Fldlq2LNGRhn/1oU JQLyDkgdnazSYG2OR7x88c8PsceKO0SmiIxuHctWnR+0TOdMKVCyPUiqO7p4cMSN1URClumTT3vUh CeAgzCcYF5+GVW/oqKS4zKAeOBPB3dD3ZmKN2Q6ONQhT7U6CEsiaJ7gsSglZGCOs7UoI1VwicBYTE huS5e7d7AY4lNMKTa5zsTmglBJNgol6KAIHOL27vhIwg73PgEl8jpPQbLmnunyDk1a+JVuASxAtco 7AC2T7IH2JdP2KKtTknedZNf/R3FYPsP8FiSAGPPKJb8AeXg=
From: 皮皮猪 <507069@qq.com>
To: Michael Richardson <mcr+ietf@sandelman.ca>
Mime-Version: 1.0
Content-Type: multipart/alternative; boundary="----=_NextPart_69FA817B_7B6026E0_1050AEF3"
Content-Transfer-Encoding: 8bit
Date: Wed, 06 May 2026 07:47:07 +0800
X-Priority: 3
Message-ID: <tencent_7146BE905DBABB49315C4106E6AE619D2D0A@qq.com>
X-QQ-MIME: TCMime 1.0 by Tencent
X-Mailer: QQMail 2.x
X-QQ-Mailer: QQMail 2.x
References: <177741722137.243357.10440835172964235548@dt-datatracker-b45949c58-t72jx> <15374.1777570611@obiwan.sandelman.ca> <3BE2723E-6FD5-45F3-B5AF-BE5C2D05B91F@trustasia.com> <23423.1777994174@obiwan.sandelman.ca>
In-Reply-To: <23423.1777994174@obiwan.sandelman.ca>
X-QQ-mid: xmseza56-0t1778024827ti0d0ri7c
Message-ID-Hash: FDZ33MDV4ED5736ALF3BV4JSBPEWAJUC
X-Message-ID-Hash: FDZ33MDV4ED5736ALF3BV4JSBPEWAJUC
X-MailFrom: 507069@qq.com
X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; header-match-acme.ietf.org-0; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header
CC: "acme@ietf.org" <acme@ietf.org>, "wupanyuuu@gmail.com" <wupanyuuu@gmail.com>, draft-geng-acme-public-key <draft-geng-acme-public-key@ietf.org>
X-Mailman-Version: 3.3.9rc6
Precedence: list
Subject: [Acme] Re: Call for adoption: draft-geng-acme-public-key-06 (Ends 2026-05-12)
List-Id: Automated Certificate Management Environment <acme.ietf.org>
Archived-At: <https://mailarchive.ietf.org/arch/msg/acme/uynJqY7hMCvo1sUDq9EalCk2CA8>
List-Archive: <https://mailarchive.ietf.org/arch/browse/acme>
List-Help: <mailto:acme-request@ietf.org?subject=help>
List-Owner: <mailto:acme-owner@ietf.org>
List-Post: <mailto:acme@ietf.org>
List-Subscribe: <mailto:acme-join@ietf.org>
List-Unsubscribe: <mailto:acme-leave@ietf.org>

Hi Michael,

To clarify the architectural reasoning behind the pk-01 proposal, I would like to outline how we see the verification dimensions in ACME.

ACME [RFC8555] models certificate enrollment as an order containing a set of identifiers. Each identifier maps to an authorization that carries a set of challenges. Existing challenges such as dns-01 and http-01 address Domain Control Validation (DCV).

Early versions of the pk-01 draft (prior to -05) also explored Identity Control Validation (ICV) for non-DCV scenarios. This line of exploration originated from the sso-01 draft and several subsequent related drafts.At that stage, public-key identity binding and Proof-of-Possession (PoP) were interleaved, aiming to shift the paradigm from "controlling communication resources" toward "controlling the claimed identity."

Following extensive discussion, beginning around draft -05/-06, community feedback converged on the view that PoP should be fully decoupled as an independent component. The central question, therefore, is not whether to replace the CSR, but rather: what mechanism should prove possession of a public key, and how can that mechanism be combined orthogonally with both the existing DCV framework in ACME and any future ICV?

In short, the ACME protocol suite comprises three independent verification dimensions, each supported by its own protocol framework. DCV and ICV stand as parallel capabilities; either can independently satisfy identifier validation and support certificate issuance. PoP is an independent verification dimension. It may be used together with DCV or ICV and may also serve alone as the basis for certificate requests when an order contains only the "pk" identifier.

In my understanding, the three are fully orthogonal to each other.
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; ACME identifier
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; |
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp;+------------+------------+
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp;| &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; | &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; |
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;dns-01 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;pk-01 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;idp-01
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; | &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; | &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; |
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; v &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; v &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;v
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;DCV &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;PoP &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;ICV
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; | &nbsp; &nbsp;&nbsp;&nbsp; (fully decoupled) &nbsp;&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;|
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; +------------+------------+
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; | &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; |
&nbsp;DCV + (PoP) &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;ICV + (PoP)


DCV&nbsp;[RFC8555]: Do you control this domain name?
ICV (idp-01): Do you control this identity?
PoP (pk-01): Do you possess this private key?


Best regards&nbsp;
Geng Feng &nbsp; &nbsp; &nbsp; &nbsp;&nbsp;
         原始邮件
         
       
发件人:Michael Richardson <mcr+ietf@sandelman.ca&gt;
发件时间:2026年5月5日 23:16
抄送:acme@ietf.org <acme@ietf.org&gt;, 507069@qq.com <507069@qq.com&gt;, wupanyuuu@gmail.com <wupanyuuu@gmail.com&gt;
主题:Re: [Acme] Call for adoption: draft-geng-acme-public-key-06 (Ends 2026-05-12)




palos.chen&nbsp;<palos.chen@trustasia.com&gt;&nbsp;wrote:
&nbsp;&nbsp;&nbsp;&nbsp;&gt;&gt;&nbsp;It&nbsp;seems&nbsp;that&nbsp;this&nbsp;almost&nbsp;suffers&nbsp;from&nbsp;the&nbsp;same&nbsp;mis-understanding&nbsp;of
&nbsp;&nbsp;&nbsp;&nbsp;&gt;&gt;&nbsp;challenges&nbsp;as&nbsp;acme-rats&nbsp;originally&nbsp;did.&nbsp;At&nbsp;least&nbsp;though,&nbsp;the&nbsp;intention
&nbsp;&nbsp;&nbsp;&nbsp;&gt;&gt;&nbsp;is&nbsp;that&nbsp;it&nbsp;is&nbsp;pk-01&nbsp;OR&nbsp;dns-01&nbsp;OR&nbsp;http-01&nbsp;OR&nbsp;...&nbsp;(not&nbsp;AND&nbsp;as&nbsp;rats
&nbsp;&nbsp;&nbsp;&nbsp;&gt;&gt;&nbsp;needed)

&nbsp;&nbsp;&nbsp;&nbsp;&gt;&nbsp;In&nbsp;-07,&nbsp;pk-01&nbsp;is&nbsp;no&nbsp;longer&nbsp;entangled&nbsp;with&nbsp;identifier&nbsp;validation.&nbsp;We
&nbsp;&nbsp;&nbsp;&nbsp;&gt;&nbsp;introduced&nbsp;a&nbsp;new&nbsp;"pk"&nbsp;identifier&nbsp;type&nbsp;(Section&nbsp;3);&nbsp;pk-01&nbsp;is&nbsp;bound&nbsp;to
&nbsp;&nbsp;&nbsp;&nbsp;&gt;&nbsp;"pk"&nbsp;identifiers&nbsp;and&nbsp;proves&nbsp;possession&nbsp;of&nbsp;the&nbsp;certificate&nbsp;private&nbsp;key
&nbsp;&nbsp;&nbsp;&nbsp;&gt;&nbsp;only.&nbsp;Existing&nbsp;challenges&nbsp;(dns-01,&nbsp;http-01,&nbsp;...)&nbsp;remain&nbsp;bound&nbsp;to&nbsp;their
&nbsp;&nbsp;&nbsp;&nbsp;&gt;&nbsp;own&nbsp;identifier&nbsp;types&nbsp;per&nbsp;[RFC8555]&nbsp;without&nbsp;modification.

But,&nbsp;it's&nbsp;the&nbsp;wrong&nbsp;approach.
You&nbsp;have&nbsp;to&nbsp;change&nbsp;pk-01&nbsp;each&nbsp;time&nbsp;someone&nbsp;comes&nbsp;along&nbsp;with&nbsp;a&nbsp;new&nbsp;challenge
type.&nbsp;&nbsp;&nbsp;What&nbsp;you&nbsp;are&nbsp;doing&nbsp;is&nbsp;orthogonal&nbsp;to&nbsp;the&nbsp;challenge.

&nbsp;&nbsp;&nbsp;&nbsp;&gt;&nbsp;The&nbsp;async/sync&nbsp;modes&nbsp;of&nbsp;-06&nbsp;are&nbsp;entirely&nbsp;removed&nbsp;in&nbsp;-07.&nbsp;pk-01&nbsp;no
&nbsp;&nbsp;&nbsp;&nbsp;&gt;&nbsp;longer&nbsp;carries&nbsp;any&nbsp;identifier&nbsp;control&nbsp;role.&nbsp;Existing&nbsp;extensions
&nbsp;&nbsp;&nbsp;&nbsp;&gt;&nbsp;(onion-csr-01,&nbsp;subdomain,&nbsp;dns-persist,&nbsp;etc.)&nbsp;continue&nbsp;to&nbsp;operate
&nbsp;&nbsp;&nbsp;&nbsp;&gt;&nbsp;unchanged&nbsp;alongside&nbsp;pk-01.

okay,&nbsp;but&nbsp;I&nbsp;still&nbsp;think&nbsp;this&nbsp;is&nbsp;the&nbsp;wrong&nbsp;direction.
I&nbsp;think&nbsp;that&nbsp;what&nbsp;you&nbsp;are&nbsp;proposing&nbsp;is&nbsp;useful,&nbsp;but&nbsp;it's&nbsp;a&nbsp;fundamental&nbsp;change
to&nbsp;ACME,&nbsp;and&nbsp;should&nbsp;be&nbsp;treated&nbsp;that&nbsp;way.

&nbsp;&nbsp;&nbsp;&nbsp;&gt;&gt;&nbsp;Replacing&nbsp;the&nbsp;CSR&nbsp;with&nbsp;something&nbsp;better,&nbsp;something&nbsp;that&nbsp;can&nbsp;deal&nbsp;with
&nbsp;&nbsp;&nbsp;&nbsp;&gt;&gt;&nbsp;keys&nbsp;that&nbsp;can't&nbsp;make&nbsp;signatures&nbsp;(either&nbsp;do&nbsp;to&nbsp;math&nbsp;or&nbsp;policy)&nbsp;is
&nbsp;&nbsp;&nbsp;&nbsp;&gt;&gt;&nbsp;important.&nbsp;I&nbsp;had&nbsp;proposed&nbsp;work&nbsp;like&nbsp;this&nbsp;if/when&nbsp;we&nbsp;start&nbsp;RFC7030bis.

&nbsp;&nbsp;&nbsp;&nbsp;&gt;&nbsp;We&nbsp;share&nbsp;this&nbsp;motivation.&nbsp;KEM-key&nbsp;support&nbsp;is&nbsp;in&nbsp;fact&nbsp;one&nbsp;of&nbsp;the
&nbsp;&nbsp;&nbsp;&nbsp;&gt;&nbsp;primary&nbsp;reasons&nbsp;for&nbsp;a&nbsp;dedicated&nbsp;PoP&nbsp;mechanism&nbsp;rather&nbsp;than&nbsp;relying&nbsp;on
&nbsp;&nbsp;&nbsp;&nbsp;&gt;&nbsp;the&nbsp;CSR&nbsp;self-signature,&nbsp;which&nbsp;is&nbsp;impossible&nbsp;for&nbsp;KEM-only&nbsp;keys.&nbsp;-07
&nbsp;&nbsp;&nbsp;&nbsp;&gt;&nbsp;supports&nbsp;ML-KEM-512/768/1024&nbsp;via&nbsp;a&nbsp;Decapsulate&nbsp;+&nbsp;HKDF&nbsp;+&nbsp;HMAC&nbsp;PoP&nbsp;—&nbsp;see
&nbsp;&nbsp;&nbsp;&nbsp;&gt;&nbsp;Section&nbsp;5.2&nbsp;(KEM&nbsp;PoP&nbsp;construction)&nbsp;and&nbsp;Section&nbsp;5.4&nbsp;(KEM&nbsp;algorithm
&nbsp;&nbsp;&nbsp;&nbsp;&gt;&nbsp;registry).

Then,&nbsp;let's&nbsp;fix/replace&nbsp;CSR.

&nbsp;&nbsp;&nbsp;&nbsp;&gt;&gt;&nbsp;The&nbsp;ACME&nbsp;server&nbsp;should&nbsp;simply&nbsp;announce&nbsp;the&nbsp;set&nbsp;of&nbsp;POP&nbsp;methods&nbsp;that&nbsp;it
&nbsp;&nbsp;&nbsp;&nbsp;&gt;&gt;&nbsp;can&nbsp;support,&nbsp;with&nbsp;CSR&nbsp;being&nbsp;the&nbsp;default.&nbsp;I&nbsp;don't&nbsp;think&nbsp;a&nbsp;new&nbsp;challenge
&nbsp;&nbsp;&nbsp;&nbsp;&gt;&gt;&nbsp;method&nbsp;is&nbsp;the&nbsp;correct&nbsp;way&nbsp;to&nbsp;negotiate&nbsp;this.

&nbsp;&nbsp;&nbsp;&nbsp;&gt;&nbsp;This&nbsp;is&nbsp;the&nbsp;one&nbsp;architectural&nbsp;point&nbsp;where&nbsp;we've&nbsp;taken&nbsp;a&nbsp;different
&nbsp;&nbsp;&nbsp;&nbsp;&gt;&nbsp;direction,&nbsp;following&nbsp;the&nbsp;chair's&nbsp;earlier&nbsp;guidance&nbsp;and&nbsp;the&nbsp;model&nbsp;that
&nbsp;&nbsp;&nbsp;&nbsp;&gt;&nbsp;ACME&nbsp;has&nbsp;consistently&nbsp;used:&nbsp;challenges&nbsp;bound&nbsp;to&nbsp;identifier&nbsp;types
&nbsp;&nbsp;&nbsp;&nbsp;&gt;&nbsp;(dns-01&nbsp;for&nbsp;dns,&nbsp;http-01&nbsp;for&nbsp;dns-via-http,&nbsp;onion-csr-01&nbsp;for&nbsp;onion,
&nbsp;&nbsp;&nbsp;&nbsp;&gt;&nbsp;etc.).&nbsp;-07&nbsp;introduces&nbsp;a&nbsp;"pk"&nbsp;identifier&nbsp;type&nbsp;and&nbsp;a&nbsp;pk-01&nbsp;challenge
&nbsp;&nbsp;&nbsp;&nbsp;&gt;&nbsp;bound&nbsp;to&nbsp;it,&nbsp;which&nbsp;keeps&nbsp;the&nbsp;architecture&nbsp;modular&nbsp;and&nbsp;aligned&nbsp;with&nbsp;how
&nbsp;&nbsp;&nbsp;&nbsp;&gt;&nbsp;the&nbsp;working&nbsp;group&nbsp;has&nbsp;handled&nbsp;similar&nbsp;extensions.

I&nbsp;think&nbsp;the&nbsp;chairs&nbsp;are&nbsp;wrong&nbsp;here&nbsp;:-)

I&nbsp;don't&nbsp;think&nbsp;this&nbsp;is&nbsp;a&nbsp;good&nbsp;direction&nbsp;to&nbsp;go,&nbsp;because&nbsp;I&nbsp;don't&nbsp;think&nbsp;your
needs&nbsp;are&nbsp;not&nbsp;the&nbsp;same&nbsp;as,&nbsp;for&nbsp;instance,&nbsp;.onion.


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

**&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;My&nbsp;working&nbsp;hours&nbsp;and&nbsp;your&nbsp;working&nbsp;hours&nbsp;may&nbsp;be&nbsp;different.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;**
**&nbsp;Please&nbsp;do&nbsp;not&nbsp;feel&nbsp;obligated&nbsp;to&nbsp;reply&nbsp;outside&nbsp;your&nbsp;normal&nbsp;working&nbsp;hours&nbsp;**