VirtualBox

Ignore:
Timestamp:
Feb 25, 2015 12:49:39 PM (10 years ago)
Author:
vboxsync
Message:

Main/Medium: Add basic support to encrypt/decrypt media, work in progress

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Main/include/MediumImpl.h

    r53541 r54486  
    275275                   ComPtr<IProgress> &aProgress);
    276276    HRESULT reset(ComPtr<IProgress> &aProgress);
     277    HRESULT changeEncryption(const com::Utf8Str &aNewPassword, const com::Utf8Str &aOldPassword,
     278                             const com::Utf8Str &aCipher, ComPtr<IProgress> &aProgress);
    277279
    278280    // Private internal nmethods
     
    312314    static DECLCALLBACK(int) i_vdTcpGetPeerAddress(VDSOCKET Sock, PRTNETADDR pAddr);
    313315
     316    static DECLCALLBACK(bool) i_vdCryptoConfigAreKeysValid(void *pvUser,
     317                                                           const char *pszzValid);
     318    static DECLCALLBACK(int) i_vdCryptoConfigQuerySize(void *pvUser, const char *pszName,
     319                                                       size_t *pcbValue);
     320    static DECLCALLBACK(int) i_vdCryptoConfigQuery(void *pvUser, const char *pszName,
     321                                                   char *pszValue, size_t cchValue);
     322
     323    static DECLCALLBACK(int) i_vdCryptoKeyRetain(void *pvUser, const char *pszId,
     324                                                 const uint8_t **ppbKey, size_t *pcbKey);
     325    static DECLCALLBACK(int) i_vdCryptoKeyRelease(void *pvUser, const char *pszId);
     326    static DECLCALLBACK(int) i_vdCryptoKeyStoreGetPassword(void *pvUser, const char **ppszPassword);
     327    static DECLCALLBACK(int) i_vdCryptoKeyStoreSave(void *pvUser, const void *pvKeyStore, size_t cbKeyStore);
     328    static DECLCALLBACK(int) i_vdCryptoKeyStoreReturnParameters(void *pvUser, const char *pszCipher,
     329                                                                const uint8_t *pbDek, size_t cbDek);
     330
    314331    class Task;
    315332    class CreateBaseTask;
     
    323340    class ExportTask;
    324341    class ImportTask;
     342    class EncryptTask;
    325343    friend class Task;
    326344    friend class CreateBaseTask;
     
    334352    friend class ExportTask;
    335353    friend class ImportTask;
     354    friend class EncryptTask;
    336355
    337356    HRESULT i_startThread(Medium::Task *pTask);
     
    348367    HRESULT i_taskExportHandler(Medium::ExportTask &task);
    349368    HRESULT i_taskImportHandler(Medium::ImportTask &task);
     369    HRESULT i_taskEncryptHandler(Medium::EncryptTask &task);
     370
     371    struct CryptoFilterSettings;
     372    void i_taskEncryptSettingsSetup(CryptoFilterSettings *pSettings, const char *pszCipher,
     373                                    const char *pszKeyStore,  const char *pszPassword,
     374                                    bool fCreateKeyStore);
    350375
    351376    struct Data;            // opaque data struct, defined in MediumImpl.cpp
Note: See TracChangeset for help on using the changeset viewer.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette