Skip to content

sq packet dump is confused with signature expiration time of 0

According to RFC 9580, when the signature expiration time packet's value is set to 0, it means "never expires".

however, it is printed by sq packet dump as the same timestamp as the signature creation time:

0 dkg@bob:~$ echo test | rnp --keyfile tmp/test.key --sign | sq packet dump
Compressed Data Packet, new CTB, 143 bytes
│   Algorithm: ZIP

├── One-Pass Signature Packet, new CTB, 13 bytes
│       Version: 3
│       Type: Binary
│       Pk algo: EdDSA
│       Hash algo: SHA256
│       Issuer: 311BB9E9664071A0
│       Last: true

├── Literal Data Packet, new CTB, 11 bytes
│       Format: Binary data
│       Content: "test\n"

└── Signature Packet, new CTB, 123 bytes
        Version: 4
        Type: Binary
        Pk algo: EdDSA
        Hash algo: SHA256
        Hashed area:
          Issuer Fingerprint: 16EAD49CA057625B595F4BDE311BB9E9664071A0
          Signature creation time: 2025-10-16 22:46:04 UTC
          Signature expiration time: 0s (2025-10-16 22:46:04 UTC)
        Unhashed area:
          Issuer: 311BB9E9664071A0
        Digest prefix: B2F5
        Level: 0 (signature over data)
      
0 dkg@bob:~$