Partager via


PublishLicense Classe

Définition

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.

S’applique à

Voir aussi