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 &amp; 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--