Exportar (0) Imprimir
Expandir Tudo
Este artigo foi traduzido por máquina. Coloque o ponteiro do mouse sobre as frases do artigo para ver o texto original. Mais informações.
Tradução
Original

Método PackageDigitalSignatureManager.Sign

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

Esse membro está sobrecarregado. Para informação completa sobre esse membro, incluindo sintaxe, uso e exemplos, clique em um nome na lista de sobrecargas.

  Nome Descrição
Método público Sign(IEnumerable<Uri>) Solicita ao usuário um certificado x. 509, que é usado para assinar digitalmente uma lista especificada de partes de um pacote.
Método público Sign(IEnumerable<Uri>, X509Certificate) Assina uma lista de partes de um pacote com um determinado certificado x. 509.
Método público Sign(IEnumerable<Uri>, X509Certificate, IEnumerable<PackageRelationshipSelector>) Assina uma lista de partes de um pacote e os relacionamentos de pacote com um determinado certificado x. 509.
Método público Sign(IEnumerable<Uri>, X509Certificate, IEnumerable<PackageRelationshipSelector>, String) Assina uma lista de partes de um pacote e os relacionamentos de pacote com um determinado certificado x. 509 e identificador (ID).
Método público Sign(IEnumerable<Uri>, X509Certificate, IEnumerable<PackageRelationshipSelector>, String, IEnumerable<DataObject>, IEnumerable<Reference>) Assina uma lista de partes de um pacote, relações de pacotes ou objetos personalizados com um especificado certificado x. 509 e assinatura identificador (ID).
Superior

O exemplo a seguir mostra as etapas para assinar digitalmente uma lista das partes dentro de um Package. Para obter o exemplo completo, consulte Criando um pacote com uma amostra de Assinatura Digital.


        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()



Contribuições da comunidade

ADICIONAR
Mostrar:
© 2014 Microsoft