]
Chao Wang reassigned ELY-1149:
------------------------------
Assignee: Chao Wang (was: Darran Lofthouse)
Default CS implementation KeyStoreCredentialStore doesn't
validate implementation properties
--------------------------------------------------------------------------------------------
Key: ELY-1149
URL:
https://issues.jboss.org/browse/ELY-1149
Project: WildFly Elytron
Issue Type: Bug
Reporter: Martin Choma
Assignee: Chao Wang
Priority: Critical
I am able to pass any property into default KeyStoreCredentialStore implementation of
credential store. I understand implementation-properties is general data holder for any
implementation, so validation can't be made on subsystem level. But each delivered
implementation knows which parameters are allowed for itself and thus should check it.
{code}
/subsystem=elytron/credential-store=test:add(relative-to=jboss.server.data.dir,credential-reference={clear-text="pass123+"},implementation-properties={DOES_NOT_EXIST=anything},create=true,location=keystore.jks,modifiable=true)
{code}
It can prevent user from typo error. Also can help user to understand what is allowed for
current implementation, as allowed properties can't be describe in model, because
resource is for general usage.
{code}
"implementation-properties" => {
"type" => OBJECT,
"description" => "Map of credentials store implementation specific
properties.",
"attribute-group" => "implementation",
"expressions-allowed" => true,
"required" => false,
"nillable" => true,
"value-type" => STRING,
"access-type" => "read-write",
"storage" => "configuration",
"restart-required" => "resource-services"
}
{code}