<sct-issuer-config>

	<cryptoProperties>
       <crypto provider="org.apache.ws.security.components.crypto.Merlin">
            <property name="org.apache.ws.security.crypto.merlin.keystore.type">JKS</property>
            <property name="org.apache.ws.security.crypto.merlin.file">META-INF/rahas-sts.jks</property>
            <property name="org.apache.ws.security.crypto.merlin.keystore.password">password</property>
        </crypto>
	</cryptoProperties>

	<addRequestedAttachedRef />
	<addRequestedUnattachedRef />

    <!--
       Key computation mechanism
       1 - Use Request Entropy
       2 - Provide Entropy
       3 - Use Own Key
    -->
    <keyComputation>3</keyComputation>

    <!--
       proofKeyType element is valid only if the keyComputation is set to 3
       i.e. Use Own Key

       Valid values are: EncryptedKey & BinarySecret
    -->
    <proofKeyType>BinarySecret</proofKeyType>
</sct-issuer-config>
