Création et Mise en Place d`ActiveX pour UltraVNC SC

Transcription

Création et Mise en Place d`ActiveX pour UltraVNC SC
Création et Mise en Place d’ActiveX
pour UltraVNC SC
Présentation
Un ActiveX est un composant logiciel additionnel compilé en module et qui porte
généralement l'extension .ocx . Il permet donc en fait d'ajouter les fonctionnalités d'un
programme dans un autre, sans pour autant que le programme hôte soit obligé de disposer des
sources de l'ActiveX au moment de sa compilation. Cette technologie est la réplique de
Microsoft au langage Java et de son système de plug-in. C'est une technologie propriétaire des
systèmes Microsoft. Ainsi les ActiveX sont pilotés en général par le langage VBScript ou
Jscript et sont exploitables par les navigateurs Internet Explorer. Chaque ActiveX dispose
d'un module, d'un nom, d'un identifiant unique (uuid ou clsid), et d'un numéro de version qui
lui sont propres.
L’intérêt d’un Contrôle ActiveX (lorsqu’il est couplé à un certificat de sécurité valide) réside
dans la possibilité d’exécuter directement un programme à partir d’une page HTML sans
avoir besoin de solliciter l’utilisateur.
Dans le cadre de la mise en place d’un module UltraVNC SC accessible via un Intranet ou
Internet, (170 Ko), l’utilisation d’un contrôle ActiveX prend tout son sens.
Réalisation
La réalisation de notre contrôle ActiveX se fait en 3 temps : la préparation, la création et la
mise en production.
1. Préparation
Au cours de la phase préparatoire, nous allons commencer par rassembler tout ce dont nous
allons avoir besoin pour la réalisation de notre contrôle ActiveX ainsi que pour la création du
certificat de sécurité.
Il nous faut : AutoLoad Web Builder Lite 1.0, CodeSigningx86.exe, ainsi qu’un certificat de
sécurité et, bien sûr, un fichier à exécuter.
AutoLoad Web Builder Lite 1.0 est une application permettant de générer notre contrôle
ActiveX à partir d’un fichier exécutable ainsi que la page web permettant de le charger. A
noter qu’il inclus également l’utilitaire de Microsoft signcode.exe destiné à appliquer le
certificat de sécurité sur le fichier CAB généré ; le pack CodeSigningx86.exe est donc
optionnel.
Guide réalisé par Sparad0x pour www.ultravnc.fr
CodeSigningx86.exe est un package d’utilitaires Microsoft permettant de gérer et d’appliquer
des certificats ; comme indiqué précédemment, signcode.exe étant inclus dans AutoLoad Web
Builder, ce package est optionnel.
Pour la génération du certificat, nous avons sollicité les services de Ascertia qui propose de
générer gratuitement des certificats de sécurité (cf procédure ci-dessous). Bien sûr, si nous
avions pu employer un certificat Verisign, cela aurait été plus simple à mettre en place, mais à
500$ /an pour un certificat, ça fait cher l’application.
2. Création
2.1. Le Certificat
Pour créer le certificat, il faut donc se rendre sur le site de Ascertia (en utilisant
impérativement Internet Explorer 5.5 +) et choisir de générer un Certificat Gratuit (Free
Certificates).
Il faut commencer par se créer un compte.
Puis dans le type de Certificat, choisir Code Signing Certificate, et cliquer sur "Submit".
Une demande d'acceptation pour la clé RSA apparait; il faut l'accepter.
Ensuite, dans la fenêtre qui s'ouvre, faites un copier-coller du texte du certificat vers un fichier
texte que vous renommerez ensuite certificat_SC.p7b.
Puis faites un clic-droit sur le fichier certificat_SC.p7b fraichement créé, et choisissez
d'installer le certificat.
2.2. Le Contrôle ActiveX
Il faut tout d'abord installer AutoLoad Web Builder, puis l'exécuter.
Après une première page d'accord de licence, il vous est demandé de sélectionner le fichier
exécutable qui devra être lancé.
Une fois que c'est fait, AutoLoad Web Builder vous annonce que tous les fichiers ont été
générés dans un dossier nommé AWB créé sur le Bureau.
Notre contrôle ActiveX étant maintenant créé, nous allons pouvoir lui appliquer le certificat
qui a été généré un peu plus tôt.
Guide réalisé par Sparad0x pour www.ultravnc.fr
2.3. Application du Certificat
Pour appliquer le certificat au fichier CAB généré par AutoLoad Web Builder, nous allons
nous servir de signcode.exe, un petit utilitaire fourni par Microsoft et conçu pour ça.
Il est soit disponible dans le répertoire d'installation de AutoLoad Web Builder, soi dans le
package CodeSigningx86.
Lorsqu'on exécute signcode.exe, il commence par nous demander quel est le fichier à signer.
Nous lui indiquons donc le fichier remote.cab généré par AutoLoad Web Builder (en pensant
bien à sélectionner Fichiers CAB (*.cab) comme type de fichiers). Puis nous laissons les
Options de signature sur le choix Par défaut. Ensuite, dans le choix du Certificat de signature,
il nous faut cliquer sur A partir du magasin…, et sélectionner le certificat que nous avons
installé un peu plus tôt. Enfin, dans Description des données, nous mettons toutes les
informations nécessaires.
Il ne reste plus qu'à cliquer sur suivant, puis sur Terminer, et à répondre OK lorsque la fenêtre
signalant qu'une application demande l'accès à un élément protégé apparaît.
Notre fichier CAB est maintenant signé numériquement.
3. Mise en Production
Pour la mise en production du contrôle ActiveX, il y a plusieurs choses à faire.
Tout d'abord, il faut mettre les fichiers
en ligne.
Les fichiers htmllogo.jpg, progress.gif
et install.htm peuvent être
personnalisés à vos couleurs.
Le fichier remote.cab correspond au
fichier qui sera exécuté par le Contrôle
ActiveX.
Enfin, le fichier remote.exe correspond
au choix d'exécution manuel laissé à l'utilisateur au cas où le contrôle ActiveX ne
fonctionnerait pas (Contrôles ActiveX désactivé, navigateur non-compatible, etc.).
Ensuite, pour que l'ActiveX fonctionne (et c'est quand même là le but de l'opération), il faut
diffuser le certificat de sécurité à l'ensemble des utilisateurs. Pour cela, sur un domaine, le
plus simple est probablement d'utiliser une GPO (à noter qu'avec un certificat déjà inclus dans
IE - Verisign, Thawte, etc. - cette phase de diffusion n'est pas nécessaire), ou d'effectuer
l'installation du certificat à l'aide d'un Script VB inclus dans une page HTML (cf. Annexe).
Conclusion
L'intérêt du contrôle ActiveX est donc la simplicité et la transparence d'utilisation pour
l'utilisateur final. Il permet d'exécuter une application directement à partir d'une page web,
sans nécessiter de téléchargement ni d'installation.
Guide réalisé par Sparad0x pour www.ultravnc.fr
Annexe
Voici comment procéder pour installer un certificat à l'aide d'Internet Explorer et du contrôle
ActiveX CEnroll. Ca permet d'éviter l'apparition de l'assistant d'installation de Certificat
Microsoft et les nombreuses demandes complexes faites à l'utilisateur. Il faut toutefois que les
scripts soient autorisés.
Il faut disposer du texte du certificat (cf 2.1 Le Certificat), ainsi que d'un éditeur HTML (ou, à
défaut, du WordPad).
On crée une page HTML avec le contenu suivant:
<html>
<head>
<title>Installation du Certificat UltraVNC SC
r&eacute;alis&eacute;e par Sparad0x</title>
</head>
<body language="VBScript" onload="InstallCert">
<script language="VBSCRIPT">
Sub InstallCert
credentials = "MIIJqwYJKoZIhvcNAQcCoIIJnDCCCZgCAQExADALBgkqhkiG9w0BBwGgggmAMIIC7TCCAdWg" & _
"AwIBAgIBDTANBgkqhkiG9w0BAQUFADA7MQswCQYDVQQGEwJHQjERMA8GA1UEChMIQXNjZXJ0" & _
"aWExGTAXBgNVBAMTEEFzY2VydGlhIFJvb3QgQ0EwHhcNMDMwMzEwMDc1NjA3WhcNMTIwNzMw" & _
"FcVbDiqKhcg/zCVVR+W1wL3F74n649pAq268kS3e6gDMevGzxf0S5hPOY9MtE6wxAA=="
On Error Resume Next
Dim Enroll
Set Enroll = CreateObject("CEnroll.CEnroll.2")
if ( (Err.Number = 438) OR (Err.Number = 429) ) Then
Err.Clear
Set Enroll = CreateObject("CEnroll.CEnroll.1")
End If
if Err.Number <> 0 then
document.write("<h2 align=center>Impossible de démarrer l'instance de contrôle CEnroll: " &
Hex(err) )
Else
Call Enroll.InstallPKCS7(credentials)
If err.Number <> 0 then
document.write("<h2 align=center>Problèmes détectés pendant le téléchargement du Certificat
UltraVNC SC" & " error: " & Hex(err) )
Else
document.write("<h3 align=center>Le Certificat UltraVNC SC a été installé
correctement</h3><p><a href=install.htm>Démarrer l'installation</a>")
End if
End If
End sub
</script>
<br clear="all">
<p>
<!-- Installation d'un certificat à l'aide de Internet Explorer et du controle ActiveX CEnroll
ActiveX. Ca permet d'éviter l'apparition de l'assistant d'installation de Certificat Microsoft
et les nombreuses demandes complexes faites à l'utilisateur. --><!-- Sources:
http://pkidev.internet2.edu/rootcerts/ --></p>
</body>
</html>
Les points importants:
- credentials : c'est là qu'on met le contenu du certificat; les lignes doivent avoir ce
nombre de caractères, commencer par ", et terminer par " & _
- <a href=install.htm>Démarrer l'installation</a> : page vers laquelle l'utilisateur
sera invité à poursuivre après l'installation du certificat
- L'utilisateur doit répondre Oui à la demande d'installation
Guide réalisé par Sparad0x pour www.ultravnc.fr

Documents pareils

Tutorial UltraVNC 1.0.2 (ed2)

Tutorial UltraVNC 1.0.2 (ed2)  On peut connaitre son adresse IP internet en se connectant sur des sites tel que http://www.adresseip.com/ (pour ne citer que lui…) On doit donc faire parvenir son adresse IP à la personne qui so...

Plus en détail