adding additional flags to loaded X.509 certificates
This commit is contained in:
@@ -1414,6 +1414,7 @@ static bool generate(private_x509_cert_t *cert, certificate_t *sign_cert,
|
|||||||
*/
|
*/
|
||||||
x509_cert_t *x509_cert_load(certificate_type_t type, va_list args)
|
x509_cert_t *x509_cert_load(certificate_type_t type, va_list args)
|
||||||
{
|
{
|
||||||
|
x509_flag_t flags = 0;
|
||||||
chunk_t blob = chunk_empty;
|
chunk_t blob = chunk_empty;
|
||||||
|
|
||||||
while (TRUE)
|
while (TRUE)
|
||||||
@@ -1423,6 +1424,9 @@ x509_cert_t *x509_cert_load(certificate_type_t type, va_list args)
|
|||||||
case BUILD_BLOB_ASN1_DER:
|
case BUILD_BLOB_ASN1_DER:
|
||||||
blob = va_arg(args, chunk_t);
|
blob = va_arg(args, chunk_t);
|
||||||
continue;
|
continue;
|
||||||
|
case BUILD_X509_FLAG:
|
||||||
|
flags |= va_arg(args, x509_flag_t);
|
||||||
|
continue;
|
||||||
case BUILD_END:
|
case BUILD_END:
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
@@ -1439,6 +1443,7 @@ x509_cert_t *x509_cert_load(certificate_type_t type, va_list args)
|
|||||||
cert->parsed = TRUE;
|
cert->parsed = TRUE;
|
||||||
if (parse_certificate(cert))
|
if (parse_certificate(cert))
|
||||||
{
|
{
|
||||||
|
cert->flags |= flags;
|
||||||
return &cert->public;
|
return &cert->public;
|
||||||
}
|
}
|
||||||
destroy(cert);
|
destroy(cert);
|
||||||
|
|||||||
Reference in New Issue
Block a user