Come estrarre il certificato TSA dal file tst?

0

Ho diversi file di token di timestamp che penso dovrebbero avere certificati TSA incorporati all'interno di essi perché l'opzione "Richiedi certificato TSA" è stata selezionata quando li ho richiesti con TimeStampClient . Ora voglio verificarli con openssl con una riga di comando come questa:

openssl.exe ts -verify -data file.zip -in token.tst -token_in -CAfile certificate.cer

Quindi ho bisogno dei certificati. A proposito, penso che per una vera verifica non dovrei ottenere i certificati dai file dei token stessi (perché possono essere falsi / autofirmati?) Se i file provenivano da una parte non fidata.

BTW puoi dirmi un modo per ottenere il certificato Timestamp TSA dal suo server tramite il protocollo RFC 3161? Alcuni server come time.certum.pl non forniscono un collegamento diretto ad esso all'indirizzo quell'indirizzo web .

    
posta user273084 05.09.2017 - 20:15
fonte

1 risposta

1

Una risposta RFC3163 non contiene necessariamente il certificato di firma stesso. Contiene una struttura SignedData , che è descritta in RFC5652 così:

  SignedData ::= SEQUENCE {
    version CMSVersion,
    digestAlgorithms DigestAlgorithmIdentifiers,
    encapContentInfo EncapsulatedContentInfo,
    certificates [0] IMPLICIT CertificateSet OPTIONAL,
    crls [1] IMPLICIT RevocationInfoChoices OPTIONAL,
    signerInfos SignerInfos }

  DigestAlgorithmIdentifiers ::= SET OF DigestAlgorithmIdentifier

  SignerInfos ::= SET OF SignerInfo

Il campo certificates è facoltativo, mentre il campo signerInfos non lo è. Una struttura SignerInfo è definita come segue:

SignerInfo ::= SEQUENCE {
  version CMSVersion,
  sid SignerIdentifier,
  digestAlgorithm DigestAlgorithmIdentifier,
  signedAttrs [0] IMPLICIT SignedAttributes OPTIONAL,
  signatureAlgorithm SignatureAlgorithmIdentifier,
  signature SignatureValue,
  unsignedAttrs [1] IMPLICIT UnsignedAttributes OPTIONAL }

Il campo sid contiene un identificativo univoco per il firmatario, che può essere ricondotto al certificato che lo ha firmato.

Non esiste un modo standardizzato per recuperare il certificato al di fuori del campo certificates della struttura SignedData . Se non è fornito in quel campo, il TSA deve fornirlo fuori banda. Come esattamente ciò è fatto fino alla TSA.

    
risposta data 05.09.2017 - 20:57
fonte

Leggi altre domande sui tag