--- crypto_nss.c.orig 2009-11-05 18:45:26.530040682 +0300 +++ crypto_nss.c 2009-11-05 18:42:04.130040918 +0300 @@ -438,15 +438,18 @@ GError **error) { CERTCertificate *cert; + int errno; /* Try DER/PEM first */ cert = CERT_DecodeCertFromPackage ((char *) data, len); if (!cert) { + errno = PORT_GetError(); g_set_error (error, NM_CRYPTO_ERROR, NM_CRYPTO_ERR_CERT_FORMAT_INVALID, _("Couldn't decode certificate: %d"), - PORT_GetError()); - return NM_CRYPTO_FILE_FORMAT_UNKNOWN; + errno); + if (errno != -8183) + return NM_CRYPTO_FILE_FORMAT_UNKNOWN; } CERT_DestroyCertificate (cert);