Re: Proposal: new CPAN module Crypt::TSD (.TSD read/write per RFC 5544) -> Crypt::TimestampedData
[email protected] (Guido Brugnara via module-authors) Fri, 3 Oct 2025 10:29:34 +0200
| Newsgroups | perl.module-authors |
|---|---|
| Message-ID | <[email protected]> |
--------------CXVnyQy0WcQ8wiLZu2q07KHS
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
I have finally uploaded a version of the package that I consider acceptable.
http://matrix.cpantesters.org/?dist=Crypt-TimestampedData
But I don't know why the tests in the last two releases (0.01_04 &
0.01_05) are limited to the ‘Linux’ platform(all passed).
Perhaps it's because there were too many errors in in the previous
testson all tested platforms?
I'm sure I've removed the issues that caused those errors, but now I
don't have any feedback to be sure.
I apologise for the mistakes ... of youth... I hope to improve.
Should I request that the tests be reactivated? If so, how?
regards
Guido Brugnara
Il 29/09/25 14:04, Guido Brugnara ha scritto:
>
> I would like to thank those who suggested I use an alias for the
> module name.
>
> I have therefore published
> https://metacpan.org/release/BRUGNARA/Crypt-TimestampedData-0.01-TRIAL
>
> Any comments you may have will be taken into consideration before
> final publication.
>
> Thank you!
> Guido Brugnara
>
>
> Il 14/09/25 13:15, Guido Brugnara ha scritto:
>>
>> Hello module-authors,
>> I’d like feedback on a new CPAN distribution I’m preparing:
>> Crypt::TSD. It implements reading and writing of RFC 5544 “Syntax for
>> Binding Documents with Time-Stamps” containers (file extension .tsd;
>> media type “application/timestamped-data” per RFC 5955).
>>
>> In practice, .tsd is used notably in Italy; globally, adoption
>> appears limited compared to RFC 3161 Time-Stamp Tokens and ETSI/eIDAS
>> containers (CAdES/XAdES/PAdES/ASiC).
>>
>> Still, .tsd exists in the wild and there is no dedicated CPAN module
>> covering it. Based on my survey of open-source options, the only Open
>> Source library exposing APIs for RFC 5544/.tsd that I found is Bouncy
>> Castle (Java); Crypt::TSD would provide a Perl alternative.
>>
>> Planned scope:
>> - Read .tsd files and extract the original content and associated
>> time-stamp tokens.
>> - Create .tsd files from content and existing RFC 3161 tokens.
>> - Provide helpers for basic structural checks; further verification
>> utilities may follow.
>> - Provide command line scripts to read/write .tsd files.
>>
>> Before first upload, I’d appreciate feedback on:
>> - The namespace: does Crypt::TSD look appropriate (alternatives:
>> Crypt::TimestampedData, Crypt::RFC5544)?
>> - Any API/naming concerns or prior art I should align with.
>>
>> Thanks in advance for your guidance. I’m happy to adjust naming and
>> API based on suggestions.
>>
>> Best regards,
>> Guido Brugnara
>>
--------------CXVnyQy0WcQ8wiLZu2q07KHS
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: 8bit
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
<p _d-id="14074"><span _d-id="14341" class="--l container-target"><span
_d-id="14348" class="--l bg-blue-50 text-unit-target"><span
_d-id="14352"
class="--l --r hover:bg-blue-100 hover:dark:bg-blue-600">I</span>
<span _d-id="14356"
class="--l --r hover:bg-blue-100 hover:dark:bg-blue-600">have</span>
<span _d-id="14360"
class="--l --r hover:bg-blue-100 hover:dark:bg-blue-600">finally</span>
<span _d-id="14364"
class="--l --r hover:bg-blue-100 hover:dark:bg-blue-600">uploaded</span>
<span _d-id="14368"
class="--l --r hover:bg-blue-100 hover:dark:bg-blue-600">a
version of the</span> <span _d-id="14372"
class="--l --r hover:bg-blue-100 hover:dark:bg-blue-600">package</span>
<span _d-id="14376"
class="--l --r hover:bg-blue-100 hover:dark:bg-blue-600">that</span>
<span _d-id="14380"
class="--l --r hover:bg-blue-100 hover:dark:bg-blue-600">I</span>
<span _d-id="14384"
class="--l --r hover:bg-blue-100 hover:dark:bg-blue-600">consider</span>
<span _d-id="14388"
class="--l --r hover:bg-blue-100 hover:dark:bg-blue-600">acceptable</span><span
_d-id="14391"
class="--l --r hover:bg-blue-100 hover:dark:bg-blue-600">.</span></span></span></p>
<p _d-id="14074"><span _d-id="14343" class="--r container-target"><span
_d-id="14350" class="--r bg-blue-50 text-unit-target"><span
_d-id="14466"
class="--l --r hover:bg-blue-100 hover:dark:bg-blue-600">
<a class="moz-txt-link-freetext" href="http://matrix.cpantesters.org/?dist=Crypt-TimestampedData">http://matrix.cpantesters.org/?dist=Crypt-TimestampedData</a><br>
</span></span></span>
<span _d-id="14345" class="--l --r container-target"></span>
</p>
<p _d-id="14076"><span _d-id="14343" class="--r container-target"><span
_d-id="14350" class="--r bg-blue-50 text-unit-target"><span
_d-id="14393"
class="--l --r hover:bg-blue-100 hover:dark:bg-blue-600">But
I</span> <span _d-id="14397"
class="--l --r hover:bg-blue-100 hover:dark:bg-blue-600">don't</span>
<span _d-id="14401"
class="--l --r hover:bg-blue-100 hover:dark:bg-blue-600">know</span>
<span _d-id="14405"
class="--l --r hover:bg-blue-100 hover:dark:bg-blue-600">why</span>
<span _d-id="14409"
class="--l --r hover:bg-blue-100 hover:dark:bg-blue-600">the</span>
<span _d-id="14413"
class="--l --r hover:bg-blue-100 hover:dark:bg-blue-600">tests</span>
<span _d-id="14417"
class="--l --r hover:bg-blue-100 hover:dark:bg-blue-600">in</span>
<span _d-id="14421"
class="--l --r hover:bg-blue-100 hover:dark:bg-blue-600">the</span>
<span _d-id="14425"
class="--l --r hover:bg-blue-100 hover:dark:bg-blue-600">last</span>
<span _d-id="14429"
class="--l --r hover:bg-blue-100 hover:dark:bg-blue-600">two</span>
<span _d-id="14433"
class="--l --r hover:bg-blue-100 hover:dark:bg-blue-600">releases</span>
(0.01_04 & 0.01_05) <span _d-id="14437"
class="--l --r hover:bg-blue-100 hover:dark:bg-blue-600">are</span>
<span _d-id="14441"
class="--l --r hover:bg-blue-100 hover:dark:bg-blue-600">limited</span>
<span _d-id="14445"
class="--l --r hover:bg-blue-100 hover:dark:bg-blue-600">to</span>
<span _d-id="14449"
class="--l --r hover:bg-blue-100 hover:dark:bg-blue-600">the</span>
<span _d-id="14453"
class="--l --r hover:bg-blue-100 hover:dark:bg-blue-600">‘</span><span
_d-id="14456"
class="--l --r hover:bg-blue-100 hover:dark:bg-blue-600">Linux</span><span
_d-id="14459"
class="--l --r hover:bg-blue-100 hover:dark:bg-blue-600">’</span>
<span _d-id="14463"
class="--l --r hover:bg-blue-100 hover:dark:bg-blue-600">platform</span><span
_d-id="14466"
class="--l --r hover:bg-blue-100 hover:dark:bg-blue-600">
(all passed).</span></span></span></p>
<p _d-id="14076"><span _d-id="43307" class="container-target"><span
_d-id="43318" class="bg-blue-50 text-unit-target"><span
_d-id="43444"
class="--l --r hover:bg-blue-100 hover:dark:bg-blue-600">Perhaps</span>
<span _d-id="43448"
class="--l --r hover:bg-blue-100 hover:dark:bg-blue-600">it's</span>
<span _d-id="43452"
class="--l --r hover:bg-blue-100 hover:dark:bg-blue-600">because</span>
<span _d-id="43456"
class="--l --r hover:bg-blue-100 hover:dark:bg-blue-600">there</span>
<span _d-id="43460"
class="--l --r hover:bg-blue-100 hover:dark:bg-blue-600">were</span>
<span _d-id="43464"
class="--l --r hover:bg-blue-100 hover:dark:bg-blue-600">too</span>
<span _d-id="43468"
class="--l --r hover:bg-blue-100 hover:dark:bg-blue-600">many</span>
<span _d-id="43472"
class="--l --r hover:bg-blue-100 hover:dark:bg-blue-600">errors</span>
in <span _d-id="43476"
class="--l --r hover:bg-blue-100 hover:dark:bg-blue-600">in</span>
<span _d-id="43480"
class="--l --r hover:bg-blue-100 hover:dark:bg-blue-600">the</span>
<span _d-id="43484"
class="--l --r hover:bg-blue-100 hover:dark:bg-blue-600">previous</span>
<span _d-id="43488"
class="--l --r hover:bg-blue-100 hover:dark:bg-blue-600">tests</span><span
_d-id="43491"
class="--l --r hover:bg-blue-100 hover:dark:bg-blue-600"></span></span></span><span
_d-id="65227" class="--r container-target"><span _d-id="65240"
class="--r bg-blue-50 text-unit-target"><span _d-id="65487"
class="--l --r hover:bg-blue-100 hover:dark:bg-blue-600"> on</span>
<span _d-id="65491"
class="--l --r hover:bg-blue-100 hover:dark:bg-blue-600">all</span>
<span _d-id="65495"
class="--l --r hover:bg-blue-100 hover:dark:bg-blue-600">tested</span>
<span _d-id="65499"
class="--l --r hover:bg-blue-100 hover:dark:bg-blue-600">platforms</span></span></span><span
_d-id="43307" class="container-target"><span _d-id="43318"
class="bg-blue-50 text-unit-target"><span _d-id="43491"
class="--l --r hover:bg-blue-100 hover:dark:bg-blue-600">?</span></span></span></p>
<p _d-id="42701"><span _d-id="43309" class="--r container-target"><span
_d-id="43320" class="--r bg-blue-50 text-unit-target"><span
_d-id="43493"
class="--l --r hover:bg-blue-100 hover:dark:bg-blue-600">I'm</span>
<span _d-id="43497"
class="--l --r hover:bg-blue-100 hover:dark:bg-blue-600">sure</span>
<span _d-id="43501"
class="--l --r hover:bg-blue-100 hover:dark:bg-blue-600">I've</span>
<span _d-id="43505"
class="--l --r hover:bg-blue-100 hover:dark:bg-blue-600">removed</span>
<span _d-id="43509"
class="--l --r hover:bg-blue-100 hover:dark:bg-blue-600">the</span>
<span _d-id="43513"
class="--l --r hover:bg-blue-100 hover:dark:bg-blue-600">issues</span>
<span _d-id="43517"
class="--l --r hover:bg-blue-100 hover:dark:bg-blue-600">that</span>
<span _d-id="43521"
class="--l --r hover:bg-blue-100 hover:dark:bg-blue-600">caused</span>
<span _d-id="43525"
class="--l --r hover:bg-blue-100 hover:dark:bg-blue-600">those</span>
<span _d-id="43529"
class="--l --r hover:bg-blue-100 hover:dark:bg-blue-600">errors</span><span
_d-id="43532"
class="--l --r hover:bg-blue-100 hover:dark:bg-blue-600">,</span>
<span _d-id="43536"
class="--l --r hover:bg-blue-100 hover:dark:bg-blue-600">but</span>
<span _d-id="43540"
class="--l --r hover:bg-blue-100 hover:dark:bg-blue-600">now</span>
<span _d-id="43544"
class="--l --r hover:bg-blue-100 hover:dark:bg-blue-600">I</span>
<span _d-id="43548"
class="--l --r hover:bg-blue-100 hover:dark:bg-blue-600">don't</span>
<span _d-id="43552"
class="--l --r hover:bg-blue-100 hover:dark:bg-blue-600">have</span>
<span _d-id="43556"
class="--l --r hover:bg-blue-100 hover:dark:bg-blue-600">any</span>
<span _d-id="43560"
class="--l --r hover:bg-blue-100 hover:dark:bg-blue-600">feedback</span>
<span _d-id="43564"
class="--l --r hover:bg-blue-100 hover:dark:bg-blue-600">to</span>
<span _d-id="43568"
class="--l --r hover:bg-blue-100 hover:dark:bg-blue-600">be</span>
<span _d-id="43572"
class="--l --r hover:bg-blue-100 hover:dark:bg-blue-600">sure</span><span
_d-id="43575"
class="--l --r hover:bg-blue-100 hover:dark:bg-blue-600">.</span></span></span></p>
<p _d-id="42701"><span _d-id="56323" class="--r container-target"><span
_d-id="56334" class="--r bg-blue-50 text-unit-target"><span
_d-id="56538"
class="--l --r hover:bg-blue-100 hover:dark:bg-blue-600"></span>
<span _d-id="56542"
class="--l --r hover:bg-blue-100 hover:dark:bg-blue-600">I
apologise</span> <span _d-id="56546"
class="--l --r hover:bg-blue-100 hover:dark:bg-blue-600">for</span>
<span _d-id="56550"
class="--l --r hover:bg-blue-100 hover:dark:bg-blue-600">the</span>
<span _d-id="56554"
class="--l --r hover:bg-blue-100 hover:dark:bg-blue-600">mistakes</span>
... <span _d-id="56561"
class="--l --r hover:bg-blue-100 hover:dark:bg-blue-600">of</span>
<span _d-id="56565"
class="--l --r hover:bg-blue-100 hover:dark:bg-blue-600">youth</span><span
_d-id="56568"
class="--l --r hover:bg-blue-100 hover:dark:bg-blue-600">
... </span></span></span><span _d-id="78300"
class="--r container-target"><span _d-id="78353"
class="--l --r hover:bg-blue-100 hover:dark:bg-blue-600">I</span>
<span _d-id="78357"
class="--l --r hover:bg-blue-100 hover:dark:bg-blue-600">hope</span>
<span _d-id="78361"
class="--l --r hover:bg-blue-100 hover:dark:bg-blue-600">to</span>
<span _d-id="78365"
class="--l --r hover:bg-blue-100 hover:dark:bg-blue-600">improve</span></span><span
_d-id="56323" class="--r container-target"><span _d-id="56334"
class="--r bg-blue-50 text-unit-target"><span _d-id="56579"
class="--l --r hover:bg-blue-100 hover:dark:bg-blue-600">.</span></span></span></p>
<p _d-id="42701"><span _d-id="76410"
class="--l --r container-target"><span _d-id="76416"
class="--l --r bg-blue-50 text-unit-target"><span
_d-id="76418"
class="--l --r hover:bg-blue-100 hover:dark:bg-blue-600">Should</span>
<span _d-id="76422"
class="--l --r hover:bg-blue-100 hover:dark:bg-blue-600">I</span>
<span _d-id="76426"
class="--l --r hover:bg-blue-100 hover:dark:bg-blue-600">request</span>
<span _d-id="76430"
class="--l --r hover:bg-blue-100 hover:dark:bg-blue-600">that</span>
<span _d-id="76434"
class="--l --r hover:bg-blue-100 hover:dark:bg-blue-600">the</span>
<span _d-id="76438"
class="--l --r hover:bg-blue-100 hover:dark:bg-blue-600">tests</span>
<span _d-id="76442"
class="--l --r hover:bg-blue-100 hover:dark:bg-blue-600">be</span>
<span _d-id="76446"
class="--l --r hover:bg-blue-100 hover:dark:bg-blue-600">reactivated</span><span
_d-id="76449"
class="--l --r hover:bg-blue-100 hover:dark:bg-blue-600">?</span>
<span _d-id="76453"
class="--l --r hover:bg-blue-100 hover:dark:bg-blue-600">If</span>
<span _d-id="76457"
class="--l --r hover:bg-blue-100 hover:dark:bg-blue-600">so</span><span
_d-id="76460"
class="--l --r hover:bg-blue-100 hover:dark:bg-blue-600">,</span>
<span _d-id="76464"
class="--l --r hover:bg-blue-100 hover:dark:bg-blue-600">how</span><span
_d-id="76467"
class="--l --r hover:bg-blue-100 hover:dark:bg-blue-600">?</span></span></span>
<span _d-id="56323" class="--r container-target"><span
_d-id="56334" class="--r bg-blue-50 text-unit-target"><span
_d-id="56579"
class="--l --r hover:bg-blue-100 hover:dark:bg-blue-600"></span></span></span></p>
<p _d-id="42701"><span _d-id="56323" class="--r container-target"><span
_d-id="56334" class="--r bg-blue-50 text-unit-target"><span
_d-id="56579"
class="--l --r hover:bg-blue-100 hover:dark:bg-blue-600">regards<br>
Guido Brugnara<br>
</span></span></span></p>
<p _d-id="14076"><br>
<br>
</p>
<div class="moz-cite-prefix">Il 29/09/25 14:04, Guido Brugnara ha
scritto:<br>
</div>
<blockquote type="cite"
cite="mid:[email protected]">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<p>I would like to thank those who suggested I use an alias for
the module name.<br>
<br>
I have therefore published <a class="moz-txt-link-freetext"
href="https://metacpan.org/release/BRUGNARA/Crypt-TimestampedData-0.01-TRIAL"
moz-do-not-send="true">https://metacpan.org/release/BRUGNARA/Crypt-TimestampedData-0.01-TRIAL</a><br>
</p>
<p>Any comments you may have will be taken into consideration
before final publication.<br>
<br>
Thank you!<br>
Guido Brugnara<br>
<br>
<br>
</p>
<div class="moz-cite-prefix">Il 14/09/25 13:15, Guido Brugnara ha
scritto:<br>
</div>
<blockquote type="cite"
cite="mid:[email protected]">
<meta http-equiv="content-type"
content="text/html; charset=UTF-8">
<p _d-id="22900"><span _d-id="24465"
class="--l --r sentence_highlight">Hello module-authors,<br>
I’d like feedback on a new CPAN distribution I’m
preparing: Crypt::TSD. It implements reading and writing of
RFC 5544 “Syntax for Binding Documents with Time-Stamps”
containers (file extension .tsd; media type
“application/timestamped-data” per RFC 5955).</span></p>
<p _d-id="22900"><span _d-id="24465"
class="--l --r sentence_highlight">In practice, .tsd is used
notably in Italy; globally, adoption appears limited
compared to RFC 3161 Time-Stamp Tokens and ETSI/eIDAS
containers (CAdES/XAdES/PAdES/ASiC).</span></p>
<p _d-id="22900"><span _d-id="24465"
class="--l --r sentence_highlight">Still, .tsd exists in the
wild and there is no dedicated CPAN module covering it.
Based on my survey of open-source options, the only Open
Source library exposing APIs for RFC 5544/.tsd that I found
is Bouncy Castle (Java); Crypt::TSD would provide a Perl
alternative.</span></p>
<p _d-id="22900"><span _d-id="24465"
class="--l --r sentence_highlight">Planned scope:<br>
- Read .tsd files and extract the original content and
associated time-stamp tokens.<br>
- Create .tsd files from content and existing RFC 3161
tokens.<br>
- Provide helpers for basic structural checks; further
verification utilities may follow.<br>
- </span><span _d-id="2496"
class="--l --r container-target"><span _d-id="2498"
class="--l --r hover:bg-blue-100 hover:dark:bg-blue-600">Provide</span>
<span _d-id="2502"
class="--l --r hover:bg-blue-100 hover:dark:bg-blue-600">command</span>
<span _d-id="2506"
class="--l --r hover:bg-blue-100 hover:dark:bg-blue-600">line</span>
<span _d-id="2510"
class="--l --r hover:bg-blue-100 hover:dark:bg-blue-600">scripts</span>
<span _d-id="2514"
class="--l --r hover:bg-blue-100 hover:dark:bg-blue-600">to</span>
<span _d-id="2518"
class="--l --r hover:bg-blue-100 hover:dark:bg-blue-600">read</span><span
_d-id="2521"
class="--l --r hover:bg-blue-100 hover:dark:bg-blue-600">/</span><span
_d-id="2524"
class="--l --r hover:bg-blue-100 hover:dark:bg-blue-600">write</span>
<span _d-id="2528"
class="--l --r hover:bg-blue-100 hover:dark:bg-blue-600">.</span><span
_d-id="2531"
class="--l --r hover:bg-blue-100 hover:dark:bg-blue-600">tsd</span>
<span _d-id="2535"
class="--l --r hover:bg-blue-100 hover:dark:bg-blue-600">files</span><span
_d-id="2538"
class="--l --r hover:bg-blue-100 hover:dark:bg-blue-600">.</span></span></p>
<p _d-id="22900"><span _d-id="24465"
class="--l --r sentence_highlight">Before first upload, I’d
appreciate feedback on:<br>
- The namespace: does Crypt::TSD look appropriate
(alternatives: Crypt::TimestampedData, Crypt::RFC5544)?<br>
- Any API/naming concerns or prior art I should align with.</span></p>
<p _d-id="22900"><span _d-id="24465"
class="--l --r sentence_highlight">Thanks in advance for
your guidance. I’m happy to adjust naming and API based on
suggestions.</span></p>
<p _d-id="22900"><span _d-id="24465"
class="--l --r sentence_highlight">Best regards,<br>
Guido Brugnara<br>
<br>
</span></p>
</blockquote>
</blockquote>
</body>
</html>
--------------CXVnyQy0WcQ8wiLZu2q07KHS--