Microsoft 資訊保護(MIP)SDK 版本歷史發行檔案

本文存檔了 MIP SDK 已 不再支援 版本(版本 1.15 及更早版本)的發布說明。 有關目前支援政策及支援版本的釋出說明,請參閱 MIP SDK 版本發佈歷史與支援政策。

Important

本文所記錄的版本已不再支援。 修正程式和新功能只會套用至最新的 GA 版本。 此檔案僅供歷史參考;生產工作時,升級 到支援最新版本。

版本 1.15.134

發行日期: 2025年4月8日

檔案SDK

  • 修正了 HTML 訊息中 Unicode 字元無法正確呈現的問題。
  • 修正了 Office 文件在檔案未同步到 OneDrive 時,會用副檔名 .pfile 加密的問題。
  • 修正了一個錯誤,即當 CommitAsync 失敗時,未完全建立的輸出檔案會遺留的問題。
  • 已修正錯誤,修改保護時使用者定義的權限標籤元數據遭到變更。

策略 SDK

  • 修正了政策 SDK 無法連接到指定雲端的問題。
  • 已修正在Android上使用 AuthDelegate 搭配 C 包裝函式時的當機問題。

保護軟體開發套件 (SDK)

  • 已修正在Android上使用 AuthDelegate 搭配 C 包裝函式時的當機問題。

平台與依賴更新

  • 修正了一個問題,當設定「允許任何 TLS 版本」時,TLS 1.2 版本未被接受。
  • 修正了 Android 上異常細節無法顯示的問題。
  • 將 OpenSSL 從 3.0.15 更新為 3.4.1。
  • 已將 libxml2 從 2.12.7 更新為 2.14.0。
  • 將 Zlib 從 1.2.13 更新為 1.3.1。

版本 1.14.171

發行日期: 2025年4月8日

檔案SDK

  • 修正了 HTML 訊息中 Unicode 字元無法正確呈現的問題。

平台與依賴更新

  • 將 OpenSSL 從 3.0.15 更新為 3.4.1。
  • 已將 libxml2 從 2.12.7 更新為 2.14.0。
  • 將 Zlib 從 1.2.13 更新為 1.3.1。

版本 1.16.126

發行日期: 2024年12月13日

檔案SDK

  • 新增了無需轉換成 pfile 即可標記 MP4 的支援。 套用保護標籤會導致 pfile 輸出。
  • 已新增功能可使用 ContainerDecryptionOption::All解密巢狀 .MSG 檔案。 在相同的巢狀 .MSG 檔案進行 10 次解密後,會拋出 mip::BadInputError(「巢狀 MSG 附件已達最大深度」)例外狀況。
  • 已新增適用於 Windows 檔案 SDK 的 Arm64 支援。
  • 修正了修改使用者定義權限時,雙重金鑰加密資訊遺失的問題。
  • 已修正檔案大小大於 500MB 的移除保護失敗時的錯誤。
  • 修正了一個錯誤:.MSG 檔案中的文字樣式在解密時未被保留。
  • 修正了一個問題:當應用程式嘗試保護無法存取的檔案時,SDK 未擲回例外。

保護軟體開發套件 (SDK)

  • 已經修復在離線發佈時的間歇性崩潰。

平台與依賴更新

  • 修正了一個問題,儘管設定允許任何 TLS 版本,TLS 1.2 仍無法被接受。

重大突破性變更

  • 已更新 CommitAsync 以在失敗後移除輸出檔案,而不是空白檔案。
  • 已將 LoadUserCert API 更新為 LoadUserCertSync。 LoadUserCert 已被取代。
  • 已更新 Java 包裝函式範例,以使用 MSAL 進行驗證。

版本 1.15.107

發行日期: 2024年10月14日

檔案SDK

  • 修正了 .msg 如果電子郵件 HTML 包含表情符號,檔案無法加密的問題。 使用 FlightingFeature::PriopritizeHtmlInMsgs啟用此功能,預設為關閉。
  • 新增了文字編碼標準 KOI8-R、KOI8-U、ISO8859 (1、3、4、6、7、8、9、13 和 15)、HZ-GB2312、GB18030 和 ISO-2022-JP 的支援。

平台與依賴更新

  • 所有 Ubuntu 版本的 .NET MIP SDK 現已普遍提供。
  • 已新增對Ubuntu24.04的支援。
  • 結束對 Debian 10 和 RHEL 7 的支援。
  • 已將uriparser從0.9.7更新為0.9.8。
  • 已修正檔案擁有者終端使用者授權快取的問題。
  • 已改善 iOS 上的例外狀況,以包含更多錯誤詳細數據。
  • 改進了對 NoPermissionError 進行檔案解密時以 ExtendedErrorInfo 顯示錯誤訊息。 關閉 FlightingFeature::EnableExtendedErrors來停用此功能。

版本 1.14.150

發行日期: 2024年10月14日

平台與依賴更新

  • 已將uriparser從0.9.7更新為0.9.8。

版本 1.13.234

發行日期: 2024年10月14日

平台與依賴更新

  • 已將uriparser從0.9.7更新為0.9.8。
  • 已將 Azure 身分識別從 1.11.0 更新為 1.11.4。
  • 修正了一個在 .NET 包裝函式中取得授權許可權資料時導致當機的問題。

版本 1.15.94

發行日期: 2024年8月12日

檔案SDK

  • 修正了 Office 中儲存帶有保護標籤的 PDF 檔案失敗的問題。
  • 新增了例外,當標記.zip.pfile 檔案失敗且標籤未受保護時。
  • 已修正一項問題:使用 MIP SDK 1.11 版或更早版本保護的檔案無法解密。

平台與依賴更新

  • 修正了一個在 .NET 包裝函式中取得授權許可權資料時導致當機的問題。
  • 已將 Azure 身分識別從 1.11.0 更新為 1.11.4。

版本 1.14.148

發行日期: 2024年8月12日

平台與依賴更新

  • 修正了一個在 .NET 包裝函式中取得授權許可權資料時導致當機的問題。
  • 已將 Azure 身分識別從 1.11.0 更新為 1.11.4。

版本 1.13.229

發行日期: 2024年7月12日

檔案SDK

  • 修正了線性化 PDF 損壞的問題。
  • 修正了使用 MIP SDK 1.10/1.11 時,標籤檔案解密失敗的問題。
  • 修正了 PDF 解析器中的一個安全問題。

版本 1.15.86

發行日期: 2024年7月5日

檔案SDK

  • 修正了線性化 PDF 損壞的問題。
  • 修正了 MIP SDK 1.10/1.11 中標籤檔案解密失敗的問題。
  • 已修正 PDF 剖析器中的安全漏洞。
  • 新增了中歐文字編碼的支援,以保護 RTF 電子郵件。

平台與依賴更新

  • 新增了遮罩更多 PII 字段的支援,例如 engineID 和檔案路徑。
  • 新增支援 C API 新功能,以便更好地設定使用者定義的許可權和 AdHoc 保護的保護描述符。
  • 已新增 TLS 1.3 的支援。

版本 1.14.146

發行日期: 2024年7月5日

檔案SDK

  • 修正了線性化 PDF 損壞的問題。
  • 修正了 MIP SDK 1.10/1.11 中標籤檔案解密失敗的問題。
  • 已修正 PDF 剖析器中的安全漏洞。

平台與依賴更新

  • 已新增引擎識別碼和檔案路徑欄位的 PII 遮罩。

版本 1.14.128

發行日期:2024 年 2 月 27 日

檔案SDK

  • 修正了在處理使用 MSG 檔案時與 Unicode 字元相關的錯誤。
  • 修正了 MSG 檔案中韓文字元顯示不正確的問題。
  • 修正了一個錯誤:當串流未以 null 結尾時,會發生未正確對齊的問題。

保護軟體開發套件 (SDK)

  • 已新增UTF16編碼 JSON 預授權的支援。
  • 已新增對過期預許可證的檢查,預設值 FlightingFeature::PreLicenseValidityCheck 為 true。
  • 已更新EUL和預先授權以公開標籤名稱和標籤描述。

策略 SDK

  • 已更新中國雲端服務的政策同步網址。

舊有從 AD RMS 移轉至 RMS 的租戶更新

  • 修正了導致 LoadUserCert 發生錯誤的問題。
  • 修正了導致離線發佈授權損毀、致使這些授權無法用於解密內容的問題。
  • 修正了一個保護 SDK 不接受舊租戶預授權的錯誤。

平台與依賴更新

  • 已將 URI 剖析器更新為 0.9.7。
  • 已將 SQLite3 更新為 3.45.1。
  • 已將 Libgsf 更新為 1.14.52。

重大突破性變更

  • 已將群組態檔的路徑從 applicationPath/mipmip_config.json 修正為 applicationPath/mip/mip_config.json。 使用 組態檔 遮罩記錄檔中 PII 的應用程式必須更新檔案位置。

版本 1.13.209

發行日期:2024 年 2 月 27 日

檔案SDK

  • 修正了在處理使用 MSG 檔案時與 Unicode 字元相關的錯誤。
  • 修正了 MSG 檔案中韓文字元顯示不正確的問題。
  • 修正了一個錯誤:當串流未以 null 結尾時,會發生未正確對齊的問題。

策略 SDK

  • 已更新中國雲端服務的政策同步網址。

保護軟體開發套件 (SDK)

  • 修正了授權被快取時未包含擁有者電子郵件地址的問題。
  • 已新增UTF16編碼 JSON 預授權的支援。
  • 已新增對過期預許可證的檢查,預設值 FlightingFeature::PreLicenseValidityCheck 為 true。
  • 已更新的最終用戶授權(EUL)和預授權,以公開標籤名稱和標籤描述。

從 Active Directory 權限管理服務 (AD RMS) 移轉至 權限管理服務 (RMS) 的既有承租用戶更新

  • 修正了導致 LoadUserCert 發生錯誤的問題。
  • 修正了導致離線發佈授權損毀、致使這些授權無法用於解密內容的問題。
  • 修正了舊租戶預授權未被保護 SDK 接受的錯誤。

平台與依賴更新

  • 從 1.1.1-r 將 OpenSSL 更新為 1.1.1-w。
  • 已將 URI 剖析器更新為 0.9.7。
  • 已將 SQLite3 更新為 3.45.1。
  • 已將 Libgsf 更新為 1.14.52。

重大突破性變更

  • 已將群組態檔的路徑從 applicationPath/mipmip_config.json 修正為 applicationPath/mip/mip_config.json。 使用 組態檔 遮罩記錄檔中個人識別資訊 (PII) 的應用程式必須更新檔案位置。

版本 1.14.108

發行日期: 2023年10月27日

檔案SDK

  • 已修正使用 SharePoint Online(SPO)加密的 .doc檔案出現元數據無效的錯誤。
  • 修正了為已簽署的 Office 和 PDF 檔案加上標籤後,導致簽章失效且無法使用某些編輯器開啟的問題。
  • 已修正使用傳訊應用程式開發介面 (MAPI) 將某些檔案轉換成.msg格式時,建構.msg檔案失敗的錯誤。
  • 修正了 MIP 檔案 SDK 範例中的一個錯誤,導致損壞的輸出檔案在失敗時並未被刪除。
  • 修正了解密 PDF 檔案並未移除所有標籤元資料的問題。
  • 已修正在加密本文為空的 .msg 檔案時擲回例外狀況的錯誤。
  • 修正了以批注開頭的.pdf檔案會保護為 .pfiles,而不是原生保護.pdf檔案的錯誤。
  • 修正了使用相同標籤更新非作用中標籤時會引發例外的問題。
  • 在嘗試對僅供保護的檔案引擎執行原則操作時,新增了例外狀況。

策略 SDK

  • 將原則服務 URL 變更為以 DoD、GCC-High 和中國主權雲端的全球端點為目標。

保護軟體開發套件 (SDK)

  • 已修正一個錯誤,當解密或檢查 .msg 檔案失敗時,未受 RMS 保護的附件沒有產生錯誤提示。
  • 修正了一個錯誤,就是有效期不到一天的 EUL 沒有被快取。
  • 已新增使用範本保護時保留加密應用程式數據的支援。
  • 已新增提取串行化範本數據的支援(Windows/Linux/macOS)。
    • 啟用使用:GetTemplatesSettings::SetFetchSerializedTemplates。
    • 使用 TemplateDescriptor::GetSerializedTemplate() 擷取。
  • 修正了一個使用者憑證儲存庫未加密的錯誤。
  • 修正了已簽署的應用程式資料在發佈與使用時未能一致提供的錯誤。

平台與依賴更新

  • 已升級至 OpenSSL 3.0,以符合 FIPS 規範。
  • 修正一些稽核事件被遺漏的問題。
  • 公開一個旗標以控制 1DS 緩存清除的最大關機時間計時器。
  • 已新增支援在記錄檔中遮罩個人識別資訊(PII)。 預設情況下,個人身份資訊(PII)不會被遮蔽。
    • 在 mip_config.json 中將 AllowPii 設定為 false,以使用 設定檔遮罩 PII。 配置文件位於 mipConfiguration-GetPath>()/mip。
  • 新增預設對 Office 檔案 CBC 加密的支援。
  • 已修正資源位置路徑的相關 Android 例外狀況。

重大突破性變更

  • 已簽署 Office 檔案和已簽署 PDF 檔案的錯誤碼已從 Mip::FileIOError 變更為 Mip::NotSupportedError。
  • 稽核事件屬性預設會儲存 PII 類型,而不是 None。 預期個人識別資訊為“無”的自定義稽核委派需要進行更新。
  • 已簽署的應用程式資料在發佈期間會傳回受 DKE 保護文件的額外項目。
  • Office 檔案預設會使用 CBC 加密。 若要還原此設定,請將 FlightingFeature::UseCbcForOfficeFileEncryption 設定為 false。

版本 1.13.187

發行日期: 2023年8月15日

錯誤修正

  • MIP SDK 現在會隱藏 Linux 上靜態連結 OpenSSL 的符號。
  • 修正了當舊版演算法標記被設置時,非 Office 的複合檔案使用 AES128-ECB 的錯誤。 這些檔案應該使用 AES256-CBC,並忽略舊版演算法旗標。
  • 提高稽核事件的傳送優先順序至最高層級,確保更頻繁地將稽核事件提交至稽核端點。

版本 1.13.182

發行日期: 2023年7月27日

錯誤修正

  • 修正了當附件受非 RMS 技術保護時,無法從 MSG 檔案移除保護的問題。 擲回警告,而不是例外狀況。

版本 1.13.176

發行日期: 2023年6月10日

錯誤修正

  • 修正了 CommitAsync() 在低磁碟空間條件下無法回傳的問題。
  • 修正了一個問題,當從 SharePoint 下載檔案時,建立 xlsb 檔案的 FileHandler 失敗。

平台與依賴更新

  • 已新增對Ubuntu22.04的支援。
  • 已新增Debian11的支援。
  • 已新增 RedHat Enterprise Linux 9 的支援。
  • 已移除 Ubuntu 18.04 的支援。
  • 已移除Debian9的支援。

版本 1.13.161

發行日期: 2023年3月28日

錯誤修正

  • 已修正 .NET NuGet 套件的簽名問題。
  • 修正了 ProtectionProfile 中缺少離線發佈設定的問題。

版本 1.13.158

發行日期: 2023年3月17日

檔案SDK

  • 已新增功能旗標,可讓 MIP SDK 以加密區塊鏈結模式發佈 Office 檔案和電子郵件。
    • 透過 UseCBCForOfficeFileEncryption 到 MipConfiguration.FeatureSettingsOverride() 的字距功能進行設定。
  • 修正了處理以密碼區塊鏈結(CBC)模式保護的 Office 檔案和電子郵件時發生的問題。 MIP SDK 現在可以取用由 Office 所產生的受 CBC 模式保護的內容。

保護軟體開發套件 (SDK)

  • 已新增保護 SDK 中離線發佈的預覽支援。
    • 在 C++ 和 .NET 中,將 ProtectionProfileSettings.OfflinePublishing 設為 true 以啟用離線保護。

重大突破性變更

  • PublishingSettings 若要重新發佈,需要序列化出版許可或在ProtectionHandler建構函數中設置,而不是在建構完成後配置兩者。
  • 已移除 SetPublishingLicenseForRepublish 與 SetProtectionHandlerForRepublish。
  • ProtectionDescriptorBuilder 使用 SetLabelInfo 而不是 SetLabelId
  • Insert與 mip::StorageDelegate 中的 IStorageDelegate 方法會取代為 InsertOrReplace。

重大更新

MIP SDK 1.13 引進了對由選擇支援 CBC 發佈的 Word、Excel、PowerPoint、Outlook、Exchange Online、SharePoint Online 和 MIP SDK 啟用的應用程式所產生、並以 AES256-CBC 保護的檔案和電子郵件的支援。 如果您的應用程式使用檔案 SDK 來取用上述任何格式,請務必將應用程式更新為 MIP SDK 1.13。 在 2023 年下半年,Microsoft 365 Apps、Exchange Online 和 SharePoint Online 預設會開始使用 AES256-CBC 保護。 不更新的應用程式無法正確解密檔案和電子郵件。

MIP SDK 1.13 會繼續以電子代碼簿 (ECB) 模式使用 AES128 發佈 Office 檔和電子郵件。 MIP SDK 1.14 預設會啟用 AES256-CBC 發佈。 如果你想提前測試 CBC 發佈功能,請透過 MipConfiguration.FeatureSettingsOverride() 啟用 UseCBCForOfficeFileEncryption 功能旗標。

未能更新至 MIP SDK 1.13 的應用程式可能會開始遇到以下例外情況: Something bad happened: AESCryptoWriter: Failed to transform final block。

版本 1.12.101

發行日期: 2022年11月18日

檔案SDK

  • 修正了一個問題,就是在標籤名稱中加入特殊字元可能導致 Microsoft Outlook 無法開啟訊息。
  • 修正了在移除未使用標籤的保護時發生的錯誤。
  • 修正了一個錯誤:在啟用共同撰寫的情況下變更標籤權限時,會產生無法開啟的受保護文件。
  • 將 libgsf 升級至 1.14.50,並將 LibXML2 升級為 2.9.14。
  • 升級至 Extreme Memory Profiles (XMP)版本 2.4.7

策略 SDK

  • 修復了ComputeActions的無效元數據異常錯誤。

保護軟體開發套件 (SDK)

  • 已新增存取子,以從 TenantInformation擷取內部網路和外部網路URL。
  • 公開用於取得委派授權的 C API。
  • 已修正當移除子標籤時出現父標籤的元數據不一致問題的 Bug。
  • 已修正 CreateFromLicenseType 的驗證快取錯誤。
  • 修正了在 GetTemplatesAsync() 呼叫期間清理引擎會導致當機的問題。
  • 已新增 GetLicenseRightsData 以從發佈授權取得使用者資料 / 物件 ID / PUID 及權限資訊。
  • 修正了一個錯誤,如果沒有描述符,就無法將描述符標籤加到授權上。
  • 已修正 Linux 上的 .NET 當機。
  • 修正了磁碟空間問題;當 MIP 在保護內容時磁碟空間不足時,會報告錯誤。
  • 已將OpenSSL相依性升級為1.1.1-r.1。

平台與依賴更新

  • 已修正未一致處理天空雲層的錯誤。
  • 已新增離線發布預覽功能的支援。
  • 修正了一個錯誤,該錯誤導致在主權雲端情境中,封裝器缺少遙測雲端。
  • 已從偵錯構建的稽核遙測中移除 PII。

重大突破性變更

  • 如果 usersWithDefaultRights 和 additionalUsersAndRights 都是空的,CreateFromLicenseType 則會拋出 BadInputError。
  • 在類別GetLicenseRightsData中加入新的方法GetLicenseRightsDataAsync和ProtectionEngine。

版本 1.12.61

發行日期: 2022年6月9日

檔案SDK

  • 檔案 SDK 現已支援透過 FileEngineSettings.DataBoundary 實作資料邊界。
  • 修正了 GetCodePage 中 MsgInspector 的錯誤。
  • 修正 BodyType 總是在 中傳回 MsgInspector 的錯誤。
  • 已修正 Java 包裝函式中的 Bug,使用 UserRoles 時拋出 java.util.Collections$UnmodifiableCollection 無法轉換成 java.util.List 的例外狀況。
  • 已修正使用 >解密文字檔 GetDecryptedTemporaryStreamAsync()2GB 時的錯誤。

策略 SDK

  • Policy SDK 現在支援透過 PolicyEngineSettings.DataBoundary 提供資料邊界。
  • 已修正某些情況下策略變更導致崩潰的錯誤。
  • 修正了受 DKE 保護的 Encrypt Only 標籤在應被過濾時未遭過濾的問題。

保護軟體開發套件 (SDK)

  • 預覽:新增對離線保護的支援。
    • 建立ProtectionProfile.OfflinePublishing時,將ProtectionProfile設定為 true 以啟用離線保護。
    • 快取範本需要設定 ProtectionEngineSettings.SetTemplateRefreshArgs(std::chrono::hours) (C++) 或 ProtectionEngineSettings.TemplateRefreshArgs (.NET) 來啟用保護範本快取。
  • 保護 SDK 現已支援透過 ProtectionEngineSettings.DataBoundary 實作資料邊界

重大突破性變更

  • FileHandler.SetLabel() API 不再支援 rpmsg 檔案作為輸入。
  • 將純文字 MSG 檔案傳遞至 MsgInspector 會導致 NotSupportedError
  • MsgInspector 不再嘗試解密屬於 message.rpmsg 檔案一部分的附件。
  • MsgInspector如果 message.rpmsg 檔案具有 MSG 附件,則會傳回功能完整的 MSG 檔案。 API FileHandler.RemoveProtection 可以解密這些 MSG 檔案。
  • TelemetryDelegate 和 AuditDelegateWriteEvent 方法現在需要第二個參數 EventContext。 類別 EventContext 會公開事件的目標雲端和數據界限資訊。

平台與依賴更新

  • 已新增所有三個 SDK 的支援,以設定歐盟數據界限。
    • 當 設定為歐盟時 DataBoundary ,所有遙測和稽核事件都會直接流向歐盟區域。
    • 設定 DataBoundary 為任何其他區域會導致將數據發出至最接近的服務進入點。
  • 已將 libxml2 更新為 2.9.13。
  • 已修正 Android 特有的當機問題。
  • 修正了 SDK 沒有完全尊重日誌等級的問題

版本 1.11.96

發行日期: 2022年7月20日

檔案SDK

  • 已修正 MemoryStream 中的 GetDecryptedTemporaryStream 大文件類型 bug
  • 已修正因堆疊溢位損毀而導致 PDF 加密期間資料遺失的錯誤
    • 使用 OptimizePdfMemory 時,如果 /Info 是具有內部間接物件的 ObjStm,則會傳回 PDFPARSER_ERROR_FORMAT 而不是堆疊溢位。
  • 修正了一個在 Java 中無法載入支援 MIP 函式庫的問題
  • 已修正一個錯誤,即當具有受保護 MSG 檔案附件的 MSG 檔案,其副檔名含有尾端 Null 終止符時,會導致檔案損毀。
  • 已修正具有連結附件的 MSG 檔案當機
  • 修正了一個錯誤,即在使用適用於 Windows 的 Azure 資訊保護 (AIP) 統一客戶端應用程式時,標籤應用的順序無法正確遵守的問題。
  • 修正了一個錯誤,即RemoveProtection拋出LabelDisabledError例外狀況指出指定了非使用中的標籤。
  • 已修正當輸入檔受到templateID保護時DeleteLabel擲回無效元數據例外狀況的錯誤。

策略 SDK

  • 修正了因呼叫時 OnPolicyChanged 原生與管理映射不匹配而導致政策變更導致當機的問題

平台與相依性變更

  • 修正了使用 C# 或 Java 介面時,遙測和稽核資料可能無法傳送的問題
  • 已修正具有相同基底 URL 的雲端未一致處理的錯誤
  • 已將 Adobe XMP 版本更新為 6.0.0,並在 2.1.0 storeAtts() 函式中推送了適用於外籍弱點的安全性修正程式
  • .NET 公開了 EnableAuditAndTelemetryForSovereignClouds 旗標
  • 已修正由 vtable 安全性檢查引起的控制流程完整性崩潰問題
    • 停用這些檢查,因為Android不支援跨庫 vtable 檢查
  • 已修正 Windows 密碼編譯委派中的錯誤,以解決釋放後使用的漏洞問題。 僅適用於在 Windows 上設定 EnableFipsValidatedCryptography 的應用程式
    • hashObject vector 在句柄清理之前被清除,這導致在 BcryptData 的解構函式中清理句柄時發生釋放後使用的錯誤。

版本 1.11.64

發行日期: 2022年1月12日

檔案SDK

  • 已修正 pfile 包裝 MSG 檔案中因使用不正確內容格式導致的錯誤。
  • 已修正了Inspector類別在rpmsg檔案上引起崩潰的 Bug。
  • 已修正 SDK 未正確壓縮超過 4 GB 的檔案,導致可能損毀的錯誤。

保護軟體開發套件 (SDK)

  • 已修正與追蹤 iOS 上 AD RMS 網域名稱系統(DNS)紀錄相關的問題。

平台與依賴更新

  • 已在 Java 範例應用程式中更新 log4j。
  • 已將 Android 上的 arm64 ABI 重新命名為 arm64-v8a

版本 1.11.53

發行日期: 2021年11月17日

檔案SDK

  • 修正了 mip::FileHandler 中函式 IsModified() 在具有受保護附件的純文本 MSG 檔案時,返回 false 而非 true 的錯誤。
  • 修正了一個針對中繼資料中 XML 格式問題的錯誤,該問題在某些情況下會導致標籤損壞且無保護。

策略 SDK

  • 引入改進措施以防止政策同步出現死結。

重大突破性變更

  • 先前,當標籤設定為「不要轉寄」或「僅限加密」和檔案保護動作時,MIP SDK 不會在檔案內容類型的標籤清單中顯示標籤。

    • SDK 已更新以修正此問題。 當標籤設定為同時套用兩種內容類型時,兩者都不會被過濾。
    • 這項變更不會影響保護動作「僅限加密」或「不要轉寄」的標籤。
    • 最後,它不會影響適用於預先定義動作或使用者定義保護之檔案的標籤。
  • 已更新現有的例外狀況,以便更妥善地處理特定案例。 下列先前顯示為 NetworkError::Category::FailureResponseCode

    • NetworkError::Category::ServiceUnavailable
      • 新的例外狀況類別 (NetworkError exception)。
      • 當相依服務無法使用時傳回。
      • 服務錯誤 503
    • NetworkError::Category::Throttled
      • 例外狀況:NetworkError
      • 系統在對相依服務提出過多要求時予以傳回。
      • 服務傳回 HTTP 狀態碼 429

平台與依賴更新

  • 已將 SDK 相依性更新為最新版本
  • 所有 MIP SDK 二進位檔都會更新為使用 libxml2 靜態庫 2.9.12 版和適用於 Android 和 Windows 的 libgsf 動態連結庫。
  • 引進 Linux 的 Proxy 支援。 以下如何設定 Proxy 的範例。
export HTTP_PROXY="http://10.10.10.10:8080"

版本 1.10.115

發行日期 2022年2月25日

  • 已修正 pfile 包裝 MSG 檔案中因使用不正確內容格式導致的錯誤。
  • 已修正了Inspector類別在rpmsg檔案上引起崩潰的 Bug。
  • 已修正 SDK 未正確壓縮超過 4 GB 的檔案,導致可能損毀的錯誤。
  • 修正了偵測受保護 MSG 檔案的錯誤。 檔案可能受到保護,但 SDK 將它們視為純文字。

版本 1.10.98

發行日期 2021年9月29日

錯誤修正

  • 已修正 iOS 中未啟用 bitcode 的錯誤

版本 1.10.97

發布日期: 2021 年 9 月 17 日

錯誤修正

  • 已修正將保護標籤套用至 MSG 檔案時,MSG 檔案上的附件損毀的錯誤。

版本 1.10.93

發布日期: 八月 23, 2021

一般變動

  • 已新增 MipConfiguration 類別。
    • 此類別會控制先前直接在 MipContext 上設定的組態設定。
    • 代理、記錄位置等會被設定為此物件的一部分。
    • 如需詳細資訊,請檢閱 MipContext 概念 。
  • MipContext::Create() 建構函式會變更為只接受新的 MipConfiguration 物件。
  • 如果 .Locale 屬性設定為 null,則所有引擎設定預設為 en-US 地區設定。
  • 修正了 SDK 沒有完全尊重日誌層級設定的問題。

檔案SDK

  • 已新增對 MSG 檔案讀取和寫入標籤的支援。
  • FileHandler::IsLabeledOrProtected() 現在支援 MSG 檔案。
  • 檔案 SDK 現在支援解密未受保護的 MSG 檔案上的受保護附件。
    • 這項變更僅適用於檔案,不適用於 MSG 或 ZIP 檔案等容器。
  • 已新增靜態方法 mip::FileHandler::GetFileStatus()
    • 此函式會傳回新的 mip::FileStatus 物件,指出檔案是否已標示、受保護或包含受保護的物件。
    • FileStatus 會公開三個屬性: IsProtected、 IsLabeled和 ContainsProtectedObjects。
    • ContainsProtectedObjects 適用於具有受保護附件的 MSG 檔案。
  • 在具有受保護附件的純文本 MSG 檔案上呼叫 FileHandler::RemoveProtection() 時,會從附件中移除保護。
  • 修復了在迴圈中呼叫IProtectionHandler時,IFileHandler.SetProtection()損毀的錯誤。 IProtectionHandler 實例在使用後不再被銷毀。

策略 SDK

  • 內容標記變數 ${Event.DateTime} 現在預設為當地時間,而不是UTC。
    • 您可以使用實驗功能 EventDateTimeTokenUseUtc 將變數恢復到先前的預設值。
  • 修正了在 IsActive 內,PolicyHandler 未能與從 PolicyEngine 擷取標籤時傳回相同值的錯誤。

保護軟體開發套件 (SDK)

  • 已新增在 Protection 和 File SDK 中浮出水面的新更具體錯誤類型。 請參閱「突發變更」章節。

重大突破性變更

  • 引進新的自定義設定來管理預設稽核設定。
    • 已在稽核委派中新增屬性,以設定稽核設定。
    • LabelGroupData 類別不再有 IsAuditEnabled() 方法。
    • 請改用 GetEnableAuditSetting(),以便在原則載入後取得原則中的 EnableAudit 設定。 默認稽核設定 Undefined 與舊版中的 true 相反。
  • 允許將檔的時區傳遞至 ComputeActions,以允許計算動作,就像檔存在於套用標籤的電腦不同的時區一樣。
    • 當透過服務套用標籤以代表使用者時,這種情況很有用,因為伺服器的本地時間不一定與使用者的時間相同。
    • 我們現在預設為當地時間,不顯示時區,而不是將 ${Event.DateTime} 以 UTC 格式回傳。
  • 已更新現有的例外狀況,以便更妥善地處理特定案例。
    • NoPermissionsError::Category::NotPremiumLicenseUser
      • 先前顯示為 NoPermissionsError::Category::AccessDenied
      • 由未授權的用戶嘗試撤銷受保護的內容所造成。
    • NoPermissionsError::Category::NotOwner
      • 先前顯示為 NoPermissionsError::Category::AccessDenied
      • 因使用者嘗試撤回不屬於他們的文件所造成。
    • ServiceDisabledError::Extent::Tenant
      • 先前顯示為 ServiceDisabledError::Extent::User
      • 當目標 Azure Rights Management 服務改為停用時傳回。
    • NoPermissionsError::Category::AccessDenied
      • 先前顯示為 NetworkError::Category::FailureResponseCode
      • 當用戶因授權或入門管理控制而沒有發佈許可權時返回。
    • BadInputError::ErrorCode::DoubleKey
      • 先前顯示為 NetworkError::Category::FailureResponseCode
      • 當雙金鑰加密 (DKE) 參數不正確時傳回。
    • CustomerKeyUnavailableError
      • 新的例外狀況。
      • 當租戶設定為自帶金鑰(BYOK)且金鑰無法存取時,會回傳。
      • 服務會傳回HTTP424。
    • NetworkError::Category::FunctionNotImplemented
      • 新的例外狀況。
      • 當服務傳回HTTP501時傳回 (未實作)。
    • 下列先前顯示為 NetworkError::Category::FailureResponseCode
      • TemplateArchivedError:嘗試套用範本標識碼的應用程式會封存。
      • LicenseNotRegisteredError:文件發佈授權未註冊用於撤銷。
      • NoPermissionsError::Category::UserNotFound:提供的使用者不存在於目標租使用者中。
      • NoPermissionsError::Category::InvalidEmail:提供無效的電子郵件位址。
      • NoPermissionsError::Category::AccessDenied:提供的使用者身份不是由 RMS 識別的主要使用者,也不是有效的委派者。
      • BadInputError::ErrorCode::LicenseNotTrusted:提供的發佈授權不是來自受信任的發行者。 (不在 C API 中)
      • BadInputError::ErrorCode::ParameterParsing:因各種 XML、JSON 或其他解析相關問題而傳回(不在 C API 中)

平台與依賴更新

  • 已新增Debian10的支援。
  • 已新增對Ubuntu20.04的支援。

版本 1.9.90

發布日期: 七月 7, 2021

一般變動

  • 已修正檔案 SDK 中的 Bug,其中舊版文件無法在 32 位 Windows 上解密。
  • 在 iOS 組建上啟用 bitcode。
  • 已更新 Ubuntu 16.04 以使用 OpenSSL 1.1.1k。
  • 修正了解密先前由第三方電子蒐證工具處理的 MSG 檔案時發生的問題。

版本 1.9.78

發布日期: 四月 29, 2021

一般變動

  • 新增了新的參數,可讓開發人員提供自定義案例標識碼來關聯錯誤。
    • 如果服務端錯誤需要支援案件,這個情境 ID 可能有助於排除故障。
    • File SDK:建立 FileHandler 時,透過 FileExecutionState 設定 applicationScenarioID
    • 保護 SDK:各種 API 現在支援傳入案例識別碼。
      • mip::ProtectionCommonSettings(mApplicationScenarioId)
      • mip::GetTemplatesSettings::CreateGetTemplatesSettings()->SetApplicationScenarioId()
      • mip::ProtectionHandler::PublishingSettings()->SetApplicationScenarioId()
      • mip::ProtectionHandler::ConsumptionSettings()->SetApplicationScenarioId()
      • mip::PolicyEngine::SetSessionId()
  • 已新增 Workload 列舉和同意檢查。
    • 已將HasWorkloadConsent()和GetWorkloadConsent()新增至FileEngine和PolicyEngine。
  • 已新增同步 API 至 Policy SDK .NET 包裝函式:AddEngine()、ListEngines()、DeleteEngine()、UnloadEngine()。
  • 新增支援透過 ProtectionProfile::Settings::AddRedirectionUri() 重新導向保護要求
  • 新增了一個供 LoggerDelegate 使用的記錄器上下文,以將自訂的上下文資料寫入日誌。
    • 此 API 可用於將服務中的錯誤事件與單一作業或事件相互關聯。
    • 下列 API 支援提供記錄器內容:
      • LoggerDelegate::WriteToLogWithContext
      • TaskDispatcherDelegate::DispatchTask 或 ExecuteTaskOnIndependentThread
      • FileEngine::Settings::SetLoggerContext(const std::shared_ptr<void>& loggerContext)
      • FileProfile::Settings::SetLoggerContext(const std::shared_ptr<void>& loggerContext)
      • ProtectionEngine::Settings::SetLoggerContext(const std::shared_ptr<void>& loggerContext)
      • ProtectionProfile::Settings::SetLoggerContext(const std::shared_ptr<void>& loggerContext)
      • PolicyEngine::Settings::SetLoggerContext(const std::shared_ptr<void>& loggerContext)
      • PolicyProfile::Settings::SetLoggerContext(const std::shared_ptr<void>& loggerContext)
      • FileHandler::IsProtected()
      • FileHandler::IsLabeledOrProtected()
      • FileHanlder::GetSerializedPublishingLicense()
      • PolicyHandler::IsLabeled()

平台與依賴更新

  • 新增 CentOS 8 的支援
  • 已新增 iOS 架構的支援
  • 已將OpenSSL更新為1.1.1.1k版
  • 將 SQLite 更新為 3.34.1

重大突破性變更

  • 已變更已啟用 AIP 分析 之租用戶的預設稽核行為。 除了設定 AIP Analytics 功能的服務端元件外,你還必須在敏感性標籤政策中將 EnableAudit 屬性設為 true。
  • 已將函式 GetApplicationScenarioId() 新增至 FileExecutionState。
  • 已移除 ContentFormat 列舉。
  • 新增了先前透過字串/錯誤代碼在 NetworkError 下揭露的一組錯誤之已分類特定錯誤。
    • NoPermissionsError::Category::UserNotFound
    • NoPermissionsError::Category::AccessDenied
    • NoPermissionsError::Category::AccessExpired
    • NoPermissionsError::Category::UserNotFound
  • Microsoft.RightsManagement.Exceptions.UnknownTenantException 被擲出的服務現在會顯示為 ServiceDisabledError 而非 Network Error

錯誤修正

  • 已修正呼叫 mip::FileHandler::IsLabeledOrProtected()時記憶體流失的問題。
  • 已修正一個錯誤,即在FileHandler::InspectAsync()失敗時會呼叫不正確的觀察者。
  • 已修正 SDK 嘗試將共同撰寫標籤格式套用至不支援共同撰寫的 Office 格式的錯誤(DOC、PPT、XLS)。
  • 已修正 .NET 封裝元件中因 FileEngine 處置導致的當機問題。 原生 PolicyEngine 物件保留某段時間,並嘗試重新整理原則,導致系統崩潰。
  • 已修正 SDK 會忽略舊版 AIP 所套用的標籤的錯誤,因為缺少 SiteID 屬性。

版本 1.8.97

發布日期: 2021 年 2 月 24 日

  • 已修正一個錯誤,該錯誤導致子標籤未正確篩選並包含所有類型的標籤,即使未被要求也會顯示。
  • 修正了當標籤元數據不完整時,RemoveProtection() 上的標籤無法保留的問題。

版本 1.8.94

發布日期: 2021 年 2 月 8 日

  • 已修正 NuGet 套件中的 Bug,此 Bug 導致 C++ 專案在偵錯組態中錯誤地部署了發行版本的二進位檔。 版本 1.8.86 可能會導致原生 C++ 應用程式當機。 更新至 1.8.94 或更新版本。
  • 已修正必須使用政策引擎才能移除保護的錯誤。
    • 如果 SDK 無法載入政策引擎且標籤元資料存在,當保護被移除時,SDK 會丟棄該政策引擎。
  • 已修正當檔案變更為另一個受保護的標籤時,會產生空白 labelInfo.xml 的錯誤。

版本 1.8.86

發布日期: 1月 13, 2021

一般變動

  • 已新增 ARM 上的 Mac 支援。
  • 已簽署 Mac 的所有 dylib 檔案。
  • 所有雲端都完全支援這三個軟體開發工具包 (SDK)。
  • 將 TelemetryConfiguration 重新命名為 DiagnosticConfiguration。
  • 已更新 MipContext 以接受 DiagnosticConfiguration 而不是 TelemetryConfiguration。
  • 公開新的 AuditDelegate。
  • 數個自定義設定的名稱已變更,並在1.9版中移除。 這些自訂設定在 1.8 版本中仍與更新名稱並行運作。
新名稱 舊名稱
is_debug_audit is_debug_telemetry
is_audit_disabled is_built_in_audit_disabled

檔案SDK

  • 已新增對具有雙金鑰加密的使用者定義標籤支援。
  • 已新增 API, MsgInspector.BodyType 以公開 MSG 檔案的主體編碼類型。
  • 已新增 API 以支援具有使用者定義許可權的雙重金鑰加密。
  • 已新增旗標 mip::FileHandler ,允許呼叫端停用稽核探索事件的傳送。 這會修正使用 ClassifyAsync() API 會導致重複探索事件的案例。
  • 已修正下列位置的錯誤:
    • 在 XPS 檔案上設定保護失敗。
    • 使用者在從 SharePoint Online 上傳/下載後,無法開啟檔案,且移除自訂權限。
    • RemoveProtection() 函式會接受 message.rpmsg 輸入。 現在只接受 MSG 檔案。
    • 嘗試追蹤或撤銷未受保護的檔案時所發生的當機。

策略 SDK

  • 已從預設元數據屬性中移除 ActionId ,以確保Microsoft Office 與 SharePoint Online 標籤檔案之間的一致性。
  • 已新增 Azure Purview 特定標籤的支援。
  • 新增了可透過各自的委派覆寫遙測與稽核的功能。
    • 稽核代理可讓您將 AIP 稽核事件傳送至其他目的地或連同 AIP 分析一起傳送。
  • 已新增mip::PolicyHandler的標記,允許呼叫端識別稽核發現事件的傳送。 這會修正使用 ClassifyAsync() API 會導致重複探索事件的案例。
  • 已修正在某些情況下,無法開啟加密原則資料庫的錯誤。
  • 公開的新 AuditDelegate,可讓開發人員覆蓋掉預設的 MIP SDK 審核流程,並將事件傳送至自己的基礎架構。
  • mip::ClassifierUniqueIdsAndContentFormats 和 GetContentFormat() 現在會傳回 std::string 而不是 mip::ContentFormat。 這項變更會在 .NET 和 Java 包裝函式中複寫。
  • ContentFormat.Default 現在為 ContentFormat.File。

保護軟體開發套件 (SDK)

  • ProtectionEngineSettings.SetAllowCloudServiceOnly屬性已新增,若為 true,則禁止任何連線至 Active Directory Rights Management Services 集群。 只會使用雲端環境。
  • 已新增取得委派授權的支援功能。
    • 代理授權可讓服務代替使用者取得內容的授權。
    • 這讓服務能代表使用者查看權限資料並解密,無需額外呼叫服務。

Java 包裝函式 (公開預覽)

  • 已將 Track 和 Revoke 的支援新增至 Java 封裝。
  • 已將數據流支援新增至 Java 包裝函式

C API

  • 從 C API 中刪除 MIP_FLIGHTING_FEATURE_KEEP_PDF_LINEARIZATION 標誌。

版本 1.7.147

檔案SDK

  • 格式為 .PBIX 的檔案進行次要的錯誤修正。

版本 1.7.145

發布日期: 十一月 13, 2020

一般變動

  • 更新 NuGet 套件,以便在更新時才複製相依性而不是每次都複製。
  • 在 .NET 中,偵錯設定使用的是原生函式庫的發行版本。 我們發現在偵錯模式中將 .NET 解決方案部署至遠端伺服器的客戶需要安裝 VC++ 偵錯運行時間,這並不簡單。 如果需要對原生程式庫進行偵錯,請將可重分發的 SDK 的 DLL 複製到專案資料夾(https://aka.ms/mipsdkbins)
  • 已修正導致 .NET Core 專案產生警告的錯誤。

版本 1.7.133

發行日期:2020 年 9 月 23 日

一般 SDK 變更

  • Windows 和 Ubuntu 18.04 上的 Java 公開預覽現已提供。
  • Windows 上現在支援 .NET Core。
  • Ubuntu 18.04 上 .NET Core 的公開預覽支援。
  • 當記憶體快取類型設定為 OnDiskEncrypted. 時,已改善 Keystore 的本機記錄。
  • 在 .NET 包裝器上啟用功能測試
  • 已將 SDK 遙測行為還原為 1.6 之前。 選擇只加入最低限度的遙測時,現在只會傳送一組最少的使用事件。

檔案SDK

  • 已修正MSGInspector中的UTF-16/UTF-8主體轉換。
  • 將檔案 SDK 保護之檔案的預設檔案大小上限設定為 6GB。
    • 由於解密大型檔案,進行的更改需要可用記憶體至少相當於檔案大小。
    • 可由自訂設定max_file_size_for_protection覆蓋。
  • 已新增對線性化 PDF 的支援。
  • 已修正 Change 事件上未更新 LastModifiedDate 的錯誤。
  • 已修正受保護 PDF 建立中的記憶體洩漏。
  • 檔案 SDK 支援撤銷追蹤的檔案。
  • FileEngine::Settings::SetLabelFilter 已被取代,請改用 ConfigureFunctionality 。

策略 SDK

  • 原則 SDK 現在支援 [僅加密標籤] 動作。
  • 修正了導致 mip::Identity 未能從快取引擎正確載入的錯誤。
  • 修正了分類 API 中分類 GUID 比較時的區分大小寫錯誤。
  • 藉由新增欄位來擴充稽核事件。

保護軟體開發套件 (SDK)

  • 修正了導致 mip::Identity 未能從快取引擎正確載入的錯誤。
  • 已新增新建立發行授權的隱含註冊。
  • 已新增用於在 Office 檔案中支援 DKE 的密碼編譯演算法支援。
  • 將 documentId 參數和 owner 參數設為選用。

C API

  • 已新增遺漏的身分驗證和 DKE API 介面。
  • 將 AuthDelegate 從配置檔移至跨所有 SDK 的引擎。
  • 發布 C 使用的策略 SDK 範例
  • MIP_CC_CreateProtectionEngineSettingsWithIdentity 已被取代,請改用 MIP_CC_CreateProtectionEngineSettingsWithIdentityAndAuthCallback 。
  • MIP_CC_CreateProtectionEngineSettingsWithEngineId 已被取代,請改用 MIP_CC_CreateProtectionEngineSettingsWithEngineIdAndAuthCallback 。
  • MIP_CC_CreateProtectionProfileSettings 簽名改變了。
  • MIP_CC_CreatePolicyEngineSettingsWithIdentity 已取代,請使用 MIP_CC_CreatePolicyEngineSettingsWithIdentityAndAuthCallback。
  • MIP_CC_CreatePolicyEngineSettingsWithEngineId 已取代,請使用 MIP_CC_CreatePolicyEngineSettingsWithEngineIdAndAuthCallback。
  • MIP_CC_PolicyEngineSettings_SetLabelFilter 已取代,請使用 MIP_CC_PolicyEngineSettings_ConfigureFunctionality。
  • MIP_CC_CreatePolicyProfileSettings 簽名改變了。

重大突破性變更

Common

  • TelemetryConfiguration::isTelemetryOptedOut 重新命名為 isMinimalTelemetryEnabled。

C API

  • mip_cc_document_state 已更新為新值 mip_cc_metadata_version_format contentMetadataVersionFormat

版本 1.6.103

發行日期:2020 年 4 月 16 日

一般 SDK 變更

  • 針對所有非 ADRMS HTTP 通訊強制執行 TLS 1.2。
  • 已將 iOS/macOS HTTP 實作從 NSURLConnection 遷移至 NSURLSession。
  • 已將 iOS 遙測元件從 Aria SDK 遷移至 1DS SDK。
  • 遙測元件現在會在iOS、macOS和Linux上使用MIP的 HttpDelegate。 (之前僅限 Win32)
  • 改善 C API 的類型安全性。
  • 在 C++、C# 和 Java API 中,將 AuthDelegate 從設定檔移至引擎。
  • AuthDelegate 從 Profile::Settings 的建構函式移至 Engine::Settings。
  • 已將 Category 新增至 NoPolicyError,以提供原則同步失敗原因的詳細資訊。
  • 已新增 PolicyEngine::GetTenantId 方法。
  • 已新增對所有雲服務的明確支援。
    • 設定目標雲端的新 Engine::Settings::SetCloud 方法(GCC High、21-Vianet 等)。
    • 已辨識的雲端不再需要現有的 Engine::Settings::SetCloudEndpointBaseUrl 方法呼叫。
  • 已為 iOS 二進制文件啟用 bitcode。

檔案SDK

  • 已新增 IFileHandler::InspectAsync 至 C# 和 Java 包裝函式
  • 新增 FileProfile::AcquirePolicyAuthToken 支援觸發策略令牌擷取,讓應用程式能預熱其令牌快取。
  • MsgInspector::GetAttachments 傳 vector<shared_ptr<MsgAttachmentData>> 回 而不是 vector<unique_ptr<MsgAttachmentData>>
  • TelemetryConfiguration::isOptedOut 設定現在會完全停用遙測。 先前已傳送過一組最小的遠端監測數據。

策略 SDK

  • 新增支援觸發代幣擷取,允許應用程式透過 PolicyProfile::AcquireAuthToken熱身其代幣快取。
  • 預設會過濾 Hold Your Own Key (HYOK) 標籤。
  • 現在會移除與已刪除標籤相關聯的元數據。
  • 若快取標籤政策與敏感度政策不符,則該政策快取會被清除。
  • 版本化元資料的新支援:
    • 檔案格式可能會改變其標籤元資料的位置或格式。 在此情況下,應用程式應該為所有元數據提供 MIP,而 MIP 會判斷哪一個元數據為 「true」。
    • ContentLabel::GetExtendedProperties 現在會傳回 vector<MetadataEntry>,而不是 vector<pair<string, string>>。
    • MetadataAction::GetMetadataToAdd 現在會傳回 vector<MetadataEntry>,而不是 vector<pair<string, string>>。
    • ExecutionState::GetContentMetadata 現在應該傳回 vector<MetadataEntry> 而不是 vector<pair<string, string>>。
    • ExecutionState::GetContentMetadataVersion 應該傳回應用程式針對目前檔案格式辨識的最高元數據版本(通常是 0)。
    • PolicyEngine::GetWxpMetadataVersion 會傳回租用戶系統管理員所設定之 Office 檔的元數據版本(0 = 預設值,1 = 共同驗證格式)。
    • C API 中的對等變更:
      • MIP_CC_ContentLabel_GetExtendedProperties
      • MIP_CC_MetadataAction_GetMetadataToAdd
      • mip_cc_metadata_callback
      • mip_cc_document_state
      • MIP_CC_PolicyEngine_GetWxpMetadataVersion
  • TelemetryConfiguration::isOptedOut 設定現在會完全停用遙測。 先前已傳送過一組最小的遠端監測數據。

保護軟體開發套件 (SDK)

  • 檔追蹤註冊和撤銷的新支援。
  • 新增功能可在發佈時生成預授權。
  • 公開的公用Microsoft保護服務所使用的 TLS 憑證。
    • GetMsftCert 與 GetMsftCertPEM
    • 如果應用程式覆蓋HttpDelegate介面,則必須信任此 CA 所簽發的伺服器憑證。
    • 這項需求預計將在 2020 年底移除。

版本 1.5.124

發行日期:2020 年 3 月 2 日

一般 SDK 變更

  • Java API (僅限 Windows)
  • 取消 MIP 異步任務
    • 所有異步呼叫都會使用 Cancel() 方法傳回 mip::AsyncControl 物件
  • 延遲加載相依二進位檔
  • 選擇性地遮罩特定遙測/稽核屬性
    • 可透過 mip::TelemetryConfiguration::maskedProperties 設定
  • 改進的例外狀況:
    • 所有錯誤的描述字串中都包含可用來採取行動的相互關聯標識碼。
    • 網路錯誤有 'Category'、'BaseUrl'、'RequestId' 和 'StatusCode' 欄位
  • 改善的 C API 結果 /錯誤詳細數據

檔案SDK

  • 無網路檢查檔案是否已加上標籤或受保護
    • mip::FileHandler::IsLabeledOrProtected()
    • 誤判的輕微風險(例如,如果檔案包含殭屍標籤數據)
  • 篩選與特定保護類型相關聯的標籤
    • 可透過 mip::FileEngine::Settings::SetLabelFilter() 進行設定
  • 將原則數據公開至檔案 SDK
    • mip::FileEngine::GetPolicyDataXml()

策略 SDK

  • 浮水印/頁首/頁尾動作的動態內容標記:
    • MIP 會自動填入 ${Item.Label}、${Item.Name}、${User.Name}、${Event.DateTime} 等字段
    • 應用程式可以建立 mip::Identity,並提供一個方便使用者理解且供動態內容標記使用的「name」欄位
    • 可透過 mip::PolicyEngine::Settings::SetVariableTextMarkingType() 進行設定
  • 檢查內容是否已標記,無需網路連接
    • mip::PolicyHandler::IsLabeled()
    • 誤判的輕微風險(例如,如果內容包含殭屍標籤數據)
  • 標籤政策快取 TTL
    • 默認值:30 天
    • 可透過 mip::P olicyProfile::SetCustomSettings() 進行設定
  • 重大變更
    • 已將 PolicyEngine.Settings.LabelFilter 從列舉清單更新為可空值的 bitfield。

保護軟體開發套件 (SDK)

  • Pre-license
    • 預先授權與加密內容並存,以及先前擷取的用戶憑證,允許脫機解密內容
    • 應用程式可以使用預先授權來建構 mip::ProtectionHandler::ConsumptionSettings
    • mip::ProtectionEngine::LoadUserCert|Async() 會根據 mip::ProtectionProfile 的快取原則來擷取儲存的用戶憑證
  • 特定伺服器功能檢查
    • 檢查使用者的租戶是否支援「僅限加密」功能(僅適用於 Azure RMS)
    • mip::ProtectionEngine::IsFeatureSupported()
  • 擷取 RMS 範本時獲取更豐富的細節資訊
  • 重大變更
    • mip::ProtectionEngine::GetTemplates() vector<shared_ptr<string>>傳回值取代為 vector<shared_ptr<mip::TemplateDescriptor>> (C++)
    • mip::ProtectionEngine::Observer::OnGetTemplatesSuccess() callback 參數以 shared_ptr<vector<string>> 取代 vector<shared_ptr<mip::TemplateDescriptor>> (C++)
    • IProtectionEngine.GetTemplates|Async() 傳回值 List<string> ,取代為 List<TemplateDescriptor>。 (C#)
    • MIP_CC_ProtectionEngine_GetTemplates() mip_cc_guid* 參數取代為 mip_cc_template_descriptor* (C API)

C API

  • 重大變更:大部分函式已更新為包含 mip_cc_error* 參數,且可為 NULL

錯誤/異常更新

  • 錯誤處理摘要:
    • AccessDeniedError:使用者尚未獲得存取內容的許可權
      • NoAuthTokenError:應用程式未提供驗證令牌
      • NoPermissionsError:使用者尚未獲得特定內容的許可權,但查閱者/擁有者可以使用
      • ServiceDisabledError:服務對使用者/裝置/平台/租用戶已停用
    • AdhocProtectionRequiredError:設定標籤之前,必須先設定臨機操作保護
    • BadInputError:使用者/應用程式的輸入無效
      • InsufficientBufferError:來自使用者/應用程式的緩衝區輸入無效
      • LabelDisabledError:標籤 ID 已辨識但被停用
      • LabelNotFoundError:無法辨識的標籤標識碼
      • TemplateNotFoundError:無法辨識的範本標識碼
    • ConsentDeniedError:使用者/應用程式需要同意的作業未獲得同意
    • DeprecatedApiError:此 API 已被取代
    • FileIOError:無法讀取/寫入檔案
    • InternalError:非預期的內部失敗
    • NetworkError
      • ProxyAuthenticationError:需要 Proxy 驗證
      • Category=BadResponse:伺服器傳回無法讀取的 HTTP 回應(重試可能會成功)
      • Category=Canceled:無法建立 HTTP 連線,因為使用者/應用程式已取消作業(重試可能成功)
      • Category=FailureResponseCode:伺服器傳回一般失敗回應(重試可能會成功)
      • Category=NoConnection:無法建立 HTTP 連線(重試可能成功)
      • Category=Offline:無法建立 HTTP 連線,因為應用程式處於離線模式(重試不會成功)
      • Category=Proxy:因代理問題未能建立 HTTP 連線(重試可能不會成功)
      • Category=SSL:因 SSL 問題無法建立 HTTP 連線(重試可能不會成功)
      • Category=限流:伺服器返回「限流」响应(稍後重試可能會成功)
      • Category=Timeout:逾時后無法建立 HTTP 連線(重試可能成功)
      • Category=UnexpectedResponse:伺服器傳回非預期的數據(重試可能會成功)
    • NoPolicyError:租戶或使用者未設定標籤的政策
    • NotSupportedError:目前狀態不支持操作
    • OperationCancelledError:作業已取消
    • PrivilegedRequiredError:無法修改標籤,除非指派方法 = privileged
  • Changes
    • 已移除未使用的 PolicySyncError。 由 NetworkError 取代
    • 移除未使用的 TransientNetworkError。 由 NetworkError 類別取代

版本 1.4.0

發行日期:2019 年 11 月 6 日

此版本引進 .NET 套件中保護 SDK 的支援(Microsoft.InformationProtection.File)。

SDK 更新

  • 效能改善和錯誤修正
  • 將 StorageType 列舉重新命名為 CacheStorageType
  • Android 連結至 libc++ 而不是 gnustl
  • 已移除先前已棄用的 API
    • 檔案/原則/設定檔:設定必須使用 MipContext 初始化。
    • 檔案/政策/設定檔::設定路徑、應用程式資訊、記錄器代理、遙測以及日誌層級的收集/設定器都被移除了。 這些屬性是由 MipContext 管理
  • Apple 平臺上更好的靜態庫支援
    • 單體靜態庫
      • libmip_file_sdk_static.a
      • libmip_upe_sdk_static.a
      • libmip_protection_sdk_static.a
      • libmip_upe_and_protection_sdk_static.a
    • 第三方相依性被分離至獨立的程式庫中
      • libsqlite3.a
      • libssl.a
  • 已移除mip_telemetry.dll (合併至 mip_core.dll)

檔案SDK

  • RPMSG
    • 加密
    • 已新增 string8 解密的支援
  • 可自訂的 PFILE 擴充功能行為(預設值,{extension}.PFILE 或 P{extension})
    • ProtectionSettings::SetPFileExtensionBehavior

策略 SDK

  • 完整的 C API
  • 設定與保護相關聯的標籤篩選
    • PolicyEngine::Settigns::SetLabelFilter()

保護軟體開發套件 (SDK)

  • 已移除先前已棄用的 API
    • 已移除 ProtectionEngine::CreateProtectionHandlerFromDescriptor[Async](請使用 ProtectionEngine::CreateProtectionHandlerForPublishing[Async])
    • 已移除 ProtectionEngine::CreateProtectionHandlerFromPublishingLicense[Async] (請使用 ProtectionEngine::CreateProtectionHandlerForConsumption[Async])
  • 完整的 C# API
  • 完整的 C API
    • 來自 v1.3 C API 預覽的 C API 正規化變更:
      • 將mip_cc_storage_type重新命名為 mip_cc_cache_storage_type
      • 已將MIP_CC_AddProtectionProfileEngine重新命名為 MIP_CC_ProtectionProfile_AddEngine
      • 已將MIP_CC_CreateProtectionEngineSettingsForExistingEngine重新命名為 MIP_CC_CreateProtectionEngineSettingsWithEng
      • 已將 MIP_CC_CreateProtectionEngineSettingsForNewEngine 重新命名為 MIP_CC_CreateProtectionEngineSettingsWithIdentity
      • 已將MIP_CC_SetProtectionProfileSettingsHttpDelegate重新命名為 MIP_CC_ProtectionProfileSettings_SetHttpDelegate
      • 已將 MIP_CC_CreateProtectionHandlerForConsumption 重新命名為 MIP_CC_ProtectionEngine_CreateProtectionHandlerForConsumption。
      • 將MIP_CC_CreateProtectionHandlerForPublishing重新命名為 MIP_CC_ProtectionEngine_CreateProtectionHandlerForPublishing
      • 將 MIP_CC_GetProtectionEngineId 重新命名為 MIP_CC_ProtectionEngine_GetEngineId
      • 將 MIP_CC_GetProtectionEngineTemplates 重新命名為 MIP_CC_ProtectionEngine_GetTemplates
      • 已將 MIP_CC_GetProtectionEngineTemplatesSize 重新命名為 MIP_CC_ProtectionEngine_GetTemplatesSize
      • 將MIP_CC_SetTelemetryConfigurationHttpDelegate重新命名為 MIP_CC_TelemetryConfiguration_SetHttpDelegate
      • 將 MIP_CC_SetTelemetryConfigurationHostName 重新命名為 MIP_CC_TelemetryConfiguration_SetHostName
      • 將MIP_CC_SetTelemetryConfigurationIsLocalCachingEnabled重新命名為 MIP_CC_TelemetryConfiguration_SetIsLocalCachingEnabled
      • 已將 MIP_CC_SetTelemetryConfigurationIsNetworkDetectionEnabled 重新命名為 MIP_CC_TelemetryConfiguration_SetIsNetworkDetectionEnabled
      • 已將MIP_CC_SetTelemetryConfigurationIsTelemetryOptedOut重新命名為 MIP_CC_TelemetryConfiguration_SetIsTelemetryOptedOut
      • 已將MIP_CC_SetTelemetryConfigurationLibraryName重新命名為 MIP_CC_TelemetryConfiguration_SetLibraryName
      • 已移除MIP_CC_ProtectionEngine_GetRightsForLabelIdSize,並更新MIP_CC_ProtectionEngine_GetRightsForLabelId,以填入mip_cc_string_list,而非逗號分隔的字串緩衝區。
      • 已移除 MIP_CC_ProtectionHandler_GetRightsSize 並 更新 MIP_CC_ProtectionHandler_GetRights,以填入 mip_cc_string_list,而不是逗號分隔的字串緩衝區
      • 已新增 MIP_CC_ProtectionEngine_GetEngineIdSize 並更新 MIP_CC_ProtectionEngine_GetEngineId,以填入字串緩衝區,而非使用 mip_cc_guid。
      • MIP_CC_CreateProtectionDescriptorFromUserRights現在會採用 'mip_cc_dictionary-' 參數,而不是 'mip_cc_dictionary'
      • MIP_CC_ProtectionEngineSettings_SetCustomSettings 現在使用 'mip_cc_dictionary-' 參數,而不是 'mip_cc_dictionary'
      • MIP_CC_ProtectionProfileSettings_SetCustomSettings 現在使用 'mip_cc_dictionary-' 作為參數,取代了原本的 'mip_cc_dictionary'。
      • MIP_CC_TelemetryConfiguration_SetCustomSettings 現在使用 'mip_cc_dictionary-' 參數,而非 'mip_cc_dictionary'
      • MIP_CC_CreateMipContext 接受 'isOfflineOnly' 和 'loggerDelegateOverride' 這些參數

版本 1.3.0

發行日期:2019 年 8 月 22 日

新功能

  • mip::MipContext 是最新的最高層級物件。
  • 現在支援解密受保護的 MSG 檔案。
  • 可透過 mip::FileHandler::InspectAsync() 和 mip::FileInspector 檢查 message.rpmsg 檔案。
  • 磁碟上快取現在可以選擇性地加密。
  • 保護 SDK 現在支援中國雲端客戶。
  • Android 上的ARM64支援。
  • iOS 上的 ARM64e 支援。
  • 最終用戶許可證(EUL)快取現在可以停用。
  • 透過 mip::FileEngine::EnablePFile 停用 .pfile 加密。
  • 藉由減少 HTTP 呼叫數目來改善保護作業的效能
  • 已從 mip::Identity 中移除委派的身分識別詳細資料,並改為新增 DelegatedUserEmail 至 mip::FileEngine::Settings、 mip::ProtectionSettings、 mip::PolicyEngine::Settings和 mip::ProtectionHandler的 PublishingSettings 和 ConsumptionSettings。
  • 先前傳回 LabelId 的函式現在會傳 mip::Label 回 物件。

Changes

  • 在舊版中,我們需要您呼叫 mip::ReleaseAllResources。 1.3 版會將這個 取代為 mip::MipContext::~MipContext 或 mip::MipContext::Shutdown。
  • 已移除ActionSource從mip::LabelingOptions和mip::ExecutionState::GetNewLabelActionSource
  • 已將 mip::ProtectionEngine::CreateProtectionHandlerFromDescriptor 替換為 mip::ProtectionEngine::CreateProtectionHandlerForPublishing。
  • 已將 mip::ProtectionEngine::CreateProtectionHandlerFromPublishingLicense 替換為 mip::ProtectionEngine::CreateProtectionHandlerForConsumption。
  • mip::PublishingLicenseContext 已重新命名為 mip::PublishingLicenseInfo,並更新為包含豐富欄位,而非原始序列化位元組。
  • mip::PublishingLicenseInfo 包含剖析發佈授權 (PL) 之後與 MIP 相關的數據。
  • mip::TemplateNotFoundError 和 mip::LabelNotFoundError 會在應用程式傳遞無法辨識的範本標識碼或標籤標識碼給 MIP 時擲回。
  • 新增了透過 AcquireToken() 和 mip::AuthDelegate::OAuth2Challenge() 的 claims 參數提供以標籤為基礎的條件式存取支援。 這項功能尚未透過合規中心入口網站公開。

版本 1.2.0

發行日期:2019 年 4 月 15 日

新功能

  • 遙測元件現在使用與 MIP 其餘部分相同的 HTTP 堆疊,即使用戶端應用程式已使用 HttpDelegate 覆寫它也一樣。
  • 客戶端應用程式可以透過覆寫 Profiles 中的 TaskDispatcherDelegate 來控制異步工作的線程行為。
  • RPMSG 加密現在處於預覽狀態。
  • 將檔案/原則 SDK 例外狀況處理行為與保護 SDK 對齊:
    • 如果 Proxy 設定為需要驗證,則所有 SDK 都會擲回 ProxyAuthError。
    • 當應用程式的 mip::AuthDelegate::AcquireOAuth2Token 未提供驗證權杖時,所有 SDK 都會擲回 NoAuthTokenError。
  • 改善 Policy SDK 的 HTTP 快取機制將所需的 HTTP 呼叫次數減少一半。
  • 更豐富的日誌(稽核)(遙測),以改善失敗偵測和除錯。
  • 支援外部/外來標籤,以利移轉至 AIP 標籤。
  • 已啟用第三方應用程式的支援,以從 SCC 下載敏感度類型。
  • 會公開和設定更多遙測設定(快取/線程行為等等)。

SDK 變更

  • mip_common.dll分割成mip_core.dll和mip_telemetry.dll。
  • 將 mip::ContentState 重新命名為 mip::D ataState,以描述應用程式如何與高層級的數據互動。
  • FileHandler::SetLabel 會拋出 mip::AdhocProtectionRequiredError 例外狀況,通知應用程式在套用標籤之前必須先套用臨時保護。
  • mip::OperationCancelledError 例外狀況會在作業取消時拋出(例如,因為關機或 HTTP 取消)。
  • 新 API:
    • mip::ClassificationResult::GetSensitiveInformationDetections
    • mip::FileEngine::GetLastPolicyFetchTime
    • mip::FileEngine::GetDefaultSensitivityLabel
    • mip::FileEngine::GetPolicyId
    • mip::FileEngine::HasClassificationRules
    • mip::FileEngine::Settings::SetPolicyCloudEndpointBaseUrl
    • mip::FileHandler::GetDecryptedTemporaryFileAsync
    • mip::FileHandler::Observer::OnGetDecryptedTemporaryFileFailure
    • mip::FileHandler::Observer::OnGetDecryptedTemporaryFileSuccess
    • mip::File/Policy/ProtectionProfile::SetTaskDispatcherDelegate
    • mip::File/Policy/ProtectionProfile::SetTelemetryConfiguration
    • mip::HttpRequest::GetBody 會傳回 std::vector<uint8_t> ,而不是 std::string
    • mip::HttpRequest::GetId
    • mip::PolicyEngine::GetLastPolicyFetchTime
    • mip::PolicyEngine::GetPolicyId
    • mip::PolicyEngine::HasClassificationRules
    • mip::PolicyEngine::Settings::SetCloudEndpointBaseUrl
    • mip::ProtectionDescriptor::GetContentId
    • (介面) mip::TaskDispatcherDelegate

新需求

  • 在程序終止之前(清除對所有 Profiles、Engines 和 Handlers 的所有參考後)呼叫 mip::ReleaseAllResources。
  • (介面)mip::ExecutionState::GetClassificationResults 的回傳型別與「classificationIds」參數變更
  • (介面)應用程式可以實作 mip::FileExecutionState::GetAuditMetadata,指定詳細資訊以呈現給租戶管理員的稽核儀表板(例如寄件人、收件人、最後修改者等)。
  • (介面) mip::FileExecutionState::GetClassificationResults 回傳類型已更改,現在需要 FileHandler 參數
  • (介面)應用程式應實作 mip::FileExecutionState::GetDataState 來指定應用程式如何與 contentIdentifier 互動
  • (interface) mip::HttpDelegate 介面需要 'CancelOperation' 和 'CancelAllOperations' 方法
  • (interface) mip::HttpDelegate 介面 'Send' 和 'SendAsync' 會傳回 mip::HttpOperation,而不是 mip::HttpResponse
  • (interface)mip::HttpResponse::GetBody 會傳回 std::vector<uint8_t>,而不是 std::string
  • (interface) mip::HttpResponse 介面需要 'GetId' 方法實作
  • mip::ContentLabel::GetCreationTime 會傳回 std::chrono::time_point,而不是 std::string
  • mip::FileEngine::CreateFileHandlerAsync 不再接受 'contentIdentifier' 參數
  • mip::PolicyHandler::NotifyCommitedActions 已重新命名為 mip::PolicyHandler::NotifyCommittedActions

版本 1.1.0

發行日期:2019 年 1 月 15 日

此版本引進下列平台的支援:

  • .NET
  • iOS SDK (策略 SDK)
  • Android SDK(Policy SDK 和 Protection SDK)

新功能

  • ADRMS 支援
  • 保護 SDK 作業是真正異步的(在 Win32 上),允許同時進行非封鎖加密/解密作業
    • 應用程式回調(如 AuthDelegate、HTTPDelegate 等)現在可以在任何背景執行緒中被調用
  • IT 管理員設定的自訂標籤屬性現在可以透過 mip::Label::GetCustomSettings 讀取
  • 序列化出版授權現在可以透過 mip::FileHandler::GetSerializedPublishingLicense 直接從檔案中取得,無需任何 HTTP 操作
  • MIP 會透過 mip::FileProfile::Observer::OnAddPolicyEngineStarting/mip::PolicyProfile::Observer::OnAddEngineStarting 通知應用程式,建立 mip::FileEngine/mip::PolicyEngine 是否需要進行 HTTP 作業
  • 使用便利方法 mip::ProtectionDescriptor::DoesContentExpire 來偵測受保護內容是否具有到期日。
  • Classification:
    • 應用程式可從 SCC 服務取得敏感性類型(例如信用卡號碼、護照號碼等的正則表達式)
      • 藉由設定 mip::FileEngine::Settings/mip::P olicyEngine::Settings 旗標來啟用功能
      • 透過 mip::FileEngine::ListSensitivityTypes/mip::P olicyEngine::ListSensitivityTypes 來閱讀類型
    • 應用程式可將外部文件掃描工具的分類結果傳送至 MIP,以根據文件內容驅動推薦或必需標籤
      • 透過 mip::FileExecutionState::GetClassificationResults/mip::ExecutionState::GetClassificationResults 將結果傳遞至 MIP
      • 當分類結果符合標示必要或推薦標籤的政策規則時,mip::P olicyEngine::ComputeActions 可回傳 mip::ApplyLabelAction 與 mip::RecommendLabelAction

新需求

  • 在建立 mip::FileProfile、mip::PolicyProfile 和 mip::ProtectionProfile 時,強制填入 mip::ApplicationInfo 的 ID、名稱及版本字段。
  • 建立 mip::FileHandlers 時,應用程式必須實作新的 mip::FileExecutionState 介面

新例外

  • mip::如果應用程式的 AuthDelegate 傳回空白令牌(因為取消),則拋出 NoAuthTokenError。
    • 適用於下列專案的建立:
      • mip::FileEngine
      • mip::FileHandler
      • mip::PolicyEngine
      • mip::ProtectionHandler
  • mip::NoPolicyError 當租使用者未配置標籤時拋出
    • 適用於下列專案的建立:
      • mip::FileEngine
      • mip::PolicyEngine
  • 如果針對特定使用者/裝置/平台/租用戶停用 RMS 服務,則會拋出 mip::ServiceDisabledError。
    • 適用於下列專案的建立:
      • mip::FileHandler
      • mip::ProtectionHandler
  • mip::NoPermissionsError 如果用戶沒有解密檔或內容已過期的許可權,則擲回
    • 適用於下列專案的建立:
      • mip::FileHandler
      • mip::ProtectionHandler

下一步