2016-11-29 1 views
0

웹 로직의 OPSS 보안 런타임 크리 덴셜 저장 프레임 워크 (CSF)는 two kinds of credential 지원 표준 사용자 이름 + 비밀번호 비밀번호 유형, 단일 토큰 또는 일반적인 유형입니다.WLST를 통해 WebLogic OPSS CSF에 GenericCredential을 만들려면 어떻게해야합니까?

CSF지도 (Java POJO)를 읽고 쓸 수있는 몇 가지 API가 있으며 WLST access to createCred이 있습니다. 그러나 암호 유형 키/값을 작성합니다. 원하는 경우 일] 항목이 아 U니다. Enterprise Manager /em을 통해 일반 항목을 생성 할 수 있습니다.

WLST 스크립팅을 통해 일반 스타일 자격 증명 항목을 만드는 방법이 있습니까?

답변

0

이렇게하려면 제공된 createCred보다 WLST에서 낮은 수준의 API를 사용해야합니다. 구체적으로 JMX MBean을 통해 구성에 액세스해야합니다. JpsCredentialMXBean.

import os; 
import sys; 
import time; 

admin_serverHostName = sys.argv[1] 
admin_port = sys.argv[2] 
admin_protocol = sys.argv[3] 

connect(os.environ["WLS_USERNAME"], os.environ["WLS_PASSWORD"], admin_protocol+'://'+admin_serverHostName+':'+admin_port) 

domainRuntime() 
jpsCredentialStore = ObjectName("com.oracle.jps:type=JpsCredentialStore") 

# create normal password credential 
pc = createCredObj("username", "password", "description") 
cd = pc.toCompositeData(None) 
params = ["map.key", "key.name", cd] 
sign = ["java.lang.String", "java.lang.String", "javax.management.openmbean.CompositeData"] 
mbs.invoke(jpsCredentialStore, "setPortableCredential", params, sign) 

# generic style single-token credential 
params = ["map.key", "key.name", "token", "description"] 
sign = ["java.lang.String", "java.lang.String", "java.io.Serializable", "java.lang.String"] 
mbs.invoke(jpsCredentialStore, "reassignGenericCredential", params, sign) 

disconnect() 

def createCredObj(user, password, desc) : 
    from oracle.security.jps.mas.mgmt.jmx.credstore import PortablePasswordCredential 
    #Create Password Credential object 
    pc = PortablePasswordCredential(user, password, desc) 
    return pc 
: 여기

는지도의 각 유형의 하나 명의 자격 증명을 포함하는 샘플 WLST 스크립트입니다