@ -210,6 +210,19 @@ int x509_note_signature(void *context, size_t hdrlen,
return 0 ;
}
/*
* Note the certificate serial number
*/
int x509_note_serial ( void * context , size_t hdrlen ,
unsigned char tag ,
const void * value , size_t vlen )
{
struct x509_parse_context * ctx = context ;
ctx - > cert - > raw_serial = value ;
ctx - > cert - > raw_serial_size = vlen ;
return 0 ;
}
/*
* Note some of the name segments from which we ' ll fabricate a name .
*/
@ -322,6 +335,8 @@ int x509_note_issuer(void *context, size_t hdrlen,
const void * value , size_t vlen )
{
struct x509_parse_context * ctx = context ;
ctx - > cert - > raw_issuer = value ;
ctx - > cert - > raw_issuer_size = vlen ;
return x509_fabricate_name ( ctx , hdrlen , tag , & ctx - > cert - > issuer , vlen ) ;
}
@ -330,6 +345,8 @@ int x509_note_subject(void *context, size_t hdrlen,
const void * value , size_t vlen )
{
struct x509_parse_context * ctx = context ;
ctx - > cert - > raw_subject = value ;
ctx - > cert - > raw_subject_size = vlen ;
return x509_fabricate_name ( ctx , hdrlen , tag , & ctx - > cert - > subject , vlen ) ;
}