Question

Je me bats avec le scénario suivant:

  1. un message XML est créé côté client et signé numériquement en utilisant window.crypto.signText de mozilla. Après la signature, le message et la signature sont transmises via un webservice (.net) au serveur. Tout va bien jusqu'à ce point.

  2. sur le serveur, le fichier XML doit être inclus dans un autre document XML, qui est accessible au public. La signature devrait être publiée et afin d'accorder la non-répudiation.

Q: Y at-il une option lisse pour convertir le détaché PKCS # 7 en XML-DSIG (par exemple la fonctionnalité dans le cadre de .net)?

Q2: Ou est-il possible de créer le XML DSIG déjà côté client sans utiliser des plugins externes

Tnx pour votre aide!

Alois Paulin

Était-ce utile?

La solution

En raison de la nature des deux formats XML de signature numérique et PKCS # 7, il est impossible de convertir l'un à l'autre.

Dans une explication très simplifiée, la signature format PKCS # 7 contient, entre autres choses, une structure de données spécifique DigestInfo qui contient les données digérer et un OID (identificateur d'objet), et a été encrypté avec la clé privée de l'utilisateur. format de XML-DSig applique l'étape finale de l'algorithme cryptographique (encore une fois avec le clé privée de l'utilisateur) à une valeur de données différente calculée à partir de la digestion des données XML d'origine et certaines structures de données XML DSig spécifiques. Par conséquent, étant donné que les deux valeurs encryptées ne seront pas les mêmes, il est possible de générer la signature XML-DSig en signant les données avec une clé privée de l'utilisateur, que vous ne pourrez pas accéder à (ainsi le nom privé).

De cette explication, la réponse à votre première question est « Non, il n'y a pas d'option lisse, il est impossible du tout » .

Par conséquent, la seule option est de générer directement le XML-DSig du côté client. Ce n'est pas possible avec Javascript standard, certainement pas avec window.crypto de Firefox (qui ne génère que des signatures PKCS7 détachés). Lors de mon entreprise ( www.isigma.es ), nous résolvons que l'aide d'un applet, il est une solution commune dans l'industrie de la signature numérique (il y a beaucoup commerciales et aussi des solutions open source). Cela ne peut pas être une option dans votre cas, si vous ne voulez pas les plugins du navigateur.

CAPICOM (les composants basés sur Windows actif / X que vous pouvez utiliser dans une configuration Microsoft) ne génère pas aussi XML DSig, seul CMS / PKCS7.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top