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