--- a/src/java.base/share/classes/java/security/spec/RSAPrivateKeySpec.java Fri May 11 14:55:56 2018 -0700
+++ b/src/java.base/share/classes/java/security/spec/RSAPrivateKeySpec.java Fri May 11 15:53:12 2018 -0700
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 2001, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 2018, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -44,8 +44,9 @@
public class RSAPrivateKeySpec implements KeySpec {
- private BigInteger modulus;
- private BigInteger privateExponent;
+ private final BigInteger modulus;
+ private final BigInteger privateExponent;
+ private final AlgorithmParameterSpec params;
/**
* Creates a new RSAPrivateKeySpec.
@@ -54,8 +55,22 @@
* @param privateExponent the private exponent
*/
public RSAPrivateKeySpec(BigInteger modulus, BigInteger privateExponent) {
+ this(modulus, privateExponent, null);
+ }
+
+ /**
+ * Creates a new RSAPrivateKeySpec with additional key parameters.
+ *
+ * @param modulus the modulus
+ * @param privateExponent the private exponent
+ * @param params the parameters associated with this key, may be null
+ * @since 11
+ */
+ public RSAPrivateKeySpec(BigInteger modulus, BigInteger privateExponent,
+ AlgorithmParameterSpec params) {
this.modulus = modulus;
this.privateExponent = privateExponent;
+ this.params = params;
}
/**
@@ -75,4 +90,15 @@
public BigInteger getPrivateExponent() {
return this.privateExponent;
}
+
+ /**
+ * Returns the parameters associated with this key, may be null if not
+ * present.
+ *
+ * @return the parameters associated with this key
+ * @since 11
+ */
+ public AlgorithmParameterSpec getParams() {
+ return this.params;
+ }
}