Product Documentation

Upon completion of a batch operation, if there are no errors, SAKA creates an XML file that conforms to the SBO element. This element, also defined in the SAKA.xsd file, is identical for the output of any type of cryptographic operation. A sample SBO file is presented below:

#

SBO XML Example

1

 

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>

 

2

 

<SKLESBatchOutput

 

3

 

xmlns='http://strongkeylite.strongauth.com/SKLES201009'>

 

4

 

<DomainId>1</DomainId>

 

5

 

<JobId>X1234-20100520T211723</JobId>

 

6

 

<Transaction>Encrypt</Transaction>

 

7

 

<InputNumber>5</InputNumber>

 

8

 

<OutputValues>

 

9

 

<Output>

 

10

 

<Input>1111222233330001</Input>

 

11

 

<Result>9999000000001002</Result>

 

12

 

</Output>

 

13

 

<Output>

 

14

 

<Input>1111222233330002</Input>

 

15

 

<Result>9999000000001003</Result>

 

16

 

</Output>

 

17

 

<Output>

 

18

 

<Input>1111222233330003</Input>

 

19

 

<Result>9999000000001004</Result>

 

20

 

</Output>

 

21

 

<Output>

 

22

 

<Input>1111222233330004</Input>

 

23

 

<Result>9999000000001005</Result>

 

24

 

</Output>

 

25

 

<Output>

 

26

 

<Input>1111222233330005</Input>

 

27

 

<Result>9999000000001006</Result>

 

28

 

</Output>

 

29

 

</OutputValues>

 

30

 

<OutputNumber>5</OutputNumber> 

 

31

 

</SKLESBatchOutput>

 

 

The following table explains each line of the above XML file:

#

SBO File after Encryption

1

The start of the XML file.

2

The start of the SKLESBatchOutput element. Note that all elements in this example are NOT qualified with the “SKLES” prefix.

3

The namespace definition that this schema instance conforms to; in this case http://strongkeylite.strongauth.com/SKLES201009.

4

The DomainID element indicating the domain that processed these records—the value for this example is the number 1.

5

The JobID element identifies the job name supplied by the client application in the input file. It can be used to identify this output XML file if the same application receives many XML output files from SAKA.

6

The Transaction element identifies the type of cryptographic operation that was performed on each input element the appliance processed. In this example, the file indicates that the Encryption transaction was performed.

7

The InputNumber element identifies the number of input records the appliance was told was in the input file. This may not match with what the appliance actually processes.

8

The OutputValues element signals the start of all output records processed by the appliance.

9–12

13–16

17–20

21–24

25–28

Each Output element has precisely two sub elements: the first is the original sensitive data (denoted by the Input tag) the appliance saw in the input file; and the second is the result of the cryptographic operation on the input element; this is denoted by the Result tag and the token value embedded inside this sub element. In the event the appliance runs into an error, depending on the error, there may be a helpful explanation in the Result sub element, or an empty element. In extreme cases, the output file may be interrupted and have nothing in it.

29

The closing OutputValues tag.

30

The OutputNumber element indicating the exact number of records processed by the appliance in this batch operation; this may or may not match the InputNumber element earlier in the file.

31

The closing SBO tag.

 

An example of the SBO element for a Decryption operation is identical to the SBO file for the Encrypt operation, except that the Input and Result values are reversed—i.e., the Input element has the token, vile the Result element has the original plaintext data.

The SBO files for the Delete and Search operations have different types of Result output. The Delete example is shown below:

#

SBO File after Batch Deletion

1

 

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>

 

2

 

<SKLESBatchOutput  

 

3

 

xmlns='http://strongkeylite.strongauth.com/SKLES201009'>

 

4

 

<DomainId>1</DomainId>

 

5

 

<JobId>DELETE-20100520T211723</JobId>

 

6

 

<Transaction>Delete</Transaction>

 

7

 

<InputNumber>4</InputNumber>

 

8

 

<OutputValues>

 

9

 

<Output>

 

10

 

<Input>9999000000002986</Input>

 

11

 

<Result>True</Result>

 

12

 

</Output>

 

13

 

<Output>

 

14

 

<Input>9999000000002987</Input>

 

15

 

<Result>True</Result>

 

16

 

</Output>

 

17

 

<Output>

 

18

 

<Input>9999000000004988</Input>

 

19

 

<Result>SKL-ERR-1011: Token not found</Result>

 

20

 

</Output>

 

21

 

<Output>

 

22

 

<Input>9999000000007989</Input>

 

23

 

<Result>SKL-ERR-1011: Token not found</Result>

 

24

 

</Output>

 

25

 

</OutputValues>

 

26

 

    <OutputNumber>4</OutputNumber> 

 

27

 

</SKLESBatchOutput>

 

28

 

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>

 

29

 

<SKLESBatchOutput  

 

30

 

xmlns='http://strongkeylite.strongauth.com/SKLES201009'>

 

 

The following table explains each line of the above XML file:

#

SBO XML Explanation

6

The Transaction element identifies the Delete operation.

9–12

This Output element shows that the token—9999000000002986 in this case—was deleted because the Result element indicates “True.”

13–16

This Output element also indicates that the record was deleted from the appliance.

17–20

This Output element indicates an error—the error code and message indicate the provided token number was not found on the appliance, so nothing was deleted.

21–24

This Output element also indicates the same error as the previous one.

 

The SBO file for the Search example is shown below:

#

SBO File after Batch Search

1

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>

2

<SKLESBatchOutput  

3

xmlns='http://strongkeylite.strongauth.com/SKLES201009'>

4

<DomainId>1</DomainId>

5

<JobId>SEARCH-20100520T112723</JobId>

6

<Transaction>Search</Transaction>

7

<InputNumber>3</InputNumber>

8

<OutputValues>

9

<Output>

10

<Input>1111222233330001</Input>

11

<Result>9999000000003007</Result>

12

</Output>

13

<Output>

14

<Input>1111222233330002</Input>

15

<Result>9999000000003008</Result>

16

</Output>

17

<Output>

18

<Input>1111222533330003</Input>

19

<Result></Result>

20

</Output>

21

</OutputValues>

22

<OutputNumber>3</OutputNumber> 

23

</SKLESBatchOutput>

 

The following table explains each line of the above XML file:

#

 

6

The Transaction element identifies the Search operation.

9–12

This Output element shows that the input value—1111222233330001 in this case—was found on the appliance and its token value is in the Result element as 9999000000003007.

13–16

This Output element also indicates that the input value was found on the appliance and has a token value of 9999000000003008.

17–20

This Output element indicates that the token number provided was not found on the appliance, hence nothing was returned in the Result element.