1. /*
  2. * @(#)RSAMultiPrimePrivateCrtKey.java 1.4 03/01/23
  3. *
  4. * Copyright 2003 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.4 03/01/23
  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. /**
  28. * Returns the public exponent.
  29. *
  30. * @return the public exponent.
  31. */
  32. public BigInteger getPublicExponent();
  33. /**
  34. * Returns the primeP.
  35. *
  36. * @return the primeP.
  37. */
  38. public BigInteger getPrimeP();
  39. /**
  40. * Returns the primeQ.
  41. *
  42. * @return the primeQ.
  43. */
  44. public BigInteger getPrimeQ();
  45. /**
  46. * Returns the primeExponentP.
  47. *
  48. * @return the primeExponentP.
  49. */
  50. public BigInteger getPrimeExponentP();
  51. /**
  52. * Returns the primeExponentQ.
  53. *
  54. * @return the primeExponentQ.
  55. */
  56. public BigInteger getPrimeExponentQ();
  57. /**
  58. * Returns the crtCoefficient.
  59. *
  60. * @return the crtCoefficient.
  61. */
  62. public BigInteger getCrtCoefficient();
  63. /**
  64. * Returns the otherPrimeInfo or null if there are only
  65. * two prime factors (p and q).
  66. *
  67. * @return the otherPrimeInfo.
  68. */
  69. public RSAOtherPrimeInfo[] getOtherPrimeInfo();
  70. }