Re: Proposal: new CPAN module Crypt::TSD (.TSD read/write per RFC 5544) -> Crypt::TimestampedData
[email protected] (Guido Brugnara via module-authors) Mon, 29 Sep 2025 14:04:03 +0200
| Newsgroups | perl.module-authors |
|---|---|
| Message-ID | <[email protected]> |
--------------KfbQd0wDDdkcBM79pU0nMj5j
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
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
>
--------------KfbQd0wDDdkcBM79pU0nMj5j
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>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">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>
</body>
</html>
--------------KfbQd0wDDdkcBM79pU0nMj5j--