Generating Locking Code Using fingerprintInfo and lockCodeInfo
Additional Prerequisites
In addition to the prerequisites listed here, the FingerPrint Output XML(FingerPrint_XML, the output of get_info query “fingerprintInfo”) is also required when a user wants to generate the locking code for a remote system.
Generating Fingerprints
Declare Variables/Constants
String LOCK_SELECTOR = "0x04";
Attribute attrAppContext = null;
ApplicationContext appContext = null;
String fingerprintQuery = "<sentinelQuery query=\"fingerprintInfo\" version=\"1.1\">"+
"<rawValue>Yes</rawValue>"+
"</sentinelQuery>";
String fingerprintScope = "<sentinelScope >"+
"<lockSelector >”+ LOCK_SELECTOR +”</lockSelector >"+
"</sentinelScope >";
API Calls
To obtain fingerprint information, execute the APIs in the specified sequential order only:
>attrAppContext = new Attribute();
>appContext = new ApplicationContext(attrAppContext);
>String fingerprintInfo = appContext.getInfo(fingerprintScope, fingerprintQuery);
If the appContext.getInfo call is successful, then fingerprintInfo String contains an XML-based output having the detailed information of fingerPrint for the lock selector specified in Scope.
Generating Locking Code
Declare Variables/Constants
String LOCK_SELECTOR = "0x04";
Attribute attrAppContext = null;
ApplicationContext appContext = null;
/*Generating Lock Code using local system FingerPrint*/
String pcLockCodeQuery1 = "<sentinelQuery query=\"lockCodeInfo\" version=\"1.0\"/>";
String pcLockCodeScope1 = "<sentinelScope>”+
"<lockSelector>"+LOCK_SELECTOR+"</lockSelector>"+
"</sentinelScope>";
/*Generating Lock Code using remote system FingerPrint*/
String pcLockCodeQuery2 = "<sentinelQuery query=\"lockCodeInfo\" version=\"1.0\"/>";
String pcLockCodeScope2 = "<sentinelScope>”+
“<lockSelector>"+LOCK_SELECTOR+"</lockSelector>”+
/* fingerPrint element of FingerPrint_XML (output of get_info query fingerprintInfo”) */
“<fingerprint type=\"SentinelRMS\" version=\"1.1\" checksum=\"DA6A103462D10694\">”+
“<criteria>”+
“<name>Disk ID</name>”+
“<selector>0x4</selector>”+
“<hash>99E8F6FF9C193B11</hash>”+
“<item>”+
“<rawValue>0x5060CD50</rawValue>”+
“<hashValue>99E8F6FF9C193B11</hashValue>”+
“</item>”+
“</criteria>”+
“</fingerprint>”+
“</sentinelScope>";
API Calls
To obtain locking code, execute the APIs in the specified sequential order only:
>attrAppContext = new Attribute();
>appContext = new ApplicationContext(attrAppContext);
/*To get Lock Code using the system fingerPrint*/
>String lockCodeInfo = appContext.getInfo(pcLockCodeScope1, pcLockCodeQuery1) ;
/* To get Lock Code using remote system FingerPrint */
>String lockCodeInfo = appContext.getInfo(pcLockCodeScope2, pcLockCodeQuery2) ;
If the appContext.getInfo call is successful, then lockCodeInfo String contains an XML-based output having the detailed information of lock code.
Notes
>While generating fingerprint, set the “rawValue” element in the Scope of “fingerprintInfo” query version 1.1.
>The “lockSelector” in the “fingerprintInfo” query is optional. If it is not set, then fingerprint Info of all criteria is returned.
>If the given locking criteria of a system contains multiple fingerprints, the first value is used for generating the locking code.