PKCS11 standardı kriptografik bilgiyi tutan ve fonksiyonlarını işleten cihazlar için “Cryptoki” olarak anılan uygulama programlama ara yüzünü (API) tanımlar. Cryptoki, “crypto-key” olarak telaffuz edilir ve “cryptographic token interface” tamlamasının kısaltılmış şeklidir. Cryptoki basit nesne tabanlı bir yaklaşımı izler. Teknolojiden bağımsızlığı hedefinin adreslenmesi ve kaynak paylaşımı (Çoklu cihazlara erişen çoklu uygulamalar), ortak uygulamalar için temsil, “cryptographic token” olarak söz edilen cihazın mantıksal görünümü bu yaklaşımın parçalarıdır.
Bu doküman ANSI C programlama dilini kullanarak kriptografik servisleri gerektiren uygulamalar için uygun veri tipleri ve fonksiyonlarını belirtir. Bu veri tipleri ve fonksiyonlar tipik olarak bir Cryptoki kütüphanesinin sağlayıcısı tarafından C başlık dosyaları üzerinden sağlanmış olacaktır. Cryptoki için jenerik ANSI C başlık dosyaları PKCS web sitesinde ulaşılabilir durumdadır. Cryptoki için bu doküman ve güncelleme cetveli aynı yerde yer alacaktır.
Ek dokümanlar jenerik, dil bağımsız Cryptoki arayüzü ve bu arayüzü diğer programlama dilleriyle birbirine bağlamayı sağlayabilir.
Cryptoki kriptografik cihazın detaylarından uygulamayı izole eder. Uygulama cihazın farklı tipine ara yüzü değiştirmek zorunda değildir.
Prefix Description
C_ Fonksiyon
CK_ Veri Tipi Sabit
CKA_ Değer (Attribute)
CKC_ Sertifika Tipi (C certificate)
CKD_ Anahtar Üretme Fonksiyonu (Derivation)
CKF_ Bit bayrağı (Flag)
CKG_ Maske üretme fonksiyonu (Generation)
CKH_ Donanım özellik tipi (Hardware Type)
CKK_ Anahtar tipi (Key)
CKM_ Mekanizma tipi
CKN_ Uyarı (Natification)
CKO_ Object class
CKP_ Pseudo-random function
CKS_ Session state
CKR_ Return value
CKU_ User type
CKZ_ Salt/Encoding parameter source
h bir handle
ul bir CK_ULONG
p bir pointer
pb bir pointer (CK_BYTE için)
ph pointer handle
pul CK_ULONG pointer