I redirected my e-commerce website from Http to Https. Now I want to implement canonical tags for similar products to avoid duplicate issue. In my product pages the permalink is the HTTP version but the redirection works properly. Is it ok if I put the canonical tag in a 301 redirected page? Since I can not find the HTTPs pages in my Wordpress.
No, that's not correct. You should only use canonical tag for the final URL you want Google to crawl.
Google will choose one URL as the canonical version and crawl that, and all other URLs will be considered duplicate URLs and crawled less often.
So, if you use a
301 redirect from http to https and after that tells Google that the canonical URL is the previous one, that could lead to an indexation problem. I'll not take the risk.