1. /*
  2. * @(#)RSAMultiPrimePrivateCrtKey.java 1.6 03/12/19
  3. *
  4. * Copyright 2004 Sun Microsystems, Inc. All rights reserved.
  5. * SUN PROPRIETARY/CONFIDENTIAL. Use is subject to license terms.
  6. */
  7. package java.security.interfaces;
  8. import java.math.BigInteger;
  9. import java.security.spec.RSAOtherPrimeInfo;
  10. /**
  11. * The interface to an RSA multi-prime private key, as defined in the
  12. * PKCS#1 v2.1, using the <i>Chinese Remainder Theorem</i>
  13. * (CRT) information values.
  14. *
  15. * @author Valerie Peng
  16. *
  17. * @version 1.6 03/12/19
  18. *
  19. * @see java.security.spec.RSAPrivateKeySpec
  20. * @see java.security.spec.RSAMultiPrimePrivateCrtKeySpec
  21. * @see RSAPrivateKey
  22. * @see RSAPrivateCrtKey
  23. *
  24. * @since 1.4
  25. */
  26. public interface RSAMultiPrimePrivateCrtKey extends RSAPrivateKey {
  27. static final long serialVersionUID = 618058533534628008L;
  28. /**
  29. * Returns the public exponent.
  30. *
  31. * @return the public exponent.
  32. */
  33. public BigInteger getPublicExponent();
  34. /**
  35. * Returns the primeP.
  36. *
  37. * @return the primeP.
  38. */
  39. public BigInteger getPrimeP();
  40. /**
  41. * Returns the primeQ.
  42. *
  43. * @return the primeQ.
  44. */
  45. public BigInteger getPrimeQ();
  46. /**
  47. * Returns the primeExponentP.
  48. *
  49. * @return the primeExponentP.
  50. */
  51. public BigInteger getPrimeExponentP();
  52. /**
  53. * Returns the primeExponentQ.
  54. *
  55. * @return the primeExponentQ.
  56. */
  57. public BigInteger getPrimeExponentQ();
  58. /**
  59. * Returns the crtCoefficient.
  60. *
  61. * @return the crtCoefficient.
  62. */
  63. public BigInteger getCrtCoefficient();
  64. /**
  65. * Returns the otherPrimeInfo or null if there are only
  66. * two prime factors (p and q).
  67. *
  68. * @return the otherPrimeInfo.
  69. */
  70. public RSAOtherPrimeInfo[] getOtherPrimeInfo();
  71. }