public static String getDomainRealm(String shortprinc) { Class<?> classRef; Object principalName; //of type sun.security.krb5.PrincipalName or IBM equiv String realmString = null; try { if (IBM_JAVA) { classRef = Class.forName("com.ibm.security.krb5.PrincipalName"); } else { classRef = Class.forName("sun.security.krb5.PrincipalName"); } int tKrbNtSrvHst = classRef.getField("KRB_NT_SRV_HST").getInt(null); principalName = classRef.getConstructor(String.class, int.class). newInstance(shortprinc, tKrbNtSrvHst); realmString = (String)classRef.getMethod("getRealmString", new Class[0]). invoke(principalName, new Object[0]); } catch (RuntimeException rte) { //silently catch everything } catch (Exception e) { //silently return default realm (which may itself be null) } if (null == realmString || realmString.equals("")) { return getDefaultRealmProtected(); } else { return realmString; } }
public static String getDomainRealm(String shortprinc) { Class<?> classRef; Object principalName; //of type sun.security.krb5.PrincipalName or IBM equiv String realmString = null; try { if (System.getProperty("java.vendor").contains("IBM")) { classRef = Class.forName("com.ibm.security.krb5.PrincipalName"); } else { classRef = Class.forName("sun.security.krb5.PrincipalName"); } int tKrbNtSrvHst = classRef.getField("KRB_NT_SRV_HST").getInt(null); principalName = classRef.getConstructor(String.class, int.class). newInstance(shortprinc, tKrbNtSrvHst); realmString = (String)classRef.getMethod("getRealmString", new Class[0]). invoke(principalName, new Object[0]); } catch (RuntimeException rte) { //silently catch everything } catch (Exception e) { //silently return default realm (which may itself be null) } if (null == realmString || realmString.equals("")) { return getDefaultRealmProtected(); } else { return realmString; } }
public static String getDomainRealm(String shortprinc) { Class<?> classRef; Object principalName; //of type sun.security.krb5.PrincipalName or IBM equiv String realmString = null; try { if (System.getProperty("java.vendor").contains("IBM")) { classRef = Class.forName("com.ibm.security.krb5.PrincipalName"); } else { classRef = Class.forName("sun.security.krb5.PrincipalName"); } int tKrbNtSrvHst = classRef.getField("KRB_NT_SRV_HST").getInt(null); principalName = classRef.getConstructor(String.class, int.class). newInstance(shortprinc, tKrbNtSrvHst); realmString = (String)classRef.getMethod("getRealmString", new Class[0]). invoke(principalName, new Object[0]); } catch (RuntimeException rte) { //silently catch everything } catch (Exception e) { //silently return default realm (which may itself be null) } if (null == realmString || realmString.equals("")) { return getDefaultRealmProtected(); } else { return realmString; } }
String localHostname = KerberosUtil.getLocalHostName(); String testHost = "FooBar"; String defaultRealm = KerberosUtil.getDefaultRealmProtected();
String localHostname = KerberosUtil.getLocalHostName(); String testHost = "FooBar"; String defaultRealm = KerberosUtil.getDefaultRealmProtected();