While it is expected that most applications communicating with SAKA will be modified to generate the SBI XML input file directly, there will be some period where it will be necessary to perform the batch operations expediently without having to wait for internal applications to be reprogrammed.
To help during the transition process, the appliance's strongkeyliteClient.jar
application includes an option called GenerateBatchInput in the application to take an ASCII text file, with a single record per line in the file, free of any comments or ornamentation, and convert it into an XML file conforming to the SBI schema.
Typing the following command provides some help on the usage of GenerateBatchInput:
java -cp sakaclient.jar GenerateBatchInput
When run, it results in the following output:
Parameter |
Explanation |
---|---|
<input-file-name> |
The full file-name of the plain ASCII input file containing the lines of text to be converted to SBI in an XML file. |
<output-file-name> |
The full file-name of the XML file that will contain the resulting XML. It is strongly recommended that convention for these filenames is established so there are no over-write errors. StrongKey recommends the following: the domain ID, followed by a hyphen, followed by the source application name or requester, followed by a hyphen, followed by the date-timestamp. An example would be |
<DID> |
The unique encryption domain identifier in which this batch job will be processed. |
<job-name> |
A helpful job-name that can be embedded inside the XML file, so the resulting output can be processed by the client application meaningfully. This name can be an identifier string that has meaning in the application environment. |
<Encrypt|Decrypt|Delete|Search> |
One of the four cryptographic operations requested for this XML file. |
<number-of-records> |
The number of lines in the plain ASCII text file. While this is not meant to be a hard number that will prevent the appliance from processing the XML file if the actual number is more or less than this number, it is a helpful guide to humans who may be reviewing the XML file. |
[SAKA.xsdlocation-name] |
An optional parameter specifying the full path location of the In that case, copying |
In the current directory where the strongkeyliteClient.jar
file exists, if a plain ASCII text file exists—plain-input.txt
—including the following lines of text...
1111222200000001 1111222200000002 1111222200000003 1111222200000004 1111222200000005 1111222200000006 1111222200000007 1111222200000008 1111222200000009 1111222200000010
...the following command will convert it to an XML file in the SBI format...
java -cp sakaclient.jar GenerateBatchInput plain-input.txt 1-ABCD-20100920T163300.xml 1 ABCD-PAN-Conversion Encrypt 10
...and resulting in the following XML file:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <SKLESBatchInput xmlns="http://strongkeylite.strongauth.com/SKLES201009"> <DomainId>1</DomainId> <JobId>ABCD-PAN-Conversion</JobId> <Transaction>Encrypt</Transaction> <InputNumber>10</InputNumber> <InputValues> <Input>1111222200000001</Input> <Input>1111222200000002</Input> <Input>1111222200000003</Input> <Input>1111222200000004</Input> <Input>1111222200000005</Input> <Input>1111222200000006</Input> <Input>1111222200000007</Input> <Input>1111222200000008</Input> <Input>1111222200000009</Input> <Input>1111222200000010</Input> </InputValues> </SKLESBatchInput>
The following figure shows the use of the optional SAKA-location-name parameter since this was executed on a PC where the SAKA.xsd
file was not automatically available:
There are no limits to the number of records that may be included in an SBI element of the XML file; however, very large numbers of records may require that the Java executable program be provided more “heap memory” for its execution by supplying an “-Xms” and/or “-Xmx” option, as follows:
java -Xms2048m -Xmx4096m -cp sakaclient.jar GenerateBatchInput plain-input.txt 1-ABCD-20100920T163300.xml 1 ABCD-PAN-Conversion Encrypt 1000000 SAKA.xsd
Indicating that this generation process use 2GB of heap-memory initially when creating the Java Virtual Machine (JVM) to execute the program, and use a maximum of 4GB during the execution, if needed.
The resulting XML file may now be transferred to the appliance for batch processing.