public class ExtendedMetadata extends Object implements Serializable, Cloneable
Constructor and Description |
---|
ExtendedMetadata() |
Modifier and Type | Method and Description |
---|---|
ExtendedMetadata |
clone()
Clones the existing metadata object.
|
String |
getAlias()
Returns alias.
|
String |
getDigestMethodAlgorithm()
Returns digest method algorithm value
|
String |
getEncryptionKey()
Encryption key used for encrypting messages send to the remote entity or decrypting data sent to the local one.
|
String |
getIdpDiscoveryResponseURL() |
String |
getIdpDiscoveryURL() |
String |
getKeyInfoGeneratorName()
Name of the KeyInfoGenerator registered at default KeyInfoGeneratorManager.
|
String |
getSecurityProfile()
Security profile to use for this local entity - MetaIOP (default) or PKIX.
|
String |
getSigningAlgorithm()
Gets the signing algorithm to use when signing the SAML messages.
|
String |
getSigningKey()
Signing key used for signing messages or verifying signatures of this entity.
|
String |
getSslHostnameVerification()
Hostname verifier for SSL connections.
|
String |
getSslSecurityProfile()
Security profile used for SSL/TLS connections of the local entity.
|
String |
getTlsKey()
Key used to authenticate instance against remote peers when specified on local entity.
|
Set<String> |
getTrustedKeys()
Trusted keys usable for signature and server SSL/TLS verification for entities with PKIX verification enabled.
|
boolean |
isEcpEnabled() |
boolean |
isIdpDiscoveryEnabled()
When true IDP discovery will be invoked before initializing WebSSO, unless IDP is already specified inside
SAMLContext.
|
boolean |
isLocal() |
boolean |
isRequireArtifactResolveSigned()
Flag indicating whether entity in question requires artifact resolve messages to be signed.
|
boolean |
isRequireLogoutRequestSigned()
Flag indicating whether entity in question requires logout request to be signed.
|
boolean |
isRequireLogoutResponseSigned()
Flag indicating whether entity in question requires logout response to be signed.
|
boolean |
isSignMetadata()
Flag indicating whether local metadata will be digitally signed.
|
boolean |
isSupportUnsolicitedResponse() |
void |
setAlias(String alias)
Alias is used to identify a destination entity as part of the URL.
|
void |
setDigestMethodAlgorithm(String digestMethodAlgorithm)
Sets the digest method algorithm to use when signing the SAML messages.
|
void |
setEcpEnabled(boolean ecpEnabled) |
void |
setEncryptionKey(String encryptionKey)
Sets encryption key to be used for interaction with the current entity.
|
void |
setIdpDiscoveryEnabled(boolean idpDiscoveryEnabled) |
void |
setIdpDiscoveryResponseURL(String idpDiscoveryResponseURL)
When set our local IDP Discovery implementation will send response back to Service Provider on this address.
|
void |
setIdpDiscoveryURL(String idpDiscoveryURL)
URL to invoke while initializing IDP Discovery protocol for the local SP.
|
void |
setKeyInfoGeneratorName(String keyInfoGeneratorName)
Sets KeyInfoGenerator used to create KeyInfo elements in metadata and digital signatures.
|
void |
setLocal(boolean local)
When set to true entity is treated as locally deployed and will be able to accept messages on endpoints determined
by the selected alias.
|
void |
setRequireArtifactResolveSigned(boolean requireArtifactResolveSigned)
If true received artifactResolve messages will require a signature, sent artifactResolve will be signed.
|
void |
setRequireLogoutRequestSigned(boolean requireLogoutRequestSigned)
If true logoutRequests received will require a signature, sent logoutRequests will be signed.
|
void |
setRequireLogoutResponseSigned(boolean requireLogoutResponseSigned)
If true logoutResponses received will require a signature, sent logoutResponses will be signed.
|
void |
setSecurityProfile(String securityProfile)
Sets profile used for verification of signatures and encryption.
|
void |
setSigningAlgorithm(String signingAlgorithm)
Sets the signing algorithm to use when signing the SAML messages.
|
void |
setSigningKey(String signingKey)
Sets signing key to be used for interaction with the current entity.
|
void |
setSignMetadata(boolean signMetadata)
When set to true metadata generated for this entity will be digitally signed by the signing certificate.
|
void |
setSslHostnameVerification(String sslHostnameVerification)
Sets hostname verifier to use for verification of SSL connections.
|
void |
setSslSecurityProfile(String sslSecurityProfile)
Sets profile used for verification of SSL/TLS connections.
|
void |
setSupportUnsolicitedResponse(boolean supportUnsolicitedResponse)
When set to true system will support reception of Unsolicited SAML Response messages (IDP-initialized single
sign-on) from this remote entity.
|
void |
setTlsKey(String tlsKey)
For local entities denotes alias of the key used to authenticate this instance against peer servers using SSL/TLS connections.
|
void |
setTrustedKeys(Set<String> trustedKeys)
Set of keys used as anchors for PKIX verification of messages coming from this entity.
|
public String getSecurityProfile()
public void setSecurityProfile(String securityProfile)
MetaIOP profile (by default):
Uses cryptographic data from the metadata document of the entity in question. No checks for validity
or revocation of certificates is done in this mode. All keys must be known in advance.
PKIX profile:
Signatures are deemed as trusted when credential can be verified using PKIX with trusted keys of the peer
configured as trusted anchors.
This setting is only relevant for local entities.
securityProfile
- profile to use - PKIX when set to "pkix", MetaIOP otherwisepublic String getSslSecurityProfile()
public void setSslSecurityProfile(String sslSecurityProfile)
PKIX profile (by default), value "pkix":
Signatures are deemed as trusted when credential can be verified using PKIX with trusted keys of the peer
configured as trusted anchors.
MetaIOP profile, any other value:
Uses cryptographic data from the metadata document of the entity in question. No checks for validity
or revocation of certificates is done in this mode. All keys must be known in advance.
Logic is enforced in SAMLContextProviderImpl#populateSSLTrustEngine. Values are case insensitive.
This setting is only relevant for local entities.
sslSecurityProfile
- profile to use - PKIX when set to "pkix", MetaIOP otherwisepublic String getSslHostnameVerification()
public void setSslHostnameVerification(String sslHostnameVerification)
default: org.apache.commons.ssl.HostnameVerifier.DEFAULT
defaultAndLocalhost: org.apache.commons.ssl.HostnameVerifier.DEFAULT_AND_LOCALHOST
strict: org.apache.commons.ssl.HostnameVerifier.STRICT
allowAll: org.apache.commons.ssl.HostnameVerifier.ALLOW_ALL, doesn't perform any validation
Logic is enforced in SAMLContextProviderImpl#populateSSLHostnameVerifier. Values are case insensitive. Unrecognized value revert to default setting.
This setting is only relevant for local entities.
sslHostnameVerification
- hostname verification type flagpublic String getAlias()
public void setAlias(String alias)
In case the alias is null on a local entity it must be set as a default to be accessible.
Alias must be unique for each local entityId.
alias
- alias valuepublic String getSigningKey()
public void setSigningKey(String signingKey)
Value can be used to override credential contained in the remote metadata.
signingKey
- key for creation/verification of signaturespublic String getEncryptionKey()
public void setEncryptionKey(String encryptionKey)
Value can be used to override credential contained in the remote metadata.
encryptionKey
- key for creation/verification of signaturespublic boolean isRequireLogoutRequestSigned()
public void setRequireLogoutRequestSigned(boolean requireLogoutRequestSigned)
requireLogoutRequestSigned
- logout request signature flagpublic boolean isRequireLogoutResponseSigned()
public void setRequireLogoutResponseSigned(boolean requireLogoutResponseSigned)
requireLogoutResponseSigned
- logout response signature flagpublic boolean isRequireArtifactResolveSigned()
public void setRequireArtifactResolveSigned(boolean requireArtifactResolveSigned)
requireArtifactResolveSigned
- artifact resolve signature flagpublic String getTlsKey()
public void setTlsKey(String tlsKey)
tlsKey
- tls keypublic Set<String> getTrustedKeys()
public void setTrustedKeys(Set<String> trustedKeys)
When no trusted keys are specified all keys in the keyManager are treated as trusted.
This setting is only relevant for remote entities.
trustedKeys
- keyspublic boolean isLocal()
public void setLocal(boolean local)
local
- true when entity is deployed locallypublic String getIdpDiscoveryURL()
public void setIdpDiscoveryURL(String idpDiscoveryURL)
idpDiscoveryURL
- IDP discovery URLpublic String getIdpDiscoveryResponseURL()
public void setIdpDiscoveryResponseURL(String idpDiscoveryResponseURL)
idpDiscoveryResponseURL
- discovery response URLpublic boolean isIdpDiscoveryEnabled()
public void setIdpDiscoveryEnabled(boolean idpDiscoveryEnabled)
public void setEcpEnabled(boolean ecpEnabled)
public boolean isEcpEnabled()
public String getSigningAlgorithm()
SignatureConstants
public void setSigningAlgorithm(String signingAlgorithm)
Credential
default algorithm will be used instead.
Value only applies to local entities.
At the moment the value is only used for signatures on metadata.
Typical values are:
https://www.w3.org/2000/09/xmldsig#rsa-sha1
https://www.w3.org/2001/04/xmldsig-more#rsa-sha256
https://www.w3.org/2001/04/xmldsig-more#rsa-sha512signingAlgorithm
- The new signing algorithm to useSignatureConstants
public void setKeyInfoGeneratorName(String keyInfoGeneratorName)
keyInfoGeneratorName
- generator namepublic String getKeyInfoGeneratorName()
Configuration.getGlobalSecurityConfiguration()
,
SecurityConfiguration.getKeyInfoGeneratorManager()
public boolean isSignMetadata()
public void setSignMetadata(boolean signMetadata)
signMetadata
- metadata signing flagpublic boolean isSupportUnsolicitedResponse()
public void setSupportUnsolicitedResponse(boolean supportUnsolicitedResponse)
supportUnsolicitedResponse
- unsolicited response flagpublic ExtendedMetadata clone()
public String getDigestMethodAlgorithm()
public void setDigestMethodAlgorithm(String digestMethodAlgorithm)
Configuration
default algorithm will be used instead.
Value only applies to local entities.
At the moment the value is only used for signatures on metadata.
Typical values are:
https://www.w3.org/2001/04/xmlenc#sha1
https://www.w3.org/2001/04/xmlenc#sha256
https://www.w3.org/2001/04/xmlenc#sha384
https://www.w3.org/2001/04/xmlenc#sha512
https://www.w3.org/2001/04/xmlenc#ripemd160digestMethodAlgorithm
- The new digest method algorithm to useSignatureConstants