PORT_Assert(key->keyType == rsaKey); if (key->keyType != rsaKey)
PORT_Assert(key->keyType == lowRSAKey); if (key->keyType != lowRSAKey)
RSA_CheckSignRaw(SECKEYLowPublicKey *key,                 unsigned char *     sign, 		 unsigned int        sign_len, 		 unsigned char *     hash, 		 unsigned int        hash_len){    SECStatus       rv;    unsigned int    modulus_len = SECKEY_LowPublicModulusLen(key);    unsigned char * buffer;    if (sign_len != modulus_len)     	goto failure;    if (hash_len > modulus_len)     	goto failure;    PORT_Assert(key->keyType == rsaKey);    if (key->keyType != rsaKey)    	goto failure;    buffer = (unsigned char *)PORT_Alloc(modulus_len + 1);    if (!buffer)    	goto failure;    rv = RSA_PublicKeyOp(&key->u.rsa, buffer, sign);    if (rv != SECSuccess)	goto loser;    /*     * make sure we get the same results     */    /* NOTE: should we verify the leading zeros? */    if (PORT_Memcmp(buffer + (modulus_len-hash_len), hash, hash_len) != 0)	goto loser;    PORT_Free(buffer);    return SECSuccess;loser:    PORT_Free(buffer);failure:    return SECFailure;}