안녕하세요. https 프로토콜에서 호스팅되는 oam 서버에 액세스해야하는 요구 사항이 있습니다. 액세스 할 서버에서 인증서와 obaccess.xml 파일을 받았습니다.하지만 여전히 직면하고 있습니다. 일부 issues.Below 내가 obaccess.xml 및 경로 D의 cwallet.sso에 놓여있다 내 코드자바 클라이언트 프로그램에서 https로 호스팅되는 oam 서버에 액세스
import java.util.Hashtable;
import oracle.security.am.asdk.*;
public class JAccessClient
{
public static final String ms_resource ="//1.1.1.1:14101/rest/userprofile";
public static final String ms_protocol = "https";
public static final String ms_method = "GET";
public static final String ms_login = "admin";
public static final String ms_passwd = "admin";
public static final String m_configLocation = "D:\\Configfiles";
public static void main(String argv[])
{
AccessClient ac = null;
try
{
System.out.println("Entered Try..");
ac = AccessClient.createDefaultInstance(m_configLocation,AccessClient.CompatibilityMode.OAM_10G);
System.out.println("Created Default Instance..");
ResourceRequest rrq = new ResourceRequest(ms_protocol, ms_resource,ms_method);
System.out.println("Created Resource Request object..");
if (rrq.isProtected())
{
System.out.println("Resource is protected.");
AuthenticationScheme authnScheme = new AuthenticationScheme(rrq);
if (authnScheme.isForm())
{
System.out.println("Form Authentication Scheme.");
Hashtable creds = new Hashtable();
creds.put("userid", ms_login);
creds.put("password", ms_passwd);
UserSession session = new UserSession(rrq, creds);
if (session.getStatus() == UserSession.LOGGEDIN)
{
if (session.isAuthorized(rrq))
{
System.out.println("User is logged in and authorized for the"+"request at level " + session.getLevel());
System.out.println("User Identity:"+session.getUserIdentity());
System.out.println("Status: "+session.getStatus());
System.out.println("Start time:"+session.getStartTime());
System.out.println("Session Token:"+session.getSessionToken());
System.out.println("Last Usetime:"+session.getLastUseTime());
}
else
{
System.out.println("User is logged in but NOT authorized");
}
//user can be loggedout by calling logoff method on the session object
}
else
{
System.out.println("User is NOT logged in");
}
}
else
{
System.out.println("non-Form Authentication Scheme.");
}
}
else
{
System.out.println("Resource is NOT protected.");
}
}
catch (AccessException ae)
{
//System.out.println("Access Exception: " + ae.getCause());
ae.getStackTrace();
}
ac.shutdown();
} } 입니다 : 내가 위의 코드를 실행 //ConfigFiles.When 내가 오류로 얻을 이하
Entered Try..
Jul 05, 2013 9:04:49 AM oracle.security.am.asdk.impl.Configuration setEncryptedPassword
SEVERE: Failed to perform encrypt password operation.
Jul 05, 2013 9:04:49 AM oracle.security.am.asdk.impl.Configuration setEncryptedPassword
SEVERE:
java.lang.NumberFormatException: For input string: "9a"
at java.lang.NumberFormatException.forInputString(Unknown Source)
at java.lang.Integer.parseInt(Unknown Source)
at java.lang.Integer.parseInt(Unknown Source)
at oracle.security.am.common.nap.util.ObCrypt.convert(ObCrypt.java:163)
at oracle.security.am.common.nap.util.ObCrypt.decrypt(ObCrypt.java:100)
at oracle.security.am.common.nap.util.ObCrypt.decrypt(ObCrypt.java:214)
at oracle.security.am.asdk.impl.Configuration.decrypt(Configuration.java:810)
at oracle.security.am.asdk.impl.Configuration.decryptPassword(Configuration.java:766)
at oracle.security.am.asdk.impl.Configuration.setEncryptedPassword(Configuration.java:242)
at oracle.security.am.asdk.impl.ConfigXMLHandler.processConfig(ConfigXMLHandler.java:570)
at oracle.security.am.asdk.impl.ConfigXMLHandler.readConfigurationFromFile(ConfigXMLHandler.java:124)
at oracle.security.am.asdk.AccessClient.initialize(AccessClient.java:608)
at oracle.security.am.asdk.AccessClient.<init>(AccessClient.java:527)
at oracle.security.am.asdk.AccessClient.createDefaultInstance(AccessClient.java:234)
at JAccessClient.main(JAccessClient.java:21)
Jul 05, 2013 9:04:49 AM oracle.security.am.asdk.AccessClient initialize
SEVERE: Oracle Access SDK initialization failed.
oracle.security.am.asdk.AccessException: OAMAGENT-02072: Failed to perform encrypt password operation.
at oracle.security.am.asdk.impl.Configuration.setEncryptedPassword(Configuration.java:263)
at oracle.security.am.asdk.impl.ConfigXMLHandler.processConfig(ConfigXMLHandler.java:570)
at oracle.security.am.asdk.impl.ConfigXMLHandler.readConfigurationFromFile(ConfigXMLHandler.java:124)
at oracle.security.am.asdk.AccessClient.initialize(AccessClient.java:608)
at oracle.security.am.asdk.AccessClient.<init>(AccessClient.java:527)
at oracle.security.am.asdk.AccessClient.createDefaultInstance(AccessClient.java:234)
at JAccessClient.main(JAccessClient.java:21)
Caused by: java.lang.NumberFormatException: For input string: "9a"
at java.lang.NumberFormatException.forInputString(Unknown Source)
at java.lang.Integer.parseInt(Unknown Source)
at java.lang.Integer.parseInt(Unknown Source)
at oracle.security.am.common.nap.util.ObCrypt.convert(ObCrypt.java:163)
at oracle.security.am.common.nap.util.ObCrypt.decrypt(ObCrypt.java:100)
at oracle.security.am.common.nap.util.ObCrypt.decrypt(ObCrypt.java:214)
at oracle.security.am.asdk.impl.Configuration.decrypt(Configuration.java:810)
at oracle.security.am.asdk.impl.Configuration.decryptPassword(Configuration.java:766)
at oracle.security.am.asdk.impl.Configuration.setEncryptedPassword(Configuration.java:242)
... 6 more
Exception in thread "main" java.lang.NullPointerException
at JAccessClient.main(JAccessClient.java:75)
OAM이 여기에 내가 갇혀있다. 이것에 관한 도움이 정말 도움이 될 것입니다.
안녕하세요, 어디서 문제를 해결할 수 있습니까? – shifu