package org.wso2.carbon.identity.entitlement.mediator;
import java.security.cert.X509Certificate;
import org.apache.synapse.MessageContext;
import org.apache.synapse.core.axis2.Axis2MessageContext;
public class X509EntitlementCallbackHandler extends EntitlementCallbackHandler {
/*
* (non-Javadoc)
*
* @see
* org.wso2.carbon.identity.entitlement.mediator.EntitlementCallbackHandler#getUserName(org.
* apache.synapse.MessageContext)
*/
public String getUserName(MessageContext synCtx) {
org.apache.axis2.context.MessageContext msgContext;
Axis2MessageContext axis2Msgcontext = null;
axis2Msgcontext = (Axis2MessageContext) synCtx;
msgContext = axis2Msgcontext.getAxis2MessageContext();
X509Certificate cert = (X509Certificate) msgContext.getProperty("X509Certificate");
return cert.getSubjectDN().getName();
}
/*
* (non-Javadoc)
*
* @see
* org.wso2.carbon.identity.entitlement.mediator.EntitlementCallbackHandler#findEnvironment(
* org.apache.synapse.MessageContext)
*/
public String[] findEnvironment(MessageContext synCtx) {
org.apache.axis2.context.MessageContext msgContext;
Axis2MessageContext axis2Msgcontext = null;
axis2Msgcontext = (Axis2MessageContext) synCtx;
msgContext = axis2Msgcontext.getAxis2MessageContext();
X509Certificate cert = (X509Certificate) msgContext.getProperty("X509Certificate");
String issuer = cert.getIssuerDN().getName();
String signatureAlgo = cert.getSigAlgName();
return new String[] { "Issuer#" + issuer, "SignatureAlgo#" + signatureAlgo };
}
}