1/* 2 * Licensed to the Apache Software Foundation (ASF) under one or more 3 * contributor license agreements. See the NOTICE file distributed with 4 * this work for additional information regarding copyright ownership. 5 * The ASF licenses this file to You under the Apache License, Version 2.0 6 * (the "License"); you may not use this file except in compliance with 7 * the License. You may obtain a copy of the License at 8 * 9 * http://www.apache.org/licenses/LICENSE-2.0 10 * 11 * Unless required by applicable law or agreed to in writing, software 12 * distributed under the License is distributed on an "AS IS" BASIS, 13 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 * See the License for the specific language governing permissions and 15 * limitations under the License. 16 */ 17 18package java.security.interfaces; 19 20import java.math.BigInteger; 21import java.security.spec.RSAOtherPrimeInfo; 22 23/** 24 * The interface for a Multi-Prime RSA private key. Specified by <a 25 * href="http://www.rsa.com/rsalabs/node.asp?id=2125">PKCS #1 v2.0 Amendment 1: 26 * Multi-Prime RSA</a>. 27 */ 28public interface RSAMultiPrimePrivateCrtKey extends RSAPrivateKey { 29 30 /** 31 * the serial version identifier. 32 */ 33 public static final long serialVersionUID = 618058533534628008L; 34 35 /** 36 * Returns the CRT coefficient, {@code q^-1 mod p}. 37 * 38 * @return the CRT coefficient. 39 */ 40 public BigInteger getCrtCoefficient(); 41 42 /** 43 * Returns the information for the additional primes. 44 * 45 * @return the information for the additional primes, or {@code null} if 46 * there are only the two primes ({@code p, q}), 47 */ 48 public RSAOtherPrimeInfo[] getOtherPrimeInfo(); 49 50 /** 51 * Returns the prime factor {@code p} of {@code n}. 52 * 53 * @return the prime factor {@code p} of {@code n}. 54 */ 55 public BigInteger getPrimeP(); 56 57 /** 58 * Returns the prime factor {@code q} of {@code n}. 59 * 60 * @return the prime factor {@code q} of {@code n}. 61 */ 62 public BigInteger getPrimeQ(); 63 64 /** 65 * Returns the CRT exponent of the prime {@code p}. 66 * 67 * @return the CRT exponent of the prime {@code p}. 68 */ 69 public BigInteger getPrimeExponentP(); 70 71 /** 72 * Returns the CRT exponent of the prime {@code q}. 73 * 74 * @return the CRT exponent of the prime {@code q}. 75 */ 76 public BigInteger getPrimeExponentQ(); 77 78 /** 79 * Returns the public exponent {@code e}. 80 * 81 * @return the public exponent {@code e}. 82 */ 83 public BigInteger getPublicExponent(); 84} 85