diff options
| author | Michael Brown | 2012-03-22 12:01:13 +0100 |
|---|---|---|
| committer | Michael Brown | 2012-03-22 12:41:21 +0100 |
| commit | 5c6639593969e6b7b6b4796cbb833c002819857c (patch) | |
| tree | 36c1b5d29534e26d5f3e2465bc6ec9e27c2fdd38 /src | |
| parent | [crypto] Avoid an error when asn1_shrink() is already at end of object (diff) | |
| download | ipxe-5c6639593969e6b7b6b4796cbb833c002819857c.tar.gz ipxe-5c6639593969e6b7b6b4796cbb833c002819857c.tar.xz ipxe-5c6639593969e6b7b6b4796cbb833c002819857c.zip | |
[crypto] Shrink raw certificate data to fit certificate
The certificate may be part of an ASN.1-encoded certificate chain, and
so may not be the only object contained within the ASN.1 cursor.
Signed-off-by: Michael Brown <mcb30@ipxe.org>
Diffstat (limited to 'src')
| -rw-r--r-- | src/crypto/x509.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/src/crypto/x509.c b/src/crypto/x509.c index eb4855223..145c77ee1 100644 --- a/src/crypto/x509.c +++ b/src/crypto/x509.c @@ -902,6 +902,7 @@ int x509_parse ( struct x509_certificate *cert, const void *data, size_t len ) { memset ( cert, 0, sizeof ( *cert ) ); cert->raw.data = data; cert->raw.len = len; + asn1_shrink_any ( &cert->raw ); /* Enter certificate */ memcpy ( &cursor, &cert->raw, sizeof ( cursor ) ); |
