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

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

[SecurityCriticalAttribute]
public PackageDigitalSignature Sign(
	IEnumerable<Uri> parts,
	X509Certificate certificate,
	IEnumerable<PackageRelationshipSelector> relationshipSelectors,
	string signatureId,
	IEnumerable<DataObject> signatureObjects,
	IEnumerable<Reference> objectReferences
)

Parâmetros

parts
Type: System.Collections.Generic.IEnumerable<Uri>

A lista de URIs (uniform resource identifiers) para o PackagePart objetos para entrar.

certificate
Type: System.Security.Cryptography.X509Certificates.X509Certificate

O certificado x. 509 para usar para assinar digitalmente cada uma das partes especificados e relações.

relationshipSelectors
Type: System.Collections.Generic.IEnumerable<PackageRelationshipSelector>

A lista de PackageRelationship objetos para entrar.

signatureId
Type: System.String

Uma cadeia de caracteres de identificação para associar a assinatura.

signatureObjects
Type: System.Collections.Generic.IEnumerable<DataObject>

Uma lista de objetos de dados personalizados para entrar.

objectReferences
Type: System.Collections.Generic.IEnumerable<Reference>

Uma lista de referências a objetos personalizados para entrar.

Valor Retornado

Type: System.IO.Packaging.PackageDigitalSignature

A assinatura digital usada para assinar os elementos especificados na parts e relationshipSelectors lista.

Exception Condition
ArgumentException

Nem parts, relationshipSelectors, signatureObjects, nem objectReferences especificar todos os elementos para entrar.

InvalidOperationException

Um ContentType de uma parte que está sendo assinadas referências vazia, null, ou indefinido TransformMapping.

XmlException

signatureId não é null e não é válido XML ID de esquema (por exemplo, começa com um dígito numérico à esquerda).

Deve haver pelo menos um elemento entrar parts, relationshipSelectors, signatureObjects, ou objectReferences.

System_CAPS_noteObservação

Os termos de Object, Manifest, Reference, SignatureProperties, e Transform a seguir dois comentários se referem a tipos de elemento e marcas definidas pela especificação de processamento e a sintaxe de assinatura de XML do W3C, consulte http://www.w3.org/TR/xmldsig-core/.

Essa e outras Sign sobrecargas do método usam atual TransformMapping dicionário que defina um Transform Aplicar com base na parte do pacote ContentType. A especificação de Microsoft Open Packaging Conventions (OPC) atualmente permite que somente dois válido Transform algoritmos: C14 e C14N. O padrão de sintaxe de assinatura de XML do W3C e processamento não permite vazio Manifest marcas. Também requer a especificação de Open Packaging Conventions um Package-específico Object marca que contém ambos Manifest e SignatureProperties marcas. Cada Manifest marca adicionalmente também incluir pelo menos um Reference marca. Essas marcas exigem que cada assinatura entre pelo menos um PackagePart (marca de partes não-vazia) ou PackageRelationship (vazio relationshipSelectors) mesmo que a assinatura é necessária somente para assinar signatureObjects ou objectReferences.

Isso Sign método ignora o DigestMethod propriedades associadas a cada Reference definido em objectReferences.

Isso Sign sobrecarga oferece suporte para a geração de XML assinaturas que exigem personalizado Object marcas. Para qualquer fornecido Object marca a ser assinada, uma correspondente Reference deve ser fornecido com uma URI (Uniform Resource Identifier) que especifica o Object marca na sintaxe de fragmento local. Por exemplo se o Object marca tem uma ID de "myObject", o URI no Reference marca seria "#myObject". Para não assinado objetos, não Reference é necessária.

.NET Framework
Disponível desde 3.0
Retornar ao início
Mostrar: