Jan Moravec píše v Út 03. 07. 2007 v 16:08 +0200:
> EncodedKeySpec keySpec = new PKCS8EncodedKeySpec( keyBytes );
> KeyFactory keyFactory = KeyFactory.getInstance( "DSA" );
> PrivateKey privKey = keyFactory.generatePrivate( keySpec );
Dík buhužel tam bude nějaká změna v konvenci pole bytů(nebo jiná zrada)
z metody po změně dostanu výjimku
java.security.spec.InvalidKeySpecException: Inappropriate key specification
Změněná metoda (ozávorkovaná funguje)
// PrivateKey pk = new DSAPrivateKey(decode(dataKey));
EncodedKeySpec keySpec = new
PKCS8EncodedKeySpec( decode(dataKey ));
KeyFactory keyFactory = KeyFactory.getInstance( "DSA" );
PrivateKey pk = keyFactory.generatePrivate(keySpec );
return pk;
> Honza
>
> -----Původní zpráva-----
> Od: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] za uživatele Ladislav Zahour
> Odesláno: Tuesday, July 03, 2007 15:45
> Komu: Konference Java
> Předmět: DSAPrivateKey z pole bytù
>
>
> Potřebuji nahradit následující kód (Odstranit použití interní třídy Sunu).
> Jak správně
>
> PrivateKey pk = new sun.security.provider.DSAPrivateKey(
> decode(STANDART_PRIVATE_KEY));
>
> (decode(STANDART_PRIVATE_KEY) vrací pole bytů odpovídající klíči.)
>
>
> Předpokládám že by to mělo být něco jako
>
> KeyFactory keyFactory = KeyFactory.getInstance("DSA");
>
> PrivateKey pk = keyFactory.generatePrivate(specifikace );
>
> Jak získat specifikaci z pole bytu
>
> Dík za nakopnutí
--
Ladislav Zahour <[EMAIL PROTECTED]>