傳統的私密金鑰或對稱金鑰加密需要使用兩方以上共用之單一、機密金鑰來確保安全的通訊。此金鑰用於加密和解密雙方間傳送的安全訊息,因此必須事先將金鑰安全地分送給每一方。此方法產生的問題是很難安全地傳輸和儲存金鑰。
公用金鑰加密採用公用/私密金鑰組和安全的金鑰分送方法來解決上述問題。可自由使用的公用金鑰會用於加密訊息,而此訊息只能由持有相關私密金鑰的人解密。私密金鑰與其他安全證明資料會安全地儲存在稱為公事包的加密容器中。
公用金鑰演算法可以保證訊息的私密性,但是不一定保證通訊安全,因為此演算法不會驗證通訊方的身份。若要建立安全通訊,必須驗證用於加密訊息的公用金鑰確實屬於目標收件者。否則,第三者就可能竊取通訊並攔截公用金鑰要求,然後以自己的公用金鑰取代合法的金鑰 (中間人攻擊)。
為了避免這種攻擊,系統必須驗證公用金鑰的擁有者,此程序即稱為認證。認證可以透過憑證授權機構 (CA -- 通訊雙方信任的第三方) 完成。
CA 會發行公用金鑰憑證,其中包含個體的名稱、公用金鑰,和特定的其他安全證明資料。這些證明資料一般包括 CA 名稱、CA 簽章和憑證有效日期 (開始日期和結束日期)。
CA 會使用它的私密金鑰來加密訊息,而公用金鑰則用於解密訊息,藉以驗證訊息是由 CA 加密。CA 公用金鑰是已知的,且不需要在每次存取時認證。此種 CA 公用金鑰儲存於 Oracle 公事包中。