JMeter沒有對WS-Security或WS-Trust的任何內置支持,這使我為JMeter開發了此STS Sampler –可以在負載測試STS時使任何人的生活變得更好。
首先,您需要擁有Apache JMeter發行版。 我正在使用v2.7。
然后,您可以從此處下載sts.sampler.zip –解壓縮并將“ repo”目錄直接復制到JMETER_HOME。 還將lib.ext目錄中的所有jar都復制到JMETER_HOME / lib / ext。
就是這樣-現在啟動JMeter。
在您的線程組下–右鍵單擊–并添加Java Request Sampler…
現在,選擇org.wso2.apache.jmeter.sts.STSSampler作為類名–您將看到以下內容……

讓我在這里簡要解釋一下-不同的參數名稱到底是什么意思。
STS_End_Point:安全令牌服務的端點。 如果您使用的是WSO2 Identity Server隨附的STS,則為https:// localhost:9443 / services / wso2carbon-sts
STS_Security_Policy: WS-Security Policy的位置–用于保護STS。 它可以是具有UsernameToken和Sign&Encryption的安全策略。
Applies_To:您要針對哪個服務使用從STS獲得的此令牌,或者換句話說,令牌的范圍。 這可以是STS已知的任何URI。 STS可以使用此URI查找該服務的公共密鑰,并將使用該URI加密發布的密鑰。 因此,無論您輸入什么內容,都對您的STS有意義。
Token_Type:可以是以下任意一種…
1. http://docs.oasis-open.org/wss/oasis-wss-saml-token-profile-1.1#SAMLV2.0
2. http://docs.oasis-open.org/wss/oasis-wss-saml-token-profile-1.1#SAMLV1.1
Key_Type:可以是以下任意一種…
1. / SymmetricKey:請求對稱密鑰令牌(默認)
2. / PublicKey:請求公共密鑰令牌
3. / Bearer:請求一個承載令牌。 請求者可以使用此密鑰類型來指示他們想要發行不需要擁有證明的安全令牌。
Key_Size:密鑰的大小。 默認情況下,它設置為256。這是一個整數元素,指示以位數表示的REQUIRED鍵的大小。
Claim_Dialect:已知的STS索賠方言。 這可用于將一組索賠組合在一起。
Required_Claims: STS已知的URI,指示所需的屬性集。 這可以是逗號分隔的列表。
System_Trust_Store:當STS的URL在https上時–這表示JKS文件的位置,該文??件包括與STS端點相對應的公共證書。
System_Trust_Store_Password:訪問System_Trust_Store的密碼
用戶名:當使用UsernameToken安全策略保護STS時,這是必需的。 這是相應的用戶名。
密碼:與上述用戶名對應的密碼。
Encryption_Key_Store:當使用WS-Security加密保護STS時,這是必需的。 存儲STS終結點公鑰的JKS的位置。
Encryption_Key_Store_Password:與Encryption_Key_Store對應的密碼。
Encryption_Key_Alias:來自Encryption_Key_Store的別名,對應于STS端點。 這有助于加載STS的公鑰。
Signature_Key_Store:當使用WS-Security簽名保護STS時,這是必需的。 存儲STS客戶端私鑰的JKS的位置。
Signature_Key_Store_Password:與Signature_Key_Store對應的密碼。
Signature_Key_Alias:來自Signature_Key_Store的別名,對應于STS客戶端。 這有助于加載STS客戶端的私鑰。
Signature_Key_Password:與STS客戶端的私鑰相對應的密碼。
以下是我用來加載WSO2 Identity Server附帶的測試STS的示例配置。


參考:在Facile Login博客上,使用我們的JCG合作伙伴 Prabath Siriwardena 的WS-Trust / STS采樣器擴展JMeter 。
翻譯自: https://www.javacodegeeks.com/2012/07/extending-jmeter-with-ws-truststs.html