Este artigo foi traduzido por máquina. Para visualizar o arquivo em inglês, marque a caixa de seleção Inglês. Você também pode exibir o texto Em inglês em uma janela pop-up, movendo o ponteiro do mouse sobre o texto.
Tradução
Inglês

Método PackageDigitalSignatureManager.Sign

 

Assina uma lista de partes do pacote com um certificado x. 509 especificado.

Namespace:   System.IO.Packaging
Assembly:  WindowsBase (em WindowsBase.dll)

NomeDescrição
System_CAPS_pubmethodSign(IEnumerable<Uri>)

Solicita ao usuário um certificado x. 509, que é usado para assinar digitalmente uma lista especificada de partes do pacote.

System_CAPS_pubmethodSign(IEnumerable<Uri>, X509Certificate)

Assina uma lista de partes do pacote com um determinado certificado x. 509.

System_CAPS_pubmethodSign(IEnumerable<Uri>, X509Certificate, IEnumerable<PackageRelationshipSelector>)

Assina uma lista de partes do pacote e os relacionamentos de pacote com um determinado certificado x. 509.

System_CAPS_pubmethodSign(IEnumerable<Uri>, X509Certificate, IEnumerable<PackageRelationshipSelector>, String)

Assina uma lista de partes do pacote e os relacionamentos de pacote com um determinado certificado x. 509 e ID (identificador).

System_CAPS_pubmethodSign(IEnumerable<Uri>, X509Certificate, IEnumerable<PackageRelationshipSelector>, String, IEnumerable<DataObject>, IEnumerable<Reference>)

Assina uma lista de objetos personalizados com um certificado x. 509 especificado e a assinatura, relações de pacotes ou partes do pacote ID (identificador).

O exemplo a seguir mostra as etapas para assinar digitalmente uma lista de partes em um Package. Para o exemplo completo, consulte Creating a Package with a Digital Signature Sample.

private static void SignAllParts(Package package)
{
    if (package == null)
        throw new ArgumentNullException("SignAllParts(package)");

    // Create the DigitalSignature Manager
    PackageDigitalSignatureManager dsm =
        new PackageDigitalSignatureManager(package);
    dsm.CertificateOption =
        CertificateEmbeddingOption.InSignaturePart;

    // Create a list of all the part URIs in the package to sign
    // (GetParts() also includes PackageRelationship parts).
    System.Collections.Generic.List<Uri> toSign =
        new System.Collections.Generic.List<Uri>();
    foreach (PackagePart packagePart in package.GetParts())
    {
        // Add all package parts to the list for signing.
        toSign.Add(packagePart.Uri);
    }

    // Add the URI for SignatureOrigin PackageRelationship part.
    // The SignatureOrigin relationship is created when Sign() is called.
    // Signing the SignatureOrigin relationship disables counter-signatures.
    toSign.Add(PackUriHelper.GetRelationshipPartUri(dsm.SignatureOrigin));

    // Also sign the SignatureOrigin part.
    toSign.Add(dsm.SignatureOrigin);

    // Add the package relationship to the signature origin to be signed.
    toSign.Add(PackUriHelper.GetRelationshipPartUri(new Uri("/", UriKind.RelativeOrAbsolute)));

    // Sign() will prompt the user to select a Certificate to sign with.
    try
    {
        dsm.Sign(toSign);
    }

    // If there are no certificates or the SmartCard manager is
    // not running, catch the exception and show an error message.
    catch (CryptographicException ex)
    {
        MessageBox.Show(
            "Cannot Sign\n" + ex.Message,
            "No Digital Certificates Available",
            MessageBoxButton.OK,
            MessageBoxImage.Exclamation);
    }

}// end:SignAllParts()

Retornar ao início
Mostrar: