1 package com.p6r.kmipserverlib;
5 import java.nio.charset.Charset;
7 import static org.junit.Assert.assertEquals;
17 System.out.println(
"@BeforeClass - oneTimeSetUp");
23 System.out.println(
"@AfterClass - oneTimeTearDown");
29 System.out.println(
"@Before - setUp");
35 System.out.println(
"@After - tearDown");
45 System.out.println(
"@Test - JNICall-RegisterX509PubKeyKMIP");
49 P6KMIPServerLib sl =
new P6KMIPServerLib();
52 String testMessage =
"<RequestMessage>\n" +
54 "<ProtocolVersion>\n" +
55 "<ProtocolVersionMajor type=\"Integer\" value=\"1\"/>\n" +
56 "<ProtocolVersionMinor type=\"Integer\" value=\"0\"/>\n" +
57 "</ProtocolVersion>\n" +
58 "<MaximumResponseSize type=\"Integer\" value=\"60000\"/>\n" +
59 "<BatchCount type=\"Integer\" value=\"1\"/>\n" +
60 "</RequestHeader>\n" +
62 "<Operation type=\"Enumeration\" value=\"Register\"/>\n" +
63 "<RequestPayload>\n" +
64 "<ObjectType type=\"Enumeration\" value=\"PublicKey\"/>\n" +
65 "<TemplateAttribute>\n" +
67 "<AttributeName type=\"TextString\" value=\"Cryptographic Usage Mask\"/>\n" +
68 "<AttributeValue type=\"Integer\" value=\"Export\"/>\n" +
71 "<AttributeName type=\"TextString\" value=\"Link\"/>\n" +
72 "<AttributeValue>\n" +
73 "<LinkType type=\"Enumeration\" value=\"PrivateKeyLink\"/>\n" +
74 "<LinkedObjectIdentifier type=\"TextString\" value=\"AWIcPWsLVe9N9T_6Mvk5\"/>\n" +
75 "</AttributeValue>\n" +
78 "<AttributeName type=\"TextString\" value=\"x-ID\"/>\n" +
79 "<AttributeValue type=\"TextString\" value=\"TC-82-10-pubkey\"/>\n" +
81 "</TemplateAttribute>\n" +
84 "<KeyFormatType type=\"Enumeration\" value=\"X_509\"/>\n" +
86 "<KeyMaterial type=\"ByteString\" value=\"30819F300D06092A864886F70D010101050003818D0030818902818100A52763806B72B552CEEEF18416D0ED5C4732DC6C853661151E26CE01A90A18F7ADDF0AC13225957F5B4D4CB2A7069052CC1EF12F32029A567CA456E859A1E388DBF913FC90AD912CE73DCAF782917AB0733785240E0E2E39DF934E8A1B66FD19C6FCB5281BA9A58192E2D0756DA773FEE11F80C5DDB3ADFEAA2302E12B384B430203010001\"/>\n" +
88 "<CryptographicAlgorithm type=\"Enumeration\" value=\"RSA\"/>\n" +
89 "<CryptographicLength type=\"Integer\" value=\"1024\"/>\n" +
92 "</RequestPayload>\n" +
94 "</RequestMessage>\n";
97 sl.initializeLibrary(P6KMIPServerLib.FLAGS_NONE);
101 sl.setMessageBuffer(testMessage.getBytes(Charset.forName(
"UTF-8")), KMIPConstants.FORMAT_MSGXML);
104 RequestHeader rh = sl.getRequestHeader();
105 assertEquals(
"1.0", rh.getProtocolVersion());
108 for (
int i = 0; i < rh.getBatchCount(); i++) {
110 BatchItem bi = sl.getBatchItem(i + 1);
111 if (bi instanceof RegisterPublicKeyBatchItem) {
112 RegisterPublicKeyBatchItem ck = (RegisterPublicKeyBatchItem) bi;
115 byte[] batchId = ck.getUniqueBatchId();
116 assertEquals(null, batchId);
118 String[] attributes = ck.getTemplateAttributes();
119 assertEquals(3, attributes.length);
120 assertEquals(
"Cryptographic Usage Mask: 40", attributes[0]);
121 assertEquals(
"Link: AWIcPWsLVe9N9T_6Mvk5 - PrivateKey", attributes[1]);
122 assertEquals(
"x-ID: TC-82-10-pubkey", attributes[2]);
124 int algorithm = ck.getCryptoAlgorithm();
125 assertEquals(KMIPConstants.ALG_RSA, algorithm);
127 int keyLength = ck.getCryptolength();
128 assertEquals(1024,keyLength);
130 int format = ck.getKeyFormatType();
131 assertEquals(KMIPConstants.KEYFORMAT_X509, format);
136 }
catch (Exception e) {
138 System.out.println(e.toString());
static void oneTimeSetUp()
void JNICall_RegisterX509PubKeyKMIP()
Test: Verify parser can handle an XML formated Register Split Key operation.
static void oneTimeTearDown()
Created by Mark on 3/15/2018.