クラス ProtectionHandler
特定の保護構成に対する保護関連のアクションを管理します。
まとめ
メンバー | 説明 |
---|---|
public std::shared_ptr<Stream> CreateProtectedStream(const std::shared_ptr<Stream>& backingStream, int64_t contentStartPosition, int64_t contentSize) | コンテンツの暗号化/復号化を可能にする保護されたストリームを作成します。 |
public int64_t EncryptBuffer(int64_t offsetFromStart, const uint8_t* inputBuffer, int64_t inputBufferSize, uint8_t* outputBuffer, int64_t outputBufferSize, bool isFinal) | バッファーを暗号化します。 |
public int64_t DecryptBuffer(int64_t offsetFromStart, const uint8_t* inputBuffer, int64_t inputBufferSize, uint8_t* outputBuffer, int64_t outputBufferSize, bool isFinal) | バッファーの暗号化を解除します。 |
public int64_t GetProtectedContentLength(int64_t unprotectedLength, bool includesFinalBlock) | この ProtectionHandler で暗号化する場合は、コンテンツのサイズ (バイト単位) を計算します。 |
public int64_t GetBlockSize() | この ProtectionHandler で使用される暗号モードのブロック サイズ (バイト単位) を取得します。 |
public std::vector<std::string> GetRights() const | この ProtectionHandler に関連付けられているユーザー/ID に付与された権限を取得します。 |
public bool AccessCheck(const std::string& right) const | 保護ハンドラーが、指定された権限へのユーザー アクセスを許可するかどうかを確認します。 |
public const std::string GetIssuedTo() | 保護ハンドラーに関連付けられているユーザーを取得します。 |
public const std::string GetOwner() | コンテンツ所有者のメール アドレスを取得します。 |
public bool IsIssuedToOwner() | 現在のユーザーがコンテンツ所有者かどうかを取得します。 |
public std::shared_ptr<ProtectionDescriptor> GetProtectionDescriptor() | 保護の詳細を取得します。 |
public const std::string GetContentId() | ドキュメント/コンテンツの一意識別子を取得します。 |
public bool DoesUseDeprecatedAlgorithms() | 保護ハンドラーが下位互換性のために非推奨の暗号化アルゴリズム (ECB) を使用するかどうかを取得します。 |
public bool UsesApplicationDefinedPadding() | 保護されたコンテンツにアプリケーション定義のパディングが必要かどうか、または内部的に処理されるかどうかを取得します。 |
public bool IsAuditedExtractAllowed() | 保護ハンドラーがユーザーに "監査された抽出" 権限を付与するかどうかを取得します。 |
public const std::vector<uint8_t>& GetSerializedPublishingLicense() const | ProtectionHandler を発行ライセンス (PL) にシリアル化する |
public const std::vector<uint8_t>& GetSerializedPreLicense(PreLicenseFormat format) const | プレライセンスを取得します。 |
public CipherMode GetCipherMode() const | 保護ハンドラーの暗号モードを取得します。 |
enum PreLicenseFormat | プレライセンス形式。 |
メンバー
CreateProtectedStream 関数
コンテンツの暗号化/復号化を可能にする保護されたストリームを作成します。
パラメーター:
backingStream: 読み取り/書き込み元のバッキング ストリーム
contentStartPosition: 保護されたコンテンツが開始されるバッキング ストリーム内の開始位置 (バイト単位)
contentSize: バッキング ストリーム内の保護されたコンテンツのサイズ (バイト単位)
戻り値: 保護されたストリーム
EncryptBuffer 関数
バッファーを暗号化します。
パラメーター:
offsetFromStart: クリア テキスト コンテンツの先頭からの inputBuffer の相対位置
inputBuffer: 暗号化されるクリア テキスト コンテンツのバッファー
inputBufferSize: 入力バッファーのサイズ (バイト単位)
outputBuffer: 暗号化されたコンテンツのコピー先となるバッファー
outputBufferSize: 出力バッファーのサイズ (バイト単位)
isFinal: 入力バッファーに最終的なクリア テキスト バイトが含まれているかどうか
戻り値: 暗号化されたコンテンツの実際のサイズ (バイト単位)
DecryptBuffer 関数
バッファーの暗号化を解除します。
パラメーター:
offsetFromStart: 暗号化されたコンテンツの先頭からの inputBuffer の相対位置
inputBuffer: 暗号化解除される暗号化されたコンテンツのバッファー
inputBufferSize: 入力バッファーのサイズ (バイト単位)
outputBuffer: 復号化されたコンテンツがコピーされるバッファー
outputBufferSize: 出力バッファーのサイズ (バイト単位)
isFinal: 入力バッファーに最終的な暗号化バイトが含まれているかどうか
戻り値: 復号化されたコンテンツの実際のサイズ (バイト単位)
GetProtectedContentLength 関数
この ProtectionHandler で暗号化する場合は、コンテンツのサイズ (バイト単位) を計算します。
パラメーター:
unprotectedLength: 保護されていないコンテンツのサイズ (バイト単位)
includesFinalBlock: 対象の保護されていないコンテンツに最終的なブロックが含まれているかどうかを示します。 たとえば、CBC4k 暗号化モードでは、非最終保護ブロックは保護されていないブロックと同じサイズですが、保護された最終的なブロックは、保護されていないブロックよりも大きくなります。
戻り値: 保護されたコンテンツのサイズ (バイト単位)
GetBlockSize 関数
この ProtectionHandler で使用される暗号モードのブロック サイズ (バイト単位) を取得します。
戻り値: ブロック サイズ (バイト単位)
GetRights 関数
この ProtectionHandler に関連付けられているユーザー/ID に付与された権限を取得します。
戻り値: ユーザーに付与された権限
AccessCheck 関数
保護ハンドラーが、指定された権限へのユーザー アクセスを許可するかどうかを確認します。
パラメーター:
- right: チェックする権限
戻り値: 保護ハンドラーが、指定された権限へのユーザー アクセスを許可する場合
GetIssuedTo 関数
保護ハンドラーに関連付けられているユーザーを取得します。
戻り値: 保護ハンドラーに関連付けられているユーザー
GetOwner 関数
コンテンツ所有者のメール アドレスを取得します。
戻り値: コンテンツ所有者のメール アドレス
IsIssuedToOwner 関数
現在のユーザーがコンテンツ所有者かどうかを取得します。
戻り値: 現在のユーザーがコンテンツ所有者かどうか
GetProtectionDescriptor 関数
保護の詳細を取得します。
戻り値: 保護の詳細
GetContentId 関数
ドキュメント/コンテンツの一意識別子を取得します。
戻り値: 一意のコンテンツ識別子発行ライセンスでは、この識別子が中かっこ "{}" で囲まれます。 これらの中かっこは、ここで返される値から削除されます
DoesUseDeprecatedAlgorithms 関数
保護ハンドラーが下位互換性のために非推奨の暗号化アルゴリズム (ECB) を使用するかどうかを取得します。
戻り値: 保護ハンドラーが非推奨の暗号アルゴリズムを使用する場合、使用しない場合
UsesApplicationDefinedPadding 関数
保護されたコンテンツにアプリケーション定義のパディングが必要かどうか、または内部的に処理されるかどうかを取得します。
戻り値: アプリケーション定義の埋め込みが必要な場合は True、そうでない場合は false。
IsAuditedExtractAllowed 関数
保護ハンドラーがユーザーに "監査された抽出" 権限を付与するかどうかを取得します。
戻り値: 保護ハンドラーがユーザーに 'audited extract' 権限を付与するかどうかを指定する場合
GetSerializedPublishingLicense 関数
ProtectionHandler を発行ライセンス (PL) にシリアル化する
戻り値: シリアル化された発行ライセンス
GetSerializedPreLicense 関数
プレライセンスを取得します。
パラメーター:
- format: プレライセンス形式
戻り値: シリアル化されたプレライセンス。プレライセンスを使用すると、ユーザーは追加の HTTP 呼び出しをせずにコンテンツをすぐに使用できます。 ProtectionHandler は ProtectionHandler::P ublishing設定::SetPreLicenseUserEmail 値を使用して作成されている必要があります。そうしないと、空のベクターが返されます。
GetCipherMode 関数
保護ハンドラーの暗号モードを取得します。
戻り値: 暗号モード
PreLicenseFormat 列挙型
値 | 説明 |
---|---|
xml | MSIPC で使用されるレガシ XML/SOAP 形式 |
JSON | MIP SDK および RMS SDK で使用される JSON/REST 形式 |
プレライセンス形式。