PORT_Assert(key->keyType == rsaKey); if (key->keyType != rsaKey)
PORT_Assert(key->keyType == lowRSAKey); if (key->keyType != lowRSAKey)
RSA_DecryptBlock(SECKEYLowPrivateKey *key,                  unsigned char *      output, 		 unsigned int *       output_len,                 unsigned int         max_output_len, 		 unsigned char *      input, 		 unsigned int         input_len){    SECStatus       rv;    unsigned int    modulus_len = SECKEY_LowPrivateModulusLen(key);    unsigned int    i;    unsigned char * buffer;    PORT_Assert(key->keyType == rsaKey);    if (key->keyType != rsaKey)    	goto failure;    if (input_len != modulus_len)    	goto failure;    buffer = (unsigned char *)PORT_Alloc(modulus_len + 1);    if (!buffer)    	goto failure;    rv = RSA_PrivateKeyOp(&key->u.rsa, buffer, input);    if (rv != SECSuccess)     	goto loser;    if (buffer[0] != 0 || buffer[1] != 2)     	goto loser;    *output_len = 0;    for (i = 2; i < modulus_len; i++) {	if (buffer[i] == 0) {	    *output_len = modulus_len - i - 1;	    break;	}    }    if (*output_len == 0)     	goto loser;    if (*output_len > max_output_len)     	goto loser;    PORT_Memcpy(output, buffer + modulus_len - *output_len, *output_len);    PORT_Free(buffer);    return SECSuccess;loser:    PORT_Free(buffer);failure:    return SECFailure;}