Comment exporter et importer le certificat Product Management créé par le script sign_webutil
S'APPLIQUE À : Oracle Forms - Version 10.1.2.3.0 et ultérieures
Oracle Forms - Version 10.1.2.3.0 et ultérieures
Les informations de ce document s'appliquent à toutes les plateformes.
Pertinence vérifiée le 28 avril 2015
OBJECTIF : Oracle, autorité de certification, JRE
REMARQUE : ce document traite de l'utilisation de certificats autosignés, dont l'usage est valide. Toutefois, pour une sécurité optimale, Oracle recommande d'utiliser des certificats émis par une véritable autorité de certification.
Les versions récentes du JRE, comme la 1.7.0_40 et les suivantes ainsi que les dernières versions de la 1.6, affichent des messages Security Warning liés au code autosigné, en raison des fonctions de vérification de sécurité renforcées activées dans ces versions du JRE. Les versions antérieures du JRE permettaient à l'utilisateur de cocher une case indiquant "I accept the risk and want to run this application". Une boîte de dialogue suivante permettait de cocher une case indiquant "Do not show this again for apps from the publisher and location above". En cochant cette case, on importait le certificat dans le JRE : le code était dès lors considéré comme fiable et ne provoquait plus d'avertissements de sécurité. C'est ce que montrent les figures 2 et 3 de la Note 1542463.1. Cette option d'importation n'est plus permise à partir du JRE 1.7.0_40. Pour éviter ces avertissements de sécurité dans les versions récentes du JRE, il faut exporter la clé publique du certificat autosigné et l'importer dans le JRE.
Cette note a pour but de montrer comment exporter la clé publique et l'importer dans le magasin de certificats du JRE. Deux solutions sont proposées. La première montre comment procéder si le certificat se trouve déjà dans la section Trusted Certificates du JRE, ce qui peut arriver si le JRE a été mis à niveau à partir d'une version antérieure. La seconde montre comment exporter la clé publique du certificat autosigné créé par le script d'exemple sign_webutil.sh(bat) et l'importer manuellement dans le JRE.
SOLUTION : certificat Product Management (PM), Trusted Certificates
Solution 1 - Certificat PM absent de la section Signer CA du JRE
Le certificat Product Management (PM) est déjà présent dans la section Trusted Certificates du JRE, mais pas dans la section Signer CA.
Ce scénario est fréquent si vous avez mis à niveau votre JRE à partir d'une version antérieure qui permettait d'importer le certificat en cochant la case de la boîte de dialogue mentionnée ci-dessus. Si c'est le cas, voici ce que vous verriez dans le JRE ->
Ci-dessus, le certificat PM apparaît dans la section Trusted Certificates.
Ici, la section Signer CA ne contient aucun certificat.
Voici les étapes de la solution pour ce scénario :
1. Exportez le certificat PM de la section Trusted Certificates vers le système de fichiers. Une boîte de dialogue de fichier (non illustrée) s'affiche lorsque vous cliquez sur le bouton Export; vous pouvez alors enregistrer le certificat sur le système de fichiers.
2. Importez le certificat dans la section Signer CA. Une boîte de dialogue de fichier (non illustrée) s'affiche lorsque vous cliquez sur le bouton Import; vous pouvez alors importer dans la section Signer CA le certificat de l'étape 1.
3. Une fois les étapes 1 et 2 effectuées, le certificat PM apparaît dans la section Signer CA et plus aucun avertissement de sécurité ne s'affiche.
Solution 2 - Certificat PM absent des Trusted Certificates du JRE
Le script d'exemple sign_webutil.sh(bat) a été fourni aux clients Oracle Forms pour montrer comment signer avec un certificat autosigné des fichiers jar personnalisés, comme jacob.jar, des fichiers jar contenant des icônes, des fichiers jar personnalisés contenant des PJC, etc. Une fois le script exécuté avec succès, le certificat créé permet d'exporter la partie clé publique et de l'importer dans le JRE pour éviter les avertissements de sécurité du JRE.
Notez que le script peut être personnalisé. Il ne fait qu'automatiser la création d'un certificat autosigné et la signature des fichiers jar. Les étapes utilisées sont documentées dans les Java Tutorials.
Le nom du keystore et son alias peuvent être modifiés, tout comme le nom distinctif (Distinguished Name) créé. Par défaut, les valeurs sont les suivantes dans le script 11gR2 :
Valeurs du nom distinctif (Distinguished Name) :
CN=Product Management
OU=Development Tools
O=Oracle
C=US
Le fichier keystore s'appelle .keystore et se trouve par défaut dans :
UNIX = /home/<user>/.keystore
Windows = c:/users/<username>/.keystore
L'alias est -> webutil2
Les étapes suivantes supposent que les valeurs par défaut du keystore et de l'alias ont été utilisées lors de la première exécution du script sign_webutil.sh(bat). Si d'autres valeurs ont été utilisées, remplacez-les en conséquence.
Exporter la clé publique
1. Assurez-vous que votre chemin (path) comprend l'emplacement du jdk. Sinon, vous ne pourrez pas exécuter la commande keytool.
2. Placez-vous (cd) dans le répertoire où se trouve le fichier .keystore.
3. Lancez la commande suivante :
keytool -export -keystore .keystore -alias webutil2 -file publicpmkey.csr
Le mot de passe du keystore vous sera demandé. Si vous ne connaissez pas ce mot de passe, il est impossible de le récupérer et vous devrez créer un nouveau keystore.
4. Un fichier nommé publicpmkey.csr est créé.
Importer la clé publique dans le JRE
Ouvrez le JRE et importez le fichier publicpmkey.csr que vous avez créé, comme le montre le schéma suivant :
Une fois le fichier importé, le certificat apparaît dans le JRE, comme indiqué ci-dessous :
Le JRE n'affichera plus d'avertissements de sécurité pour les fichiers jar signés par ce certificat. À la première exécution, une notification comme celle-ci peut s'afficher :
Cochez la case pour que la notification ne s'affiche plus.