關於PingFederate用到的證書

2021-08-23 13:45:18 字數 1657 閱讀 8762

關於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不能用這個命令,不知道是什麼原因。

關於業務用例

本來想把這專案的過程全部記錄下來的,可惜.實言了 這次來講一下用例吧.我這公司是 公司.和公司打交道的就是客戶和 商 其實 商也是客戶 客戶買.公司向 商買.所以呢.其實我就只有二個業務用例.好了,最外圍的邊界已經確定了.這二個用例就是 買產品 和 賣產品 圖我就不畫了,大家發揮想像力吧.要記住這個...

關於 synchronized self 的用法

synchronized 的作用是建立乙個互斥鎖,保證此時沒有其它執行緒對self物件進行修改。這個是objective c的乙個鎖定令牌,防止self物件在同一時間內被其它執行緒訪問,起到執行緒的保護作用。一般在公用變數的時候使用,如單例模式或者操作類的static變數中使用。import net...

關於 synchronized self 的用法

synchronized 的作用是建立乙個互斥鎖,保證此時沒有其它執行緒對self物件進行修改。這個是objective c的乙個鎖定令牌,防止self物件在同一時間內被其它執行緒訪問,起到執行緒的保護作用。一般在公用變數的時候使用,如單例模式或者操作類的static變數中使用。大概就是如果執行緒a...