Anforderungen  |   Konzepte  |   Entwurf  |   Entwicklung  |   Qualitätssicherung  |   Lebenszyklus  |   Steuerung
 
 
 
 


Quelle  ncrypt.rs   Sprache: unbekannt

 
// Licensed under the Apache License, Version 2.0
// <LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your option.
// All files in the project carrying such notice may not be copied, modified, or distributed
// except according to those terms.
use shared::basetsd::{SIZE_T, ULONG_PTR};
use shared::bcrypt::{BCRYPT_NO_KEY_VALIDATION, BCryptBufferDesc};
use shared::minwindef::{DWORD, LPVOID, PBYTE};
use um::winnt::{LONG, LPCWSTR, VOID};
pub type SECURITY_STATUS = LONG;
pub type HCRYPTPROV = ULONG_PTR;
pub type HCRYPTKEY = ULONG_PTR;
pub type HCRYPTHASH = ULONG_PTR;
FN!{stdcall PFN_NCRYPT_ALLOC(
    cbSize: SIZE_T,
) -> LPVOID}
FN!{stdcall PFN_NCRYPT_FREE(
    pv: LPVOID,
) -> VOID}
STRUCT!{struct NCRYPT_ALLOC_PARA {
    cbSize: DWORD,
    pfnAlloc: PFN_NCRYPT_ALLOC,
    pfnFree: PFN_NCRYPT_FREE,
}}
pub type NCryptBufferDesc = BCryptBufferDesc;
pub type NCRYPT_HANDLE = ULONG_PTR;
pub type NCRYPT_PROV_HANDLE = ULONG_PTR;
pub type NCRYPT_KEY_HANDLE = ULONG_PTR;
pub type NCRYPT_HASH_HANDLE = ULONG_PTR;
pub type NCRYPT_SECRET_HANDLE = ULONG_PTR;
pub const NCRYPT_NO_PADDING_FLAG: DWORD = 0x00000001;
pub const NCRYPT_PAD_PKCS1_FLAG: DWORD = 0x00000002;
pub const NCRYPT_PAD_OAEP_FLAG: DWORD = 0x00000004;
pub const NCRYPT_PAD_PSS_FLAG: DWORD = 0x00000008;
pub const NCRYPT_PAD_CIPHER_FLAG: DWORD = 0x00000010;
pub const NCRYPT_ATTESTATION_FLAG: DWORD = 0x00000020;
pub const NCRYPT_SEALING_FLAG: DWORD = 0x00000100;
pub const NCRYPT_REGISTER_NOTIFY_FLAG: DWORD = 0x00000001;
pub const NCRYPT_UNREGISTER_NOTIFY_FLAG: DWORD = 0x00000002;
pub const NCRYPT_NO_KEY_VALIDATION: DWORD = BCRYPT_NO_KEY_VALIDATION;
pub const NCRYPT_MACHINE_KEY_FLAG: DWORD = 0x00000020;
pub const NCRYPT_SILENT_FLAG: DWORD = 0x00000040;
pub const NCRYPT_OVERWRITE_KEY_FLAG: DWORD = 0x00000080;
pub const NCRYPT_WRITE_KEY_TO_LEGACY_STORE_FLAG: DWORD = 0x00000200;
pub const NCRYPT_DO_NOT_FINALIZE_FLAG: DWORD = 0x00000400;
pub const NCRYPT_EXPORT_LEGACY_FLAG: DWORD = 0x00000800;
pub const NCRYPT_IGNORE_DEVICE_STATE_FLAG: DWORD = 0x00001000;
pub const NCRYPT_TREAT_NIST_AS_GENERIC_ECC_FLAG: DWORD = 0x00002000;
pub const NCRYPT_NO_CACHED_PASSWORD: DWORD = 0x00004000;
pub const NCRYPT_PROTECT_TO_LOCAL_SYSTEM: DWORD = 0x00008000;
pub const NCRYPT_PERSIST_ONLY_FLAG: DWORD = 0x40000000;
pub const NCRYPT_PERSIST_FLAG: DWORD = 0x80000000;
pub const NCRYPT_PREFER_VIRTUAL_ISOLATION_FLAG: DWORD = 0x00010000;
pub const NCRYPT_USE_VIRTUAL_ISOLATION_FLAG: DWORD = 0x00020000;
pub const NCRYPT_USE_PER_BOOT_KEY_FLAG: DWORD = 0x00040000;
extern "system" {
    pub fn NCryptOpenStorageProvider(
        phProvider: *mut NCRYPT_PROV_HANDLE,
        pszProviderName: LPCWSTR,
        dwFlags: DWORD,
    ) -> SECURITY_STATUS;
}
pub const NCRYPT_ALLOW_EXPORT_FLAG: DWORD = 0x00000001;
pub const NCRYPT_ALLOW_PLAINTEXT_EXPORT_FLAG: DWORD = 0x00000002;
pub const NCRYPT_ALLOW_ARCHIVING_FLAG: DWORD = 0x00000004;
pub const NCRYPT_ALLOW_PLAINTEXT_ARCHIVING_FLAG: DWORD = 0x00000008;
extern "system" {
    pub fn NCryptSetProperty(
        hObject: NCRYPT_HANDLE,
        pszProperty: LPCWSTR,
        pbInput: PBYTE,
        cbInput: DWORD,
        dwFlags: DWORD,
    ) -> SECURITY_STATUS;
    pub fn NCryptImportKey(
        hProvider: NCRYPT_PROV_HANDLE,
        hImportKey: NCRYPT_KEY_HANDLE,
        pszBlobType: LPCWSTR,
        pParameterList: *const NCryptBufferDesc,
        phKey: *mut NCRYPT_KEY_HANDLE,
        pbData: PBYTE,
        cbData: DWORD,
        dwFlags: DWORD,
    ) -> SECURITY_STATUS;
    pub fn NCryptFreeObject(
        hObject: NCRYPT_HANDLE,
    ) -> SECURITY_STATUS;
}

[ Dauer der Verarbeitung: 0.30 Sekunden  (vorverarbeitet)  ]

                                                                                                                                                                                                                                                                                                                                                                                                     


Neuigkeiten

     Aktuelles
     Motto des Tages

Software

     Produkte
     Quellcodebibliothek

Aktivitäten

     Artikel über Sicherheit
     Anleitung zur Aktivierung von SSL

Muße

     Gedichte
     Musik
     Bilder

Jenseits des Üblichen ....

Besucherstatistik

Besucherstatistik

Monitoring

Montastic status badge