Revue de presse High-Tech du 29 décembre au 4 janvier 2019

Revue de presse High-Tech du 29 décembre au 4 janvier 2019

L'essentiel de l'actu High-Tech de la semaine. Rattrapage High-Tech, Sécurité et Innovations. Un résumé de l'actualité de la semaine pour ne rien manquer.


A lire sur Weekly

L'essentiel de l'actualité High-Tech du 23 juin au 20 juillet

L'essentiel de l'actualité High-Tech du 23 juin au 20 juillet

Pendant les vacances l'essentiel de l'actualité High-Tech continue. Retrouvez l'essentiel de l'actu du 23/06 au 20/07/2018 ! 


A lire sur Weekly

L'essentiel de l'actu High Tech du 7 au 14 juin 2018

L'essentiel de l'actu High Tech du 7 au 14 juin 2018

Le résumé de l'actualité de la semaine High-Tech : faille de sécurité sur de nombreux appareils Android, Facebook est désolé de vous avoir peut-être fait publier des messages "public", Google a ouvert son atelier numérique à Rennes et veut vous former gratuitement, les nouveautés d'iOS 12, nouveau Blackberry en France, C'est officiel : Intel va produire un GPU, fin de partie pour Yahoo Messenger, la Foundation Linux se dit satisfaite du rachat de GitHub par Microsoft, le Vivo Nex un smartphone sans bordure...


A lire sur Weekly

L'essentiel de l'actu high tech du 24 février au 2 mars 2018

L'essentiel de l'actu high tech du 24 février au 2 mars 2018

Le rattrapage de l'actualité High-Tech c'est par ici : réalité augmentée, piratage, droit à l'oubli, l'intelligence artificielle et le machine learning pour tous avec Google, le nouveau Galaxy S9 en précommande, Sony et Samsung duel sur des smartphones avec des optiques photos à double ouverture, le nouveau réseau social Vero, Attac ne sera pas interdit de manifester à proximité des Apple Store, le jeu vidéo se porte vraiment bien, Apple iCloud se passe d'Azure, Google Domains pour acheter des noms de domaines, Snapchat va finalement modifier son interface...


A lire sur Weekly

Nom Simple, Nom Fort.

Par défaut un assembly (ou assemblage en bon français (merci les Quebequois) - mais jamais utilisé en fait) n'a pas de nom fort... On dit que par défaut "un assembly a un nom simple".

Ah super... Mais c'est quoi un nom fort ?
Le Nom Fort ou Strong Name est constitué de l'identité de l'assembly et d'une clé publique (clé publique = signature).
L'identité de l'assembly étant composée elle même du nom simple, du numéro de version, éventuellement des informations de culture, de ce dernier.

Bon ok... Mais ça sert à quoi de signer un assembly avec un nom fort ?
- Signer un assembly avec un nom fort va permettre de garantir la provenance de ce dernier. En effet, puisque le nom fort est constitué d'une clé publique, si votre clé n'est pas diffusée n'importe où, impossible pour quiconque de reproduire le même nom fort :-)
- Un assembly qui n'a pas de nom fort (strong name) et qui est donc un assembly à nom simple, pourra facilement être confondue avec un autre assembly de même nom.
- Un assembly avec nom fort (strong name) ne pourra pas fonctionner s'il a été altéré.
- Egalement, vous allez pouvoir disposer de plusieurs versions d'un même assembly à nom fort et exécuter telle ou telle version dans votre projet. Cela règle le problème de l'"enfer des DLL" assez classique sous Windows.
- Seuls les assembly à nom fort peuvent être soumis au Global Assembly Cache (G.A.C.)

Super... Du coup je veux mettre ça en oeuvre.
Comme nous l'avons dit, vous devez disposer d'une clé publique mais aussi d'une clé privée. On parle en fait d'une paire de clés publique/privée. 
La clé privée sera contenue dans un fichier qui sera donc intégré à la solution. (mais qui ne devra surtout pas être distribué !)
La clé privée sera décryptée à l'aide d'une deuxième clé qui sera elle publique. Au moment de l'exécution de l'assembly, .NET utilisera la clé publique pour décrypter la clé privée et vérifier l'intégrité et les informations de l'assembly. Evidemment la clé publique, elle, est diffusée ! (c'est pour ça qu'elle est publique).

C'est l'utilitaire SN.EXE qui va nous permettre de continuer. Vous devrez l'exécuter en ligne de commande DOS.

Pour créer la paire de clés, exécuter : SN -k [nom du fichier]
C'est à vous de préciser l'extension. Le fichier n'en aura pas si vous n'en spécifiez pas. D'usage, il faut mettre l'extension .SNK qui est reconnue comme l'extension Strong Name Key.
Par exemple : SN -k ClesProjet.snk qui sera donc intégré dans notre solution.

Dans le projet que vous voulez signer, vous devrez éditer AssemblyInfo.cs (ou .vb) et y ajouter :
<Assembly: AssemblyKeyFileAttribute("ClesProjet.snk")>
Si vous utilisez une version RECENTE de Visual Studio, vous pouvez spécifier le fichier de clés en utilisant l'onglet SIGNATURE (ou SIGNING) disponible quand vous aurez affiché la fenêtre PROPRIETES du PROJET.

En résumé :
- un assembly avec un nom fort est un assembly signé par : son nom + sa version + les informations de culture + une clé publique
- les avantages d'avoir des assemblys avec noms forts sont la sécurité, la garantie de la provenance, la possibilité de gérer plusieurs versions d'une même DLL.
- on utilise l'outil SN.EXE pour généré une paire de clés privée/publique qui seront contenues dans un fichier .SNK
- on intègre une référence au fichier contenant la paire de clés en éditant AssemblyInfo.cs (ou .vb) ou en utilisant l'onglet SIGNATURE disponible dans les PROPRIETES du projet.
- les fichiers .SNK peuvent être intégrés à la solution mais ne doivent surtout pas être diffusés.

ATTENTION : un assembly avec nom fort qui référence un assembly avec un nom simple ne respecte plus la chaîne et les garanties ne sont plus là !

A propos de l'auteur

 

Développeur depuis plus de 10 ans, j'ai commencé la programmation dès l'âge de 9 ans sur un PC 8088 !!

GW-Basic, Pascal, Turbo Pascal, Delphi ont fait mes bases... Puis Java , bien plus tard... Pour enfin avoir découvert le C#... Quel plaisir de développer avec ce langage des solutions ASP.NET... Le développement Web comme jamais je ne pouvais l'imaginer possible :)

Aujourd'hui titulaire du MCSD VS 6.0, MCAD .NET, et MCT ...

Sur ce blog, je souhaite partager des choses simples mais efficaces... Des problèmes de tous les jours que l'on peut rencontrer et qu'il est simple de régler :)

Mes certifications

Month List