PublishLicense Classe
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Représente une licence de publication signée gérée par des droits.
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
- Héritage
-
PublishLicense
- Attributs
Exemples
L’exemple suivant montre comment initialiser un PublishLicense à l’aide de la Sign méthode .
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
Remarques
PublishLicense définit des données de sécurité sur les droits, les utilisateurs et d’autres informations relatives à la sécurité. La licence définit la façon dont un utilisateur spécifique sur un ordinateur spécifique peut utiliser le contenu géré par les droits spécifiés.
Le processus de publication commence par l’auteur du document, qui définit les informations de droits dans un UnsignedPublishLicense. Ensuite, l’auteur crée un signé PublishLicense en appelant la Sign méthode du UnsignedPublishLicense. La forme sérialisée du signé PublishLicense peut ensuite être fournie aux utilisateurs finaux qui peuvent l’utiliser pour acquérir un UseLicense en appelant la AcquireUseLicense méthode du PublishLicense. Le retourné UseLicense permet ensuite à l’application cliente d’exercer les droits qui ont été accordés à l’utilisateur.
Comme avec les autres System.Security.RightsManagement types, PublishLicense est utilisable uniquement dans les applications de confiance totale.
Constructeurs
PublishLicense(String) |
Initialise une nouvelle instance de la classe PublishLicense à partir d'une PublishLicensesérialisée et signée spécifiée. |
Propriétés
ContentId |
Obtient l'identificateur de contenu créé par éditeur. |
ReferralInfoName |
Obtient le nom de contact pour l'auteur ou l'éditeur du contenu. |
ReferralInfoUri |
Obtient l’URI de contact pour l’auteur ou l’éditeur du contenu. |
UseLicenseAcquisitionUrl |
Obtient l’URI à utiliser pour acquérir une UseLicense. |
Méthodes
AcquireUseLicense(SecureEnvironment) |
Tente d'acquérir une UseLicense pour un utilisateur ou groupe d'utilisateurs dans un SecureEnvironment spécifié. |
AcquireUseLicenseNoUI(SecureEnvironment) |
Tente d'acquérir une UseLicense pour un utilisateur ou groupe d'utilisateurs dans un SecureEnvironment spécifié. |
DecryptUnsignedPublishLicense(CryptoProvider) |
Retourne une version UnsignedPublishLicense déchiffrée de cette PublishLicense signée. |
Equals(Object) |
Détermine si l'objet spécifié est égal à l'objet actuel. (Hérité de Object) |
GetHashCode() |
Fait office de fonction de hachage par défaut. (Hérité de Object) |
GetType() |
Obtient le Type de l'instance actuelle. (Hérité de Object) |
MemberwiseClone() |
Crée une copie superficielle du Object actuel. (Hérité de Object) |
ToString() |
Retourne la chaîne XrML sérialisée qui a été utilisée pour créer cette licence. |