Well actually, as it turn out, I follow the instructions in
Recreating a Self-Signed SSL Certificate - Zimbra :: Wiki
correctly. But the only thing is, I found that after new certificate installation, zmprov will not work until zmcontrol stop and restart. However, since the instructions in wiki instruct to use zmprov to verify the cacert right after "zmcertmgr deploycrt". This scared the daylight out of me to find zmprov suddenly stop working.