09.04.2013 Views

Download Here - Common Access Card (CAC)

Download Here - Common Access Card (CAC)

Download Here - Common Access Card (CAC)

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Appendix C- PKCS 11 Functions<br />

The P11 module should be compatible with at least Version 2.11 of the cryptoki header<br />

files available at: http://www.rsasecurity.com/rsalabs/pkcs/pkcs-11/index.html.<br />

Note: DoD understands during the development of this document, a newer<br />

version was released, but version 2.11 is still widely used; therefore, it is a<br />

minimum requirement.<br />

The PKCS#11 registry setting shall identify the vendor and the fully qualified path of the<br />

DLL that supports the PKCS#11 interface.<br />

Key<br />

[HKEY_LOCAL_MACHINE\SOFTWARE\GSC\Cryptography\PKCS#11\<br />

Key Values Type Setting Default<br />

Setting<br />

“PKCS#11DLL” String N/A<br />

“Vendor” String N/A<br />

Setting Description<br />

Fully qualified path to the PKCS11 DLL<br />

Vendor’s full name.<br />

Example<br />

[HKEY_LOCAL_MACHINE\SOFTWARE\GSC\Cryptography\PKCS#11\Vendor1]<br />

”PKCS#11DLL”=”c:\windows\system32\pkcs11.dll”<br />

“Vendor”=”Middleware Vendor 1”<br />

Figure 9<br />

PKCS#11 Test Inputs<br />

CK_ATTRIBUTE one[7], two[7], three[7]; two[3].type = CKA_MODIFIABLE;<br />

CK_OBJECT_CLASS cko_data =<br />

CKO_DATA;<br />

two[3].pValue = &__true;<br />

CK_BBOOL __false = CK_FALSE, __true two[3].ulValueLen =<br />

= CK_TRUE;<br />

sizeof(CK_BBOOL);<br />

char *key = "TEST PROGRAM"; two[4].type = CKA_LABEL;<br />

CK_ULONG key_len = strlen(key); two[4].pValue = "Test data object<br />

two";<br />

one[0].type = CKA_CLASS; two[4].ulValueLen = strlen((const<br />

UNCLASSIFIED 48

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!