This cert has an invalid authorityKeyIdentifier that is an INTEGER rather than
being a SEQUENCE.

The certificate data can be updated/regenerated with the
net/data/parse_certificate_unittest/regenerate_pem_from_ascii.py script.

#-----BEGIN AUTHORITY_KEY_IDENTIFIER-----
    INTEGER {42}
#-----END AUTHORITY_KEY_IDENTIFIER-----

-----BEGIN CERTIFICATE-----
MIICQzCCAaygAwIBAgIJAPuwTC6rEJsMMA0GCSqGSIb3DQEBBQUAMEUxCzAJBgNVBAYTAkFVMRMwEQYDVQQIDApTb21lLVN0YXRlMSEwHwYDVQQKDBhJbnRlcm5ldCBXaWRnaXRzIFB0eSBMdGQwHhcNMTQwNDIzMjA1MDQwWhcNMTcwNDIyMjA1MDQwWjBFMQswCQYDVQQGEwJBVTETMBEGA1UECAwKU29tZS1TdGF0ZTEhMB8GA1UECgwYSW50ZXJuZXQgV2lkZ2l0cyBQdHkgTHRkMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDYK8imMuRi/03z0K1Zi0WnvfFHvwlYeyK9Na6XJYaUoIDAtB92kWdGMdAQhLciHnAjkXLI6W15OoV3gA/ElRZ1xUpxTMhjP6PyY5wqT5r6y8FxbiiFKKAnHmUcrgfVW28tQ+0rkLGMryRtrukXOgXBv7gcrmU7G1jC2a7WqmeI8QIDAQABozswOTAdBgNVHQ4EFgQUi3XVrMsIvg4fZbf6Vr5sp3Xaha8wCgYDVR0jBAMCASowDAYDVR0TBAUwAwEB/zANBgkqhkiG9w0BAQUFAAOBgQA76HhtldY9avcTGSwbwoiuIqv0jTL1fHFnzy3RHMLDh+Lpvolc5DSrSJHCP5WuK0eeJXhrT5oQpHL9z/cCDLAKCKRa4uV0fhEdOWBqyR9p8y5jJtye72t6CuFUV5iqcpF4BH4fj2VNHwsSrJwkD4QUGlUtH7vwnQmyCFxZMmWAJg==
-----END CERTIFICATE-----

ERROR: Failed parsing authority key identifier

-----BEGIN ERRORS-----
RVJST1I6IEZhaWxlZCBwYXJzaW5nIGF1dGhvcml0eSBrZXkgaWRlbnRpZmllcgo=
-----END ERRORS-----

