Class ProtectionHandler

Gestisce le azioni correlate alla protezione per una configurazione di protezione specifica.

Riepilogo

Membri Descrizione
public std::shared_ptr<Stream> CreateProtectedStream(const std::shared_ptr<Stream>& backingStream, int64_t contentStartPosition, int64_t contentSize) Creare un flusso protetto che consentirà la crittografia/decrittografia del contenuto.
public int64_t EncryptBuffer(int64_t offsetFromStart, const uint8_t* inputBuffer, int64_t inputBufferSize, uint8_t* outputBuffer, int64_t outputBufferSize, bool isFinal) Crittografare un buffer.
public int64_t DecryptBuffer(int64_t offsetFromStart, const uint8_t* inputBuffer, int64_t inputBufferSize, uint8_t* outputBuffer, int64_t outputBufferSize, bool isFinal) Decrittografare un buffer.
public int64_t GetProtectedContentLength(int64_t unprotectedLength, bool includesFinalBlock) Calcola le dimensioni (in byte) del contenuto se dovesse essere crittografato con questo ProtectionHandler.
public int64_t GetBlockSize() Ottiene le dimensioni del blocco (in byte) per la modalità di crittografia utilizzata da questo ProtectionHandler.
public std::vector<std::string> GetRights() const Ottiene i diritti concessi all'utente/identità associato a questo ProtectionHandler.
public bool AccessCheck(const std::string& right) const Controlla se il gestore protezione concede all'utente l'accesso al diritto specificato.
public const std::string GetIssuedTo() Ottiene l'utente associato al gestore di protezione.
public const std::string GetOwner() Ottiene l'indirizzo di posta elettronica del proprietario del contenuto.
public bool IsIssuedToOwner() Ottiene se l'utente corrente è il proprietario del contenuto o meno.
public std::shared_ptr<ProtectionDescriptor> GetProtectionDescriptor() Ottiene i dettagli di protezione.
public const std::string GetContentId() Ottiene l'identificatore univoco per il documento/contenuto.
public bool DoesUseDeprecatedAlgorithms() Ottiene se il gestore di protezione utilizza algoritmi di crittografia deprecati (BCE) per garantire o meno la compatibilità con le versioni precedenti.
public bool UsesApplicationDefinedPadding() Ottiene se il contenuto protetto richiede la spaziatura interna definita dall'applicazione o se viene gestito internamente.
public bool IsAuditedExtractAllowed() Ottiene se il gestore protezione concede o meno al diritto 'estratto controllato' dell'utente.
public const std::vector<uint8_t>& GetSerializedPublishingLicense() const Serializzare ProtectionHandler in una licenza di pubblicazione (PL)
public const std::vector<uint8_t>& GetSerializedPreLicense(PreLicenseFormat format) const Ottenere una licenza preliminare.
public CipherMode GetCipherMode() const Ottiene la modalità di crittografia del gestore di protezione.
enum PreLicenseFormat Formato di licenza preliminare.

Membri

Funzione CreateProtectedStream

Creare un flusso protetto che consentirà la crittografia/decrittografia del contenuto.

Parametri:

  • backingStream: flusso di backup da cui leggere/scrivere

  • contentStartPosition: posizione iniziale (in byte) all'interno del flusso di backup in cui inizia il contenuto protetto

  • contentSize: dimensioni (in byte) di contenuto protetto all'interno del flusso di backup

Restituisce: Flusso protetto

Funzione EncryptBuffer

Crittografare un buffer.

Parametri:

  • offsetFromStart: posizione relativa di inputBuffer dall'inizio del contenuto di testo non crittografato

  • inputBuffer: buffer di contenuto non crittografato che verrà crittografato

  • inputBufferSize: dimensioni (in byte) del buffer di input

  • outputBuffer: buffer in cui verrà copiato il contenuto crittografato

  • outputBufferSize: dimensioni (in byte) del buffer di output

  • isFinal: se il buffer di input contiene o meno i byte di testo non crittografato finali

Restituisce: dimensioni effettive (in byte) di contenuto crittografato

Funzione DecryptBuffer

Decrittografare un buffer.

Parametri:

  • offsetFromStart: posizione relativa di inputBuffer dall'inizio del contenuto crittografato

  • inputBuffer: buffer di contenuto crittografato che verrà decrittografato

  • inputBufferSize: dimensioni (in byte) del buffer di input

  • outputBuffer: buffer in cui verrà copiato il contenuto decrittografato

  • outputBufferSize: dimensioni (in byte) del buffer di output

  • isFinal: se il buffer di input contiene o meno i byte crittografati finali

Restituisce: dimensioni effettive (in byte) di contenuto decrittografato

Funzione GetProtectedContentLength

Calcola le dimensioni (in byte) del contenuto se dovesse essere crittografato con questo ProtectionHandler.

Parametri:

  • unprotectedLength: dimensioni (in byte) di contenuto non protetto

  • includesFinalBlock: descrive se il contenuto non protetto in questione include o meno il blocco finale. Ad esempio, in modalità di crittografia CBC4k, i blocchi protetti non finali sono le stesse dimensioni dei blocchi non protetti, ma i blocchi protetti finali sono maggiori delle controparti non protette.

Restituisce: dimensioni (in byte) di contenuto protetto

Funzione GetBlockSize

Ottiene le dimensioni del blocco (in byte) per la modalità di crittografia utilizzata da questo ProtectionHandler.

Restituisce: dimensioni del blocco (in byte)

Funzione GetRights

Ottiene i diritti concessi all'utente/identità associato a questo ProtectionHandler.

Restituisce: diritti concessi all'utente

Funzione AccessCheck

Controlla se il gestore protezione concede all'utente l'accesso al diritto specificato.

Parametri:

  • destra: diritto di controllare

Restituisce: se il gestore protezione concede all'utente l'accesso al diritto specificato o meno

Funzione GetIssuedTo

Ottiene l'utente associato al gestore di protezione.

Restituisce: utente associato al gestore di protezione

Funzione GetOwner

Ottiene l'indirizzo di posta elettronica del proprietario del contenuto.

Restituisce: indirizzo di posta elettronica del proprietario del contenuto

Funzione IsIssuedToOwner

Ottiene se l'utente corrente è il proprietario del contenuto o meno.

Restituisce: se l'utente corrente è il proprietario del contenuto o meno

Funzione GetProtectionDescriptor

Ottiene i dettagli di protezione.

Restituisce: dettagli di protezione

Funzione GetContentId

Ottiene l'identificatore univoco per il documento/contenuto.

Restituisce: le licenze di pubblicazione dell'identificatore di contenuto univoco avranno questo identificatore racchiuso tra parentesi graffe "{}". Tali parentesi graffe vengono rimosse dal valore restituito qui

Funzione DoesUseDeprecatedAlgorithms

Ottiene se il gestore di protezione utilizza algoritmi di crittografia deprecati (BCE) per garantire o meno la compatibilità con le versioni precedenti.

Restituisce: se il gestore protezione usa o meno algoritmi di crittografia deprecati

Funzione UsesApplicationDefinedPadding

Ottiene se il contenuto protetto richiede la spaziatura interna definita dall'applicazione o se viene gestito internamente.

Restituisce: True, se è necessaria la spaziatura interna definita dall'applicazione, false in caso contrario.

Funzione IsAuditedExtractAllowed

Ottiene se il gestore protezione concede o meno al diritto 'estratto controllato' dell'utente.

Restituisce: se il gestore protezione concede all'utente il diritto 'estratto controllato' o meno

Funzione GetSerializedPublishingLicense

Serializzare ProtectionHandler in una licenza di pubblicazione (PL)

Restituisce: licenza di pubblicazione serializzata

Funzione GetSerializedPreLicense

Ottenere una licenza preliminare.

Parametri:

  • formato: formato di licenza preliminare

Restituisce: la pre-licenza serializzata A pre-licenza consente a un utente di utilizzare immediatamente il contenuto senza effettuare una chiamata HTTP aggiuntiva. ProtectionHandler deve essere stato creato con un valore ProtectionHandler::P ublishing Impostazioni::SetPreLicenseUserEmail. In caso contrario, verrà restituito un vettore vuoto.

Funzione GetCipherMode

Ottiene la modalità di crittografia del gestore di protezione.

Restituisce: modalità di crittografia

Enumerazione PreLicenseFormat

Valori Descrizione
XML Formato XML/SOAP legacy usato da MSIPC
Json Formato JSON/REST usato da MIP SDK e RMS SDK

Formato di licenza preliminare.