本文存檔了 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以在失敗後移除輸出檔案,而不是空白檔案。 - 已將
LoadUserCertAPI 更新為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以啟用離線保護。
- 在 C++ 和 .NET 中,將
重大突破性變更
-
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 檔案。 APIFileHandler.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的應用程式-
hashObjectvector 在句柄清理之前被清除,這導致在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::FailureResponseCodeNetworkError::Category::ServiceUnavailable- 新的例外狀況類別 (
NetworkErrorexception)。 - 當相依服務無法使用時傳回。
- 服務錯誤 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物件。- 如需詳細資訊,請檢閱 MipContext 概念 。
- 如果
.Locale屬性設定為null,則所有引擎設定預設為 en-US 地區設定。 - 修正了 SDK 沒有完全尊重日誌層級設定的問題。
檔案SDK
- 已新增對 MSG 檔案讀取和寫入標籤的支援。
- 標記這些檔案的模式與任何其他文件類型相同。
- 必須設定 enable_msg_file_type 自訂設定,才能啟用 MSG 檔案處理。
- 附件受保護,但 未 標記。
- 如需自定義設定的詳細資訊,請參閱 設定enable_msg_file_type並使用檔案 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。
Set-LabelPolicy -Identity Global -AdvancedSettings @{EnableAudit="True"}- 請參閱 Azure 資訊保護 統一標籤客戶端的「配置進階設定」以了解如何設定進階政策設定的詳細資訊。
- 已將函式
GetApplicationScenarioId()新增至FileExecutionState。 - 已移除
ContentFormat列舉。 - 新增了先前透過字串/錯誤代碼在
NetworkError下揭露的一組錯誤之已分類特定錯誤。NoPermissionsError::Category::UserNotFoundNoPermissionsError::Category::AccessDeniedNoPermissionsError::Category::AccessExpiredNoPermissionsError::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_formatcontentMetadataVersionFormat
版本 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_GetExtendedPropertiesMIP_CC_MetadataAction_GetMetadataToAddmip_cc_metadata_callbackmip_cc_document_stateMIP_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
- AccessDeniedError:使用者尚未獲得存取內容的許可權
- 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' 這些參數
- 來自 v1.3 C API 預覽的 C API 正規化變更:
版本 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
- 應用程式可從 SCC 服務取得敏感性類型(例如信用卡號碼、護照號碼等的正則表達式)
新需求
- 在建立 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
- 適用於下列專案的建立:
下一步
- 請參閱 MIP SDK 常見問題 解答。
- 如需如何開始使用 MIP SDK 的資訊,請參閱 MIP SDK 設定和 設定。