Java/Security/Digital Signature Algorithm DSA

Материал из Java эксперт
Версия от 09:49, 1 июня 2010; Admin (обсуждение | вклад) (1 версия)
(разн.) ← Предыдущая | Текущая версия (разн.) | Следующая → (разн.)
Перейти к: навигация, поиск

Create the DSA key factory from a Set of Digital Signature Algorithm (DSA) Parameters

   <source lang="java">

import java.math.BigInteger; import java.security.KeyFactory; import java.security.KeyPair; import java.security.KeyPairGenerator; import java.security.PrivateKey; import java.security.PublicKey; import java.security.interfaces.DSAParams; import java.security.interfaces.DSAPrivateKey; import java.security.interfaces.DSAPublicKey; import java.security.spec.DSAPrivateKeySpec; import java.security.spec.DSAPublicKeySpec; import java.security.spec.KeySpec; public class Main {

 public static void main(String[] argv) throws Exception {
   KeyPairGenerator keyGen = KeyPairGenerator.getInstance("DSA");
   keyGen.initialize(1024);
   KeyPair keypair = keyGen.genKeyPair();
   DSAPrivateKey privateKey = (DSAPrivateKey) keypair.getPrivate();
   DSAPublicKey publicKey = (DSAPublicKey) keypair.getPublic();
   DSAParams dsaParams = privateKey.getParams();
   BigInteger p = dsaParams.getP();
   BigInteger q = dsaParams.getQ();
   BigInteger g = dsaParams.getG();
   BigInteger x = privateKey.getX();
   BigInteger y = publicKey.getY();
   KeyFactory keyFactory = KeyFactory.getInstance("DSA");
 }

}

 </source>
   
  
 
  



Create the DSA private key from a Set of Digital Signature Algorithm (DSA) Parameters

   <source lang="java">

import java.math.BigInteger; import java.security.KeyFactory; import java.security.KeyPair; import java.security.KeyPairGenerator; import java.security.PrivateKey; import java.security.PublicKey; import java.security.interfaces.DSAParams; import java.security.interfaces.DSAPrivateKey; import java.security.interfaces.DSAPublicKey; import java.security.spec.DSAPrivateKeySpec; import java.security.spec.DSAPublicKeySpec; import java.security.spec.KeySpec; public class Main {

 public static void main(String[] argv) throws Exception {
   KeyPairGenerator keyGen = KeyPairGenerator.getInstance("DSA");
   keyGen.initialize(1024);
   KeyPair keypair = keyGen.genKeyPair();
   DSAPrivateKey privateKey = (DSAPrivateKey) keypair.getPrivate();
   DSAPublicKey publicKey = (DSAPublicKey) keypair.getPublic();
   DSAParams dsaParams = privateKey.getParams();
   BigInteger p = dsaParams.getP();
   BigInteger q = dsaParams.getQ();
   BigInteger g = dsaParams.getG();
   BigInteger x = privateKey.getX();
   BigInteger y = publicKey.getY();
   KeyFactory keyFactory = KeyFactory.getInstance("DSA");
   KeySpec privateKeySpec = new DSAPrivateKeySpec(x, p, q, g);
   PrivateKey privateKey1 = keyFactory.generatePrivate(privateKeySpec);
 }

}

 </source>
   
  
 
  



Create the DSA public key from a Set of Digital Signature Algorithm (DSA) Parameters

   <source lang="java">

import java.math.BigInteger; import java.security.KeyFactory; import java.security.KeyPair; import java.security.KeyPairGenerator; import java.security.PrivateKey; import java.security.PublicKey; import java.security.interfaces.DSAParams; import java.security.interfaces.DSAPrivateKey; import java.security.interfaces.DSAPublicKey; import java.security.spec.DSAPrivateKeySpec; import java.security.spec.DSAPublicKeySpec; import java.security.spec.KeySpec; public class Main {

 public static void main(String[] argv) throws Exception {
   KeyPairGenerator keyGen = KeyPairGenerator.getInstance("DSA");
   keyGen.initialize(1024);
   KeyPair keypair = keyGen.genKeyPair();
   DSAPrivateKey privateKey = (DSAPrivateKey) keypair.getPrivate();
   DSAPublicKey publicKey = (DSAPublicKey) keypair.getPublic();
   DSAParams dsaParams = privateKey.getParams();
   BigInteger p = dsaParams.getP();
   BigInteger q = dsaParams.getQ();
   BigInteger g = dsaParams.getG();
   BigInteger x = privateKey.getX();
   BigInteger y = publicKey.getY();
   KeyFactory keyFactory = KeyFactory.getInstance("DSA");
   KeySpec publicKeySpec = new DSAPublicKeySpec(y, p, q, g);
   PublicKey publicKey1 = keyFactory.generatePublic(publicKeySpec);
 }

}

 </source>
   
  
 
  



Getting the Digital Signature Algorithm (DSA) Parameters of a Key Pair

   <source lang="java">

import java.math.BigInteger; import java.security.KeyPair; import java.security.KeyPairGenerator; import java.security.interfaces.DSAParams; import java.security.interfaces.DSAPrivateKey; import java.security.interfaces.DSAPublicKey; public class Main {

 public static void main(String[] argv) throws Exception {
   KeyPairGenerator keyGen = KeyPairGenerator.getInstance("DSA");
   keyGen.initialize(1024);
   KeyPair keypair = keyGen.genKeyPair();
   DSAPrivateKey privateKey = (DSAPrivateKey) keypair.getPrivate();
   DSAPublicKey publicKey = (DSAPublicKey) keypair.getPublic();
   DSAParams dsaParams = privateKey.getParams();
   BigInteger p = dsaParams.getP();
   BigInteger q = dsaParams.getQ();
   BigInteger g = dsaParams.getG();
   BigInteger x = privateKey.getX();
   BigInteger y = publicKey.getY();
 }

}

 </source>