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]>

Odpovedet emailem