I am trying to use perUserKeyManagerFactory for using multiple key stores. For this i need the system name in each request.
I have created the method createKeyManagerFactory for this. But I can’t reach the values of the session in this method. How can I access the values of the session/feeder in this method?
I am also very new to Scala.
Thanks
My code looks like this :
val feeder = csv("servicesSecureTestData.csv").eager
val stringBody =
"""***"""
def createKeyManagerFactory(systemId: Long): KeyManagerFactory ={
val keyStore = KeyStore.getInstance("PKCS12")
// here value session is not recognized !!! "Cannot resolve symbol session"
val attribute: SessionAttribute = session("systemName")
val systemName = session("systemName").as[String]
keyStore.load(new FileInputStream("./"+ systemName+".p12"), "123456".toCharArray)
val keyManagerFactory = KeyManagerFactory.getInstance(KeyManagerFactory.getDefaultAlgorithm)
keyManagerFactory.init(keyStore,"123456".toCharArray)
keyManagerFactory}
val httpProtocol = http // 4
.baseUrl("https://localhost:8443") // 5
.acceptHeader("text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8")
.doNotTrackHeader("1")
.acceptLanguageHeader("en-US,en;q=0.5")
.acceptEncodingHeader("gzip, deflate")
.userAgentHeader("Mozilla/5.0 (Windows NT 5.1; rv:31.0) Gecko/20100101 Firefox/31.0").perUserKeyManagerFactory(createKeyManagerFactory)
val scn = scenario("RegisterSimulation").feed(feeder).exec(http("request_1")
post("/serviceregistry/register").body(StringBody(stringBody)).asJson)
setUp( // 11
scn.inject(atOnceUsers(1))
).protocols(httpProtocol)