URL: https://linuxfr.org/forums/programmation-java/posts/ch%C3%A8vre-je-deviens-ch%C3%A8vre Title: chèvre, je deviens chèvre Authors: Midilaïr Date: 2007年11月06日T10:44:05+01:00 Tags: Score: -1 salut, feu tribune, paix à son âme ... Bon, maintenant, on attaque directement mon problème Java J'ai un code bordélique et non commenté qui a fonctionné à un moment. Maintenant, il ne fonctionne plus et tout le monde jure qu'il n'a pas touché à ce code et il ne fait pas parti des codes sont environnement de gestion de version. En clair, je suis dans la merde jusqu'au cou et j'ai besoin d'aide. D'après ce que j'ai compris du fonctionnement de la chose : 1) Démarrage de l'application Web avec une génération du pair de clé Diffie-Hellman. La clé public est stockée en base de données. 2) Chiffrement des données par une application extérieur en se basant sur la clé publique présente en base. La clé publique de l'application de chiffrement est stockée en base. 3) Activation de l'application Web et là, ça coince. J'obtiens cette erreur java.security.InvalidKeyException: Incompatible parameters at com.sun.crypto.provider.DHKeyAgreement.engineDoPhase(DashoA6275) at javax.crypto.KeyAgreement.doPhase(DashoA12275) at com.modelys.security.cryptography.Cryptographer.importKey(com/modelys/security/cryptography/Cryptographer) at rcb.rcbic.Application2ドル.run(Application.java:1384) Je ne peux pas fournir l'intégralité du code source mais seulement des bouts. 1) KeyPair keyPair = null; £spaces£ £/spaces£try { £spaces£ £/spaces£AlgorithmParameterGenerator parameterGenerator = AlgorithmParameterGenerator £spaces£ £/spaces£.getInstance("DH"); £spaces£ £/spaces£parameterGenerator.init(512); £spaces£ £/spaces£KeyPairGenerator keyPairGenerator = KeyPairGenerator £spaces£ £/spaces£.getInstance("DH"); £spaces£ £/spaces£keyPairGenerator £spaces£ £/spaces£.initialize((DHParameterSpec) parameterGenerator £spaces£ £/spaces£.generateParameters().getParameterSpec( £spaces£ £/spaces£DHParameterSpec.class)); £spaces£ £/spaces£keyPair = keyPairGenerator.generateKeyPair(); £spaces£ £/spaces£} catch (Exception ignored) { £spaces£ £/spaces£Log.out.print(Log.TYPE_ERROR, VERSION, Application.class, £spaces£ £/spaces£"start()", "generating key pair", ignored); £spaces£ £/spaces£} 2) PublicKey internalKey = null; £spaces£ £/spaces£try £spaces£ £/spaces£{ £spaces£ £/spaces£internalKey = £spaces£ £/spaces£KeyFactory.getInstance("DH").generatePublic( £spaces£ £/spaces£new X509EncodedKeySpec(Cryptographer.hexToBytes(key))); £spaces£ £/spaces£} catch (Exception exception) £spaces£ £/spaces£{ £spaces£ £/spaces£this.exit("decoding application public key", exception); £spaces£ £/spaces£} £spaces£ £/spaces£try £spaces£ £/spaces£{ £spaces£ £/spaces£resultSet.close(); £spaces£ £/spaces£} catch (SQLException ignored) £spaces£ £/spaces£{ £spaces£ £/spaces£} £spaces£ £/spaces£Log.out.print(Log.TYPE_INFO, this.getVersion(), "Initializing encrypter..."); £spaces£ £/spaces£encrypter = new Encrypter("DESede"); £spaces£ £/spaces£Log.out.print(Log.TYPE_INFO, this.getVersion(), " Generating keys..."); £spaces£ £/spaces£KeyPair keyPair = null; £spaces£ £/spaces£try £spaces£ £/spaces£{ £spaces£ £/spaces£KeyPairGenerator keyPairGenerator = KeyPairGenerator.getInstance("DH"); £spaces£ £/spaces£keyPairGenerator.initialize(((DHPublicKey) internalKey).getParams()); £spaces£ £/spaces£keyPair = encrypter.generateKey("DH", internalKey, keyPairGenerator); £spaces£ £/spaces£} catch (Exception exception) £spaces£ £/spaces£{ £spaces£ £/spaces£this.exit("generating keys", exception); £spaces£ £/spaces£} 3) if (resultSet.next()) { £spaces£ £/spaces£Log.out.print(Log.TYPE_INFO, VERSION, "new Encrypter... " + Protocol.ALGORITHM_NAME_ENCRYPTION); £spaces£ £/spaces£encrypter = new Encrypter("DESede"); £spaces£ £/spaces£PublicKey publicKey = KeyFactory.getInstance( "DH").generatePublic(new X509EncodedKeySpec(Cryptographer.hexToBytes(resultSet.getString(1).trim()))); £spaces£ £/spaces£encrypter.importKey( £spaces£ £/spaces£"DH", £spaces£ £/spaces£publicKey, £spaces£ £/spaces£keyPair.getPrivate()); £spaces£ £/spaces£} J'espère que ça vous permettra de m'aider.

AltStyle によって変換されたページ (->オリジナル) /