關於PingFederate用到的證書

關於PingFederate用到的證書

最近用PingFederate做了一個項目,覺得裏面的證書的理解很重要。 就關於證書部分在這裏記一下我的理解。有興趣的朋友可以一塊討論。如果對PingFederate一點都不瞭解,可能有點搞不清楚我說什麼,請大家見諒,因爲Federate這個東西我還沒有理解太透, 不能在這裏講這個了。

1. DSign JKS Keystrore: 要指向一個jks文件。 此jks裏只需有一項(當然導入其他證書也可以),就是public-private key雙。其中private key用來對token簽名,public key用來驗證token簽名。

2. 首先要Trust CAs裏把根證書(DER格式的證書, 注意擴展名通常爲cer)導入。以下三個證書申請都用此根證書籤署。
IDP用導入的pk12裏的private key對SAML進行簽名,然後SP用導入的cer裏的public key進行驗證簽名---(在Adapter裏)。
SP用導入的pk12裏的private key對SAML進行簽名,然後IDP用導入的cer裏的public key進行驗證簽名---(在My IDP的SP connection裏進行設置)。
IDP用導入的cer裏的public key對SAML進行加密,然後SP用導入的pk12裏的private key進行驗證解密---(在My SP的IDP connection裏進行設置)。
注意:jks裏的key雙與其他證書可以沒有任何關係。 好像jks的證書也可以和public key起到同樣驗證簽名的作用,但是需要導入cer證書。

這裏理解證書了,基本也就換懂PingFederate裏面的大概機制了。

3. 證書生成過程:
創建私鑰 :
openssl genrsa -out root-key.pem 1024
(root-key裏應該是有一對密鑰,即public-private密鑰對)
創建證書請求
openssl req -new -out root-req.csr -key root-key.pem
(創建證書請求時,需要從root-key.pem裏提取public key, 創建除證書之外的其他證書,要使用自己的key文件。)
自簽署證書 :
openssl x509 -req -in root-req.csr -out root-cert.pem -signkey root-key.pem -days 3650
(用root-key.pem進行簽署證書請求,如果有CA,此步驟應該由CA來做)
 openssl x509 -req -in other-req.csr -out ohter-cert.pem -CA root-cert.pem -CAkey root-key.pem -CAcreateserial -days 3650
(其它證書用CA來簽署)
將pem證書和private key合成p12格式 :
openssl pkcs12 -export -clcerts -in root-cert.pem -inkey root-key.pem -out root.p12

然後把p12的證書導入IE裏,再用IE導出DER格式的cer證書。看網上說pkcs7 可以轉換證書格式,但是我下的windows版本的openssl不能用這個命令,不知道是什麼原因。
發佈了16 篇原創文章 · 獲贊 0 · 訪問量 1942
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章