diff options
| author | Michael Brown | 2012-05-08 11:36:09 +0200 |
|---|---|---|
| committer | Michael Brown | 2012-05-08 13:49:01 +0200 |
| commit | 0ad8b601dd190912b1338155b000d577205c4e02 (patch) | |
| tree | cdcbaa7520dd84b640aa0b576aab77c532791e96 /src/crypto/cms.c | |
| parent | [list] Add list_last_entry() (diff) | |
| download | ipxe-0ad8b601dd190912b1338155b000d577205c4e02.tar.gz ipxe-0ad8b601dd190912b1338155b000d577205c4e02.tar.xz ipxe-0ad8b601dd190912b1338155b000d577205c4e02.zip | |
[crypto] Allow for X.509 certificates with no common name
Signed-off-by: Michael Brown <mcb30@ipxe.org>
Diffstat (limited to 'src/crypto/cms.c')
| -rw-r--r-- | src/crypto/cms.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/src/crypto/cms.c b/src/crypto/cms.c index ee09dff34..660be69e9 100644 --- a/src/crypto/cms.c +++ b/src/crypto/cms.c @@ -745,7 +745,8 @@ int cms_verify ( struct cms_signature *sig, userptr_t data, size_t len, /* Verify using all signerInfos */ list_for_each_entry ( info, &sig->info, list ) { cert = x509_first ( info->chain ); - if ( name && ( strcmp ( name, cert->subject.name ) != 0 ) ) + if ( name && ( ( cert->subject.name == NULL ) || + ( strcmp ( cert->subject.name, name ) != 0 ) ) ) continue; if ( ( rc = cms_verify_signer_info ( sig, info, data, len, time, root ) ) != 0 ) |
