Design a FIR filter with a Kaiser window
The Kaiser window has a parameter, usually called $\beta$, which is determined by the specified peak error $\delta$. For your specification, you need to determine which of the two requirements (maximum pass band error or minimum stop band attenuation) is more stringent, and choose the allowable peak error $\delta$, and hence the parameter $\beta$, accordingly.