Cryptoki API token yönetimi, obje yönetimi, slot ve bunların yanı sıra kriptografik fonksiyonlardan oluşur. Bu fonksiyonlar aşağıdaki tabloda gösterilmiştir:
Genel amaçlı fonksiyonlar |
C_Initialize | Cryptoki’yi ilklendirir |
C_Finalize | Cryptoki ile ilgili muhtelif kaynakları serbest bırakır | |
C_GetInfo | Cryptoki hakkında genel bilgiyi elde eder | |
C_GetFunctionList | Cryptoki kütüphanesinin fonksiyonlarının giriş noktalarını elde eder | |
Slot ve token yönetim fonksiyonları |
C_GetSlotList | Sistemdeki slotların listesini elde eder |
C_GetSlotInfo | Belirli bir slotun bilgisini alır | |
C_GetTokenInfo | Belirli bir token hakkında bilgi alır | |
C_WaitForSlotEvent | Token’ın takılması-çıkarılması gibi bir olay bekler | |
C_GetMechanismList | Token tarafından desteklenen mekanizmaları listeler | |
C_GetMechanismInfo | Belirli bir mekanizma hakkında bilgi elde eder | |
C_InitToken | Token ilklendirir | |
C_InitPIN | Normal kullanıcı PIN’i ilklendirir | |
C_SetPIN | Şimdiki kullanıcının PIN’ini değiştirir | |
Oturum yönetim fonksiyonları |
C_OpenSession | Uygulama ve token arasında bir bağlantı açar veya token takılması için uygulama callback’i kurar |
C_CloseSession | Oturumu kapatır | |
C_CloseAllSessions | Tüm oturumları kapatır | |
C_GetSessionInfo | Oturum hakkındaki bilgileri elde eder | |
C_GetOperationState | Bir oturumun kriptografik operasyonlarının durumunu elde eder | |
C_SetOperationState | Bir oturumun kriptografik operasyonlarının durumunu ayarlar | |
C_Login | Token’a login olmak için kullanılır. | |
C_Logout | Token’dan logout olmak için kullanılır | |
Nesne Yönetim Fonksiyonları |
C_CreateObject | Bir obje oluşturur |
C_CopyObject | Bir objenin kopyasını oluşturur | |
C_DestroyObject | Bir objeyi siler | |
C_GetObjectSize | Byte olarak bir objenin büyüklüğünü elde eder | |
C_GetAttributeValue | Bir objenin nitelik değerini elde eder | |
C_SetAttributeValue | Bir objenin nitelik değerini değiştirir | |
C_FindObjectsInit | Obje arama operasyonunu ilklendirir | |
C_FindObjects | Nesne arama operasyonunu devam eder. | |
C_FindObjectsFinal | Nesne arama operasyonunu sonlandırır | |
Şifreleme fonksiyonları |
C_EncryptInit | Kriptolama operasyonunu ilklendirir |
C_Encrypt | Tek parça veriyi kriptolama için kullanılır | |
C_EncryptUpdate | Çok parçalı veriler için kriptolama operasyonunu devam ettirir | |
C_EncryptFinal | Çok parçalı kriptolama işlemini sonlandırır | |
Şifre çözme fonksiyonları |
C_DecryptInit | Çözme işlemini ilklendirir |
C_Decrypt | Tek parçalı olarak şifrelenmiş verileri çözer | |
C_DecryptUpdate | Çok parçalı olarak şifrelenmiş verilerin çözümünü devam ettirir | |
C_DecryptFinal | Çok parçalı çözümleme işlemini bitirmek için kullanılır | |
Mesaj özetleme fonksiyonları |
C_DigestInit | Mesaj özetleme işlemini ilklendirir |
C_Digest | Tek parça verinin özetleme işlemi için kullanılır | |
C_DigestUpdate | Çok parçalı verilerin özetleme işlemini devam ettirir | |
C_DigestKey | Anahtarı özetler | |
C_DigestFinal | Çok parçalı özetleme işlemini bitirir | |
İmzalama ve mesaj yetkilendirme kodu fonksiyonları(MAC: Mesaj yetkilendirme) |
C_SignInit | İmzalama işlemini ilklendirir |
C_Sign | Tek parça veri imzalar | |
C_SignUpdate | Çok parçalı imzalama işlemini devam ettirir | |
C_SignFinal | Çok parçalı imzalama işlemini bitirir | |
C_SignRecoverInit | İmzalama operasyonunu ilklendirir, burada veri imzadan kurtarılabilir | |
C_SignRecover | Tek parça veri imzalar, burada imzalanan veri geri döndürülebilir(recover) | |
MAC ve imza doğrulama fonksiyonları |
C_VerifyInit | Tek parça imza doğrulama işlemini ilklendirir |
C_Verify | Tek parça imza doğrulama işlemi yapar | |
C_VerifyUpdate | Çok parçalı doğrulamada doğrulama işlemine devam eder | |
C_VerifyFinal | Çok parçalı doğrulama operasyonu bitirir | |
C_VerifyRecoverInit | Doğrulama operasyonunu ilklendirir, burada veri imzadan geri getirilebilir | |
C_VerifyRecover | Tek parçalı imza doğrulama işlemi yapar, burada veri imzadan geri döndürülebilir(recover) | |
Çift amaçlı kriptografik fonksiyonlar |
C_DigestEncryptUpdate | Çok parçalı özetleme ve şifreleme işlemlerine gelişi güzel olarak devam eder |
C_DecryptDigestUpdate | Çok parçalı şifre çözme ve özet işlemlerine gelişi güzel olarak devam eder | |
C_SignEncryptUpdate | Çok parçalı imzalama ve şifreleme işlemlerine gelişi güzel olarak devam eder | |
C_DecryptVerifyUpdate | Çok parçalı şifre çözme ve doğrulama işlemlerine gelişi güzel devam eder | |
Anahtar yönetim fonksiyonları |
C_GenerateKey | Gizli anahtar üretir |
C_GenerateKeyPair | Public/Private anahtar çifti üretir | |
C_WrapKey | Anahtarı şifreler | |
C_UnwrapKey | Anahtarın şifresini çözer | |
C_DeriveKey | Temel anahtardan anahtar üretir | |
Rastgele sayı üreten fonksiyonlar | C_SeedRandom | RNG için ek besleme malzemesi karıştırır(mixes) |
C_GenerateRandom | Rastgele veri üretir | |
Paralel fonksiyon yönetim işlevleri |
C_GetFunctionStatus | Her zaman CKR_FUNCTION_NOT_PARALLEL dönen eski işlev |
C_CancelFunction | Her zaman CKR_FUNCTION_NOT_PARALLEL dönen eski işlev | |
Callback fonksiyonu | Cryptoki’den uyarı işlemleri için kullanılan uygulama tarafından tedarik edilen fonksiyon |