Oracle Forms & Reports

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.