--- ./lib/cryptohi/seckey.c.1238290 2015-11-08 21:12:59.000000000 -0800 +++ ./lib/cryptohi/seckey.c 2016-02-16 10:07:20.956930721 -0800 @@ -993,20 +993,20 @@ } /* interpret modulus length as key strength */ switch (pubk->keyType) { case rsaKey: bitSize = SECKEY_BigIntegerBitLength(&pubk->u.rsa.modulus); break; case dsaKey: - bitSize = SECKEY_BigIntegerBitLength(&pubk->u.dsa.publicValue); + bitSize = SECKEY_BigIntegerBitLength(&pubk->u.dsa.params.prime); break; case dhKey: - bitSize = SECKEY_BigIntegerBitLength(&pubk->u.dh.publicValue); + bitSize = SECKEY_BigIntegerBitLength(&pubk->u.dh.prime); break; case ecKey: bitSize = SECKEY_ECParamsToKeySize(&pubk->u.ec.DEREncodedParams); break; default: PORT_SetError(SEC_ERROR_INVALID_KEY); break; }