Kerberos Authentication

We are trying to connect to Hbase having Kerberos Authentication enabled but getting the below mentioned error

{"fault":{"faultstring":"Failed to execute JavaCallout. java.lang.SecurityException: java.io.IOException: Configuration Error:\n\tInvalid control flag, PRINCIPAL","detail":{"errorcode":"steps.javacallout.ExecutionError"}}}

What can be the reason of the above mentioned ?

We have used the sample proxy provided in the below post and updated the required files on the server
https://community.apigee.com/questions/61530/retrieve-the-kerberos-token-from-kdc-server.html

Javacallout

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<JavaCallout async="false" continueOnError="false" enabled="true" name="credentialdelegation"> <DisplayName>CredentialDelegation</DisplayName>
<FaultRules/>
<Properties>
<Property name="krb5Conf">/opt/apigee/tmp/test1-krb5.conf</Property>
<Property name="loginConf">/opt/apigee/tmp/login.conf</Property>
<Property name="loginModule">ServicePrincipalLoginContext</Property>
<Property name="serverPrincipal">xxxxxx</Property>
</Properties>
<ClassName>krb5.apigee.CredentialMediation</ClassName>
<ResourceURL>java://kerberos-credential-mediation.jar</ResourceURL>
</JavaCallout>

0 1 486
1 REPLY 1

Hard to say, it *looks like* that exception is coming from sun/security/util/AuthResources.java ,

but without a stacktrace, it's hard to give any further insight.

I'm not familiar specifically with the Callout defined in kerberos-credential-mediation.jar . Is there a way to emit the stacktrace? if you have the source, you may want to wrap the execute() method in a try..catch and emit the stacktrace to a context variable. Example.