Une signature logicielle permet d'identifier les logiciels installés sur les agents enregistrés dans le serveur CA IT Client Automation. Une signature est un modèle XML qui inclut des informations système générales, du contenu de fichier, des propriétés et du contenu de registre (sur Windows) ou des informations de package (sur UNIX) du logiciel installé.
Cette annexe présente les informations conceptuelles suivantes sur les balises XML de signature, les attributs clés et les exemples de signatures :
Une signature logicielle utilise les balises XML suivantes pour collecter des données de signature au format XML :
Permet d'analyser la clé ou les valeurs du registre Windows. Par exemple :
<group type=”and”> <registry name="HKEY_LOCAL_MACHINE\SOFTWARE\ComputerAssociates\eTrustAntivirus\CurrentVersion\Version" match=” 7.1” /> <registry name="HKEY_LOCAL_MACHINE\SOFTWARE\ComputerAssociates\eTrustAntivirus\CurrentVersion\Build" match=”501” /> </group>
Permet d'analyser le nom de fichier, la version, la taille, la date de modification, le chemin d'accès et le contenu du fichier.
Vérifie la présence d'un fichier à l'aide de valeurs, telles que %systemroot% et %windir% sur Windows. Le caractère générique * effectue les recherches dans le système de fichiers complet. Par exemple :
Vérifie le système de fichiers complet.
Vérifie le fichier acrord32.exe dans le lecteur de chemin d'accès partiel :
Vérifie le chemin d'accès prenant la valeur absolue.
Analyse le contenu du fichier. Si le fichier contient les mêmes données que celles définies dans les critères de correspondance, la valeur true est renvoyée. Exemple : <file name="Ouactrl.ocx" match="2\.0\.0\.0" path="*" />
Vérifient les informations de version de fichier uniquement sur Windows. Sur UNIX, la valeur renvoyée est toujours false.
Si le numéro de version de fichier est supérieur ou égal à la valeur spécifiée, l'attribut minversion renvoie la valeur true.
Si le numéro de version de fichier est inférieur ou égal à la valeur spécifiée, l'attribut maxversion renvoie la valeur true.
Remarque : Le numéro de version observe le format W.X.Y.Z, où W, X, Y et Z sont des valeurs numérique de 16 bits. L'utilisation conjointe des attributs minversion et maxversion offre une grande flexibilité lors de la recherche de plages de version. Par exemple :
<file name="QuickTimePlayer.exe" minversion="5.0.2.15" maxversion="5.0.2.15" path="*"/>
<file name="InoRT.exe" minversion=" 7.1.192.0" maxversion=" 7.1.500.0" path="*" />
Permettent de vérifier la date de modification du fichier. Exemple : <file name="ErwDSM.exe" minmodified="2004-10-28T00:00:00Z" maxmodified="2004-10-28T 23:59:59Z" path="*"/>
Permettent de spécifier la taille du fichier. Exemple : <file name="BPSyncER.exe" minfilesize="151603" maxfilesize="151603" path="*"/>
Permet d'analyser les informations du système d'exploitation suivantes :
Pour UNIX, le nom provient de la sortie de la commande uname -s.
Pour les versions de Windows, la valeur de l'attribut osname est toujours Windows.
Exemple : <sysinfo osname=”HP-UX”/>
Pour UNIX, les informations correspondent à celles de la sortie de la commande uname -v.
Pour Windows, ces informations correspondent à celles de la chaîne de Service Pack fournie par Microsoft. Par exemple, Service Pack 3.
Exemple : <sysinfo osversion=”.*Version 6\.3.*”/>
Pour UNIX, ces informations correspondent à la sortie de la commande uname -r
Pour Windows, ces informations sont NT 4.0, 2000 ou XP.
Exemple : <sysinfo osrelease=”2\.4\.*/>
Pour UNIX, les informations correspondent à celles de la sortie de la commande uname -m.
Pour Windows, la chaîne correspond toujours à x86.
Exemple : <sysinfo platform=”sun4.*”/>
Pour Solaris, les informations correspondent à celles de la sortie de la commande uname -p.
Pour HP-UX, le processeur est identifié comme pa-riscX.Y (ou inconnu), où X. Y représente l'une des valeurs suivantes : 1.0, 1.1, 1.2 ou 2.0.
Pour Windows, la chaîne de correspondance est également inconnue.
Pour AIX, le processeur est identifié par l'une des valeurs suivantes : RS1, RSC, RS2, 601, 603, 604, 620, 630, A35, RS64II, RS64III, POWER4, mpc7450, POWER5 ou valeur inconnue.
Pour Linux, le processeur est toujours identifié comme étant inconnu.
Exemple : <sysinfo processor=”sparc”/>
Permet d'interroger les informations de package à partir de la base de données de programme installé.
Ces informations sont disponibles dans la section de registre de désinstallation suivante :
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall
Remarque : Le nom d'affichage est la valeur du nom dans la balise package et la version d'affichage est la valeur de la version dans la balise package.
Ces informations sont disponibles dans la base de données RPM.
Ces informations sont disponibles dans la base de données de package système.
Ces informations sont disponibles dans la base de données de package système.
La commande lslpp -l répertorie les packages installés sur l'ordinateur.
Ces informations sont disponibles dans la base de données de package système.
La commande pkginfo -l répertorie les packages installés sur l'ordinateur. Par exemple :
<package name="ca-unicenter-servicedesk"/> <package name="ca-unicenter-servicedesk" version="11.2.0.0"/>
Lorsque la version et la version finale sont spécifiées, elles doivent correspondre.
Les attributs clés suivants permettent de collecter les données de signature du logiciel installé.
Vous pouvez collecter des données de registre à partir d'une des ruches de registre, mais HKLM\Software est utilisé dans la plupart des cas. Par exemple :
Remarque : Les entrées de l'option Ajout/Suppression de programmes sont situées dans l'un des emplacements de registre suivants :
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\VLC media player
La signature du logiciel VLC Media Player 2.1.3 contient l'identificateur de registre au format :
Les attributs suivants identifient de façon univoque les fichiers de logiciel omis par l'installation :
Valeur provenant de la fenêtre de propriétés du fichier .exe. Par exemple :
<file name="igateway.exe" path ="*" minversion="4.0.60220.0" maxversion="4.0.60220.0"/>

Valeur affichée sous Modifié dans la fenêtre de propriétés du fichier .exe.
Valeur provenant de la fenêtre de propriétés du fichier .exe. Par exemple :
<file name="igateway.exe" path ="*" minfilesize="98304" maxfilesize="98304" minmodified="2006-02-20T00:00:00Z" maxmodified="2006-02-20T23:59:59Z"/>

Ce champ contient les informations sur la version que peut lire l'analyseur. L'analyseur lit le contenu du fichier à la recherche des données spécifiées dans les critères de correspondance. Exemple : <file name="igateway.conf" path="*" match="4.0.060220" />

Remarque : Créer des signatures à l'aide de fichiers de configuration est plus utile pour la création de signatures UNIX, lorsque vous ne disposez pas de la version de fichier et du registre.
La clé HKLM\SOFTWARE\Wow6432Node est utilisée par les applications 32 bits sur un système d'exploitation Windows 64 bits. Bien que différente, elle est équivalente à HKLM\SOFTWARE. En général, les fichiers binaires 64 bits s'enregistrent sous la clé HKLM\SOFTWARE, tandis que les fichiers binaires 32 bits enregistrent leurs informations sous HKLM\SOFTWARE\Wow6432Node. De même, les applications 32 bits considèrent %SystemRoot%\Syswow64 comme %SystemRoot%\System32. Il y a deux répertoires de fichiers de programme, disponibles pour les applications 32 et 64 bits. Pour permettre de les distinguer, le répertoire qui stocke les fichiers 32 bits est appelé Program Files (x86), tandis que celui de 64 bits conserve le nom Program Files habituel, sans autre précision.
Important : Par défaut, si la balise arch="64" n'est pas spécifiée, l'agent CA Client Automation traite le chemin d'accès au registre/fichier comme un fichier 32 bits. La balise arch="64" s'applique uniquement aux balises registry name et file name. Veillez donc à utiliser les clés de registre appropriées en fonction de l'architecture de l'application.
Exemple : <registry name="HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Runtime Environment\1.6.0" arch="64" /> Or <file name="bin\java.exe" match="1.6.0-b105" path="*" arch="64" />
Permet de grouper plusieurs valeurs de clé de registre et des attributs de fichier. Vous pouvez grouper plusieurs éléments de données par balise pour confirmer la présence du logiciel installé requis, à l'aide des conditions logiques suivantes et de la balise group :
Permet d'évaluer tous les éléments et les groupes sous le groupe ET sur True.
Exemple :
<group type=”and”>
<registry name="HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\Mozilla Firefox (2.0.0.3)"/>
<file name="firefox.exe" minversion="1.8.20070.30919" maxversion="1.8.20070.30919" path="*"/>
</group>
Permet d'évaluer un ou plusieurs éléments ou groupes sous le groupe OU sur True.
Exemple :
<group type="or">
<group type="and">
<file name="sw3eng.exe" path="*" minversion="3.0.1.73"/>
<file name="EngineApplet.exe" path="*" minversion="3.0.1.73"/>
</group>
<group type="and">
<file name="LGClient.exe" path="*" minversion="3.0.1.73"/>
<file name="LGWorkspace.exe" path="*" minversion="3.01.73"/>
</group>
</group>
Evalue le groupe sur False si l'élément ou le groupe au-dessous renvoie la valeur True.
Exemple :
<group type="and" >
<sysinfo osname="AIX" />
<file name="LDS-em-client.jar" minfilesize="183308" maxfilesize="183308" path="*" />
<group type="not" >
<file name="LDS-descriptions.jar" path="*" />
</group>
</group>
Pour créer des signatures personnalisées, reportez-vous aux exemples de signatures suivants.
Lecture de la version de fichier :
<file name="ABTRep\BIN\assgnwiz.exe" path="*" minversion="1.0" maxversion="1.0" />
Lecture des informations à l'aide de la balise package name :
<package name = "IBM 32-bit Runtime Environment for Java 2, v1.4.1" />
Recherche de la clé de registre :
<registry name="HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\InCtrl5" />
Signature dans un groupe avec une condition ET utilisant les balises file name et package name :
<group type="and"> <package name = "Toad for Oracle 10.6" /> <file name="TOAD.exe" minversion="10.6" maxversion="10.6" path="*" /> </group>
Signature avec un groupe ET utilisant les balises package name et sysinfo osname :
<group type="and"> <sysinfo osname="AIX" /> <package name="ldap.client.adt" version="4.1.0.0" /> </group>
Signature utilisant la balise file name avec des attributs de date de fichier
<file name="ABTRep\BIN\Pbm.exe" minmodified="1998-10-11T00:00:00Z" maxmodified="1998-10-13T23:59:59Z" path="*" />
Signature avec un groupe ET utilisant les balises package name et registry name :
<group type="and"> <package name="FedEx Ship Manager API" /> <registry name="HKEY_LOCAL_MACHINE\SOFTWARE\FedEx\FedEx Ship Manager API\8.50.002" /> </group>
Signature avec un groupe ET utilisant les balises registry name, file name (pour la lecture des versions de fichier) et package name :
<group type="and"> <package name="PrimalScript 2011" version="6.0.*" /> <registry name="HKEY_LOCAL_MACHINE\SOFTWARE\SAPIEN Technologies, Inc.\PrimalScript\2011\" /> <file name="PrimalScript 2011\PrimalScript.exe" path="*" minversion="6.0" maxversion="6.0" /> </group>
Signature avec un groupe ET utilisant les balises registry name, file name (pour la vérification de l'existence du fichier) et package name :
<group type="and"> <package name="X1 Professional Client" version="6.7" /> <registry name="HKEY_LOCAL_MACHINE\SOFTWARE\X1 Desktop Search" /> <file name="X1.exe" path="*" /> </group>
Signature avec un groupe ET utilisant les balises sysinfo osname, file name (pour la vérification de l'existence du fichier) et package name :
<group type="and"> <sysinfo osname="Linux" /> <package name = "iproute" version="2.6.9" release="4.el4" /> <file name="/etc/redhat-release"/> </group>
Signature avec des groupes imbriqués (une condition OU et SAUF dans une condition ET) utilisant les balises package name (avec des caractères génériques), registry name et file name (pour la lecture des versions du fichier, la vérification de l'existence du fichier ou la lecture du contenu du fichier) :
<group type="and"> <group type="or"> <package name = "Lotus Notes 8.5.1" version="8.51.*" /> <registry name="HKEY_LOCAL_MACHINE\SOFTWARE\Lotus\Notes\Version" match="080501" /> </group> <file name="notes.exe" minversion="8.5.10" maxversion="8.5.10" path="*" /> <group type="not"> <file name="notes.ini" match="FaultRecovery_Build=Release 8.5.1 FP1" path="*" /> </group> </group>
Signature avec un groupe ET utilisant les balises registry name et file name (pour la vérification de l'existence du fichier par spécification partielle du chemin d'accès ou la lecture de contenu du fichier) :
<group type="and"> <registry name = "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\IBM Lotus Workforce Management" /> <file name="Web-App_6.1.0\Packages\lwm.builders.base.pkg" path="*" /> <file name=".com.zerog.registry.xml" path="*" match="Web-App_6.1.0\\Packages\\lwm.builders.checklist.pkg" /> </group>
Signature avec un groupe ET utilisant les balises sysinfo platform et file name avec des attributs de taille de fichier :
<group type="and"> <sysinfo platform="Power Macintosh" /> <file name="MacOS/Adobe Reader" minfilesize="9140" maxfilesize="9140" path="*" /> </group>
Signature avec un groupe ET utilisant les balises package name et file name avec des attributs de date de fichier et de taille :
<group type="and"> <package name="CA AllFusion ERwin Data Modeler r7" /> <file name="ERwin.exe" minfilesize="3883008" maxfilesize="3883008" path="*" /> <file name="ERwin.exe" minmodified="2007-05-21T00:00:00Z" maxmodified="2007-05-21T23:59:59Z" path="*" /> </group>
Signature avec groupes imbriquées(deux conditions OU incluses dans une condition ET) utilisant les balises registry name (avec caractère générique) et file name (lectures des versions de fichier) :
<group type ="and">
<registry name="HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\12.0\Project" />
<group type="or">
<registry name="HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{90120000-00B4-0409-0000-0000000FF1CE}" />
<registry name="HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{91120000-00B4-0409-0000-0000000FF1CE}" />
</group>
<group type="or">
<registry name="HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{90120000-003A-0000-0000-0000000FF1CE}\DisplayVersion" match="12.0.4518.*" />
<registry name="HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{91120000-003A-0000-0000-0000000FF1CE}\DisplayVersion" match="12.0.4518.*" />
</group>
<file name="OFFICE12\WINPROJ.EXE" minversion="12.0" maxversion="12.0" path="*" />
</group>
|
Copyright © 2014 CA Technologies.
Tous droits réservés.
|
|