libksi: Fixed TLV container tag for ksi signatures.

closes https://github.com/rsyslog/rsyslog/issues/587
This commit is contained in:
Andre Lorbach 2015-12-07 10:00:54 +01:00
parent d73814d768
commit b680aeca4b
2 changed files with 9 additions and 5 deletions

View File

@ -394,8 +394,8 @@ tlvWriteBlockSigKSI(ksifile ksi, uchar *der, uint16_t lenDer)
if(r != 0) goto done;
r = tlvbufAddInt64(ksi, ksi->nRecords);
if(r != 0) goto done;
/* rfc-3161 */
r = tlv16WriteKSI(ksi, 0x00, 0x906, lenDer);
/* Open-KSI signature */
r = tlv16WriteKSI(ksi, 0x00, 0x905, lenDer);
if(r != 0) goto done;
r = tlvbufAddOctetString(ksi, der, lenDer);
done: return r;

View File

@ -549,7 +549,7 @@ rsksi_tlvDecodeSIG(tlvrecord_t *rec, uint16_t *strtidx, block_sig_t *bs)
tlvrecord_t subrec;
CHKr(rsksi_tlvDecodeSUBREC(rec, strtidx, &subrec));
if(!(subrec.tlvtype == 0x0906)) { r = RSGTE_INVLTYP; goto done; }
if(!(subrec.tlvtype == 0x0905)) { r = RSGTE_INVLTYP; goto done; }
bs->sig.der.len = subrec.tlvlen;
bs->sigID = SIGID_RFC3161;
if((bs->sig.der.data = (uint8_t*)malloc(bs->sig.der.len)) == NULL) {r=RSGTE_OOM;goto done;}
@ -1000,6 +1000,8 @@ rsksi_vrfyConstruct_gf(void)
free(ksi);
return NULL;
}
if(rsksi_read_debug)
fprintf(stdout, "PublicationUrl set to: '%s'\n", rsksi_read_puburl);
/* Setting KSI Extender! */
ksistate = KSI_CTX_setExtender(ksi->ctx->ksi_ctx, rsksi_extend_puburl, rsksi_userid, rsksi_userkey);
@ -1008,6 +1010,8 @@ rsksi_vrfyConstruct_gf(void)
free(ksi);
return NULL;
}
if(rsksi_read_debug)
fprintf(stdout, "ExtenderUrl set to: '%s'\n", rsksi_extend_puburl);
done: return ksi;
}
@ -1501,7 +1505,7 @@ int rsksi_ConvertSigFile(char* name, FILE *oldsigfp, FILE *newsigfp, int verbose
/* Check OLD encoded SIG */
CHKrDecode(rsksi_tlvDecodeSUBREC(&rec, &strtidx, &subrec));
if(!(subrec.tlvtype == 0x0906)) { r = RSGTE_INVLTYP; goto donedecode; }
if(!(subrec.tlvtype == 0x0905)) { r = RSGTE_INVLTYP; goto donedecode; }
bs->sig.der.len = subrec.tlvlen;
bs->sigID = SIGID_RFC3161;
if((bs->sig.der.data = (uint8_t*)malloc(bs->sig.der.len)) == NULL) {r=RSGTE_OOM;goto donedecode;}
@ -1547,7 +1551,7 @@ int rsksi_ConvertSigFile(char* name, FILE *oldsigfp, FILE *newsigfp, int verbose
CHKrDecode(rsksi_tlv8Write(newsigfp, 0x00, 0x01, tlvlenRecords));
CHKrDecode(rsksi_tlvfileAddInt64(newsigfp, bs->recCount));
/* rfc-3161 */
CHKrDecode(rsksi_tlv16Write(newsigfp, 0x00, 0x906, bs->sig.der.len));
CHKrDecode(rsksi_tlv16Write(newsigfp, 0x00, 0x905, bs->sig.der.len));
CHKrDecode(rsksi_tlvfileAddOctetString(newsigfp, bs->sig.der.data, bs->sig.der.len));
donedecode: