PublishLicense Класс
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Представляет лицензию на управляемую публикацию подписанных прав.
public ref class PublishLicense
[System.Security.SecurityCritical(System.Security.SecurityCriticalScope.Everything)]
public class PublishLicense
public class PublishLicense
[<System.Security.SecurityCritical(System.Security.SecurityCriticalScope.Everything)>]
type PublishLicense = class
type PublishLicense = class
Public Class PublishLicense
- Наследование
-
PublishLicense
- Атрибуты
Примеры
В следующем примере показано, как инициализировать объект PublishLicense с помощью Sign метода.
WriteStatus(" Signing the UnsignedPublishLicense\n" +
" to build the PublishLicense.");
UseLicense authorsUseLicense;
PublishLicense publishLicense =
unsignedLicense.Sign(_secureEnv, out authorsUseLicense);
WriteStatus(" Binding the author's UseLicense and");
WriteStatus(" obtaining the CryptoProvider.");
CryptoProvider cryptoProvider = authorsUseLicense.Bind(_secureEnv);
WriteStatus(" Creating the EncryptedPackage.");
Stream packageStream = File.OpenRead(packageFile);
EncryptedPackageEnvelope ePackage =
EncryptedPackageEnvelope.CreateFromPackage(encryptedFile,
packageStream, publishLicense, cryptoProvider);
WriteStatus(" Adding an author's UseLicense.");
RightsManagementInformation rmi =
ePackage.RightsManagementInformation;
rmi.SaveUseLicense(author, authorsUseLicense);
ePackage.Close();
WriteStatus(" Done - Package encryption complete.");
WriteStatus("Verifying package encryption.");
if (EncryptedPackageEnvelope.IsEncryptedPackageEnvelope(encryptedFile))
{
WriteStatus(" Confirmed - '" + encryptedFilename +
"' is encrypted.");
}
else
{
MessageBox.Show("ERROR: '" + encryptedFilename +
"' is NOT ENCRYPTED.", "Encryption Error",
MessageBoxButton.OK, MessageBoxImage.Error);
WriteStatus("ERROR: '" + encryptedFilename +
"' is NOT ENCRYPTED.\n");
return false;
}
WriteStatus(" Signing the UnsignedPublishLicense" & vbLf & " to build the PublishLicense.")
Dim authorsUseLicense As UseLicense = Nothing
Dim publishLicense As PublishLicense = unsignedLicense.Sign(_secureEnv, authorsUseLicense)
WriteStatus(" Binding the author's UseLicense and")
WriteStatus(" obtaining the CryptoProvider.")
Dim cryptoProvider As CryptoProvider = authorsUseLicense.Bind(_secureEnv)
WriteStatus(" Creating the EncryptedPackage.")
Dim packageStream As Stream = File.OpenRead(packageFile)
Dim ePackage As EncryptedPackageEnvelope = EncryptedPackageEnvelope.CreateFromPackage(encryptedFile, packageStream, publishLicense, cryptoProvider)
WriteStatus(" Adding an author's UseLicense.")
Dim rmi As RightsManagementInformation = ePackage.RightsManagementInformation
rmi.SaveUseLicense(author, authorsUseLicense)
ePackage.Close()
WriteStatus(" Done - Package encryption complete.")
WriteStatus("Verifying package encryption.")
If EncryptedPackageEnvelope.IsEncryptedPackageEnvelope(encryptedFile) Then
WriteStatus(" Confirmed - '" & encryptedFilename & "' is encrypted.")
Else
MessageBox.Show("ERROR: '" & encryptedFilename & "' is NOT ENCRYPTED.", "Encryption Error", MessageBoxButton.OK, MessageBoxImage.Error)
WriteStatus("ERROR: '" & encryptedFilename & "' is NOT ENCRYPTED." & vbLf)
Return False
End If
Комментарии
PublishLicense определяет данные безопасности о правах, пользователях и других сведениях, связанных с безопасностью. Лицензия определяет, как конкретный пользователь на определенном компьютере может использовать указанное управляемое содержимое прав.
Процесс публикации начинается с автора документа, который определяет сведения о правах в объекте UnsignedPublishLicense. Затем автор создает подписанный путем PublishLicense вызова Sign метода UnsignedPublishLicense. Затем сериализованную форму подписанного PublishLicense можно предоставить конечным пользователям, которые могут использовать его для получения UseLicense путем вызова AcquireUseLicense метода PublishLicense. После этого возвращенное UseLicense приложение позволяет клиентскому приложению осуществлять права, предоставленные пользователю.
Как и в других System.Security.RightsManagement типах, PublishLicense можно использовать только в приложениях с полным доверием.
Конструкторы
| Имя | Описание |
|---|---|
| PublishLicense(String) |
Инициализирует новый экземпляр класса из указанной сериализованной PublishLicense и подписанной PublishLicense. |
Свойства
| Имя | Описание |
|---|---|
| ContentId |
Возвращает идентификатор содержимого, созданного издателем. |
| ReferralInfoName |
Возвращает имя контакта для автора или издателя содержимого. |
| ReferralInfoUri |
Возвращает URI контакта для автора или издателя содержимого. |
| UseLicenseAcquisitionUrl |
Получает универсальный код ресурса (URI), используемый для получения UseLicense. |
Методы
| Имя | Описание |
|---|---|
| AcquireUseLicense(SecureEnvironment) |
Пытается получить UseLicense группу пользователей или пользователей в указанном объекте SecureEnvironment. |
| AcquireUseLicenseNoUI(SecureEnvironment) |
Пытается получить UseLicense группу пользователей или пользователей в указанном объекте SecureEnvironment. |
| DecryptUnsignedPublishLicense(CryptoProvider) |
Возвращает расшифрованную UnsignedPublishLicense версию этой подписи PublishLicense. |
| Equals(Object) |
Определяет, равен ли указанный объект текущему объекту. (Унаследовано от Object) |
| GetHashCode() |
Служит хэш-функцией по умолчанию. (Унаследовано от Object) |
| GetType() |
Возвращает Type текущего экземпляра. (Унаследовано от Object) |
| MemberwiseClone() |
Создает неглубокую копию текущей Object. (Унаследовано от Object) |
| ToString() |
Возвращает сериализованную строку XrML, используемую для создания этой лицензии. |