diff --git a/lib/cryptohi/seckey.c b/lib/cryptohi/seckey.c
--- a/lib/cryptohi/seckey.c
+++ b/lib/cryptohi/seckey.c
@@ -993,17 +993,17 @@ SECKEY_PublicKeyStrengthInBits(const SEC
}
/* 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);
break;
case ecKey:
bitSize = SECKEY_ECParamsToKeySize(&pubk->u.ec.DEREncodedParams);
break;
default: