diff --git a/crypto/src/math/ec/ECCurve.cs b/crypto/src/math/ec/ECCurve.cs
index c0e27a449..52d634cd2 100644
--- a/crypto/src/math/ec/ECCurve.cs
+++ b/crypto/src/math/ec/ECCurve.cs
@@ -721,13 +721,8 @@ namespace Org.BouncyCastle.Math.EC
this.m_coord = FP_DEFAULT_COORDS;
}
- [Obsolete("Use constructor taking order/cofactor")]
- protected FpCurve(BigInteger q, BigInteger r, ECFieldElement a, ECFieldElement b)
- : this(q, r, a, b, null, null)
- {
- }
-
- protected FpCurve(BigInteger q, BigInteger r, ECFieldElement a, ECFieldElement b, BigInteger order, BigInteger cofactor)
+ internal FpCurve(BigInteger q, BigInteger r, ECFieldElement a, ECFieldElement b, BigInteger order,
+ BigInteger cofactor)
: base(q)
{
this.m_q = q;
@@ -777,6 +772,9 @@ namespace Org.BouncyCastle.Math.EC
public override ECFieldElement FromBigInteger(BigInteger x)
{
+ if (x == null || x.SignValue < 0 || x.CompareTo(m_q) >= 0)
+ throw new ArgumentException("value invalid for Fp field element", "x");
+
return new FpFieldElement(this.m_q, this.m_r, x);
}
@@ -873,32 +871,11 @@ namespace Org.BouncyCastle.Math.EC
private static IFiniteField BuildField(int m, int k1, int k2, int k3)
{
- if (k1 == 0)
- {
- throw new ArgumentException("k1 must be > 0");
- }
-
- if (k2 == 0)
- {
- if (k3 != 0)
- {
- throw new ArgumentException("k3 must be 0 if k2 == 0");
- }
-
- return FiniteFields.GetBinaryExtensionField(new int[]{ 0, k1, m });
- }
-
- if (k2 <= k1)
- {
- throw new ArgumentException("k2 must be > k1");
- }
-
- if (k3 <= k2)
- {
- throw new ArgumentException("k3 must be > k2");
- }
+ int[] exponents = (k2 | k3) == 0
+ ? new int[]{ 0, k1, m }
+ : new int[]{ 0, k1, k2, k3, m };
- return FiniteFields.GetBinaryExtensionField(new int[]{ 0, k1, k2, k3, m });
+ return FiniteFields.GetBinaryExtensionField(exponents);
}
protected AbstractF2mCurve(int m, int k1, int k2, int k3)
@@ -1253,15 +1230,8 @@ namespace Org.BouncyCastle.Math.EC
* @param cofactor The cofactor of the elliptic curve, i.e.
* <code>#E<sub>a</sub>(F<sub>2<sup>m</sup></sub>) = h * n</code>.
*/
- public F2mCurve(
- int m,
- int k1,
- int k2,
- int k3,
- BigInteger a,
- BigInteger b,
- BigInteger order,
- BigInteger cofactor)
+ public F2mCurve(int m, int k1, int k2, int k3, BigInteger a, BigInteger b, BigInteger order,
+ BigInteger cofactor)
: base(m, k1, k2, k3)
{
this.m = m;
@@ -1272,29 +1242,13 @@ namespace Org.BouncyCastle.Math.EC
this.m_cofactor = cofactor;
this.m_infinity = new F2mPoint(this, null, null);
- if (k1 == 0)
- throw new ArgumentException("k1 must be > 0");
-
- if (k2 == 0)
- {
- if (k3 != 0)
- throw new ArgumentException("k3 must be 0 if k2 == 0");
- }
- else
- {
- if (k2 <= k1)
- throw new ArgumentException("k2 must be > k1");
-
- if (k3 <= k2)
- throw new ArgumentException("k3 must be > k2");
- }
-
this.m_a = FromBigInteger(a);
this.m_b = FromBigInteger(b);
this.m_coord = F2M_DEFAULT_COORDS;
}
- protected F2mCurve(int m, int k1, int k2, int k3, ECFieldElement a, ECFieldElement b, BigInteger order, BigInteger cofactor)
+ internal F2mCurve(int m, int k1, int k2, int k3, ECFieldElement a, ECFieldElement b, BigInteger order,
+ BigInteger cofactor)
: base(m, k1, k2, k3)
{
this.m = m;
@@ -1303,8 +1257,8 @@ namespace Org.BouncyCastle.Math.EC
this.k3 = k3;
this.m_order = order;
this.m_cofactor = cofactor;
-
this.m_infinity = new F2mPoint(this, null, null);
+
this.m_a = a;
this.m_b = b;
this.m_coord = F2M_DEFAULT_COORDS;
@@ -1345,7 +1299,14 @@ namespace Org.BouncyCastle.Math.EC
public override ECFieldElement FromBigInteger(BigInteger x)
{
- return new F2mFieldElement(this.m, this.k1, this.k2, this.k3, x);
+ if (x == null || x.SignValue < 0 || x.BitLength > m)
+ throw new ArgumentException("value invalid for F2m field element", "x");
+
+ int[] ks = (k2 | k3) == 0
+ ? new int[]{ k1 }
+ : new int[]{ k1, k2, k3 };
+
+ return new F2mFieldElement(m, ks, new LongArray(x));
}
protected internal override ECPoint CreateRawPoint(ECFieldElement x, ECFieldElement y)
@@ -1470,7 +1431,9 @@ namespace Org.BouncyCastle.Math.EC
private ECPoint CreatePoint(long[] x, long[] y)
{
int m = m_outer.m;
- int[] ks = m_outer.IsTrinomial() ? new int[] { m_outer.k1 } : new int[] { m_outer.k1, m_outer.k2, m_outer.k3 };
+ int[] ks = m_outer.IsTrinomial()
+ ? new int[]{ m_outer.k1 }
+ : new int[]{ m_outer.k1, m_outer.k2, m_outer.k3 };
ECFieldElement X = new F2mFieldElement(m, ks, new LongArray(x));
ECFieldElement Y = new F2mFieldElement(m, ks, new LongArray(y));
diff --git a/crypto/src/math/ec/ECFieldElement.cs b/crypto/src/math/ec/ECFieldElement.cs
index ed530b6b7..774dfb9f1 100644
--- a/crypto/src/math/ec/ECFieldElement.cs
+++ b/crypto/src/math/ec/ECFieldElement.cs
@@ -128,17 +128,8 @@ namespace Org.BouncyCastle.Math.EC
return null;
}
- [Obsolete("Use ECCurve.FromBigInteger to construct field elements")]
- public FpFieldElement(BigInteger q, BigInteger x)
- : this(q, CalculateResidue(q), x)
- {
- }
-
internal FpFieldElement(BigInteger q, BigInteger r, BigInteger x)
{
- if (x == null || x.SignValue < 0 || x.CompareTo(q) >= 0)
- throw new ArgumentException("value invalid in Fp field element", "x");
-
this.q = q;
this.r = r;
this.x = x;
@@ -649,71 +640,6 @@ namespace Org.BouncyCastle.Math.EC
*/
internal LongArray x;
- /**
- * Constructor for Ppb.
- * @param m The exponent <code>m</code> of
- * <code>F<sub>2<sup>m</sup></sub></code>.
- * @param k1 The integer <code>k1</code> where <code>x<sup>m</sup> +
- * x<sup>k3</sup> + x<sup>k2</sup> + x<sup>k1</sup> + 1</code>
- * represents the reduction polynomial <code>f(z)</code>.
- * @param k2 The integer <code>k2</code> where <code>x<sup>m</sup> +
- * x<sup>k3</sup> + x<sup>k2</sup> + x<sup>k1</sup> + 1</code>
- * represents the reduction polynomial <code>f(z)</code>.
- * @param k3 The integer <code>k3</code> where <code>x<sup>m</sup> +
- * x<sup>k3</sup> + x<sup>k2</sup> + x<sup>k1</sup> + 1</code>
- * represents the reduction polynomial <code>f(z)</code>.
- * @param x The BigInteger representing the value of the field element.
- */
- [Obsolete("Use ECCurve.FromBigInteger to construct field elements")]
- public F2mFieldElement(
- int m,
- int k1,
- int k2,
- int k3,
- BigInteger x)
- {
- if (x == null || x.SignValue < 0 || x.BitLength > m)
- throw new ArgumentException("value invalid in F2m field element", "x");
-
- if ((k2 == 0) && (k3 == 0))
- {
- this.representation = Tpb;
- this.ks = new int[] { k1 };
- }
- else
- {
- if (k2 >= k3)
- throw new ArgumentException("k2 must be smaller than k3");
- if (k2 <= 0)
- throw new ArgumentException("k2 must be larger than 0");
-
- this.representation = Ppb;
- this.ks = new int[] { k1, k2, k3 };
- }
-
- this.m = m;
- this.x = new LongArray(x);
- }
-
- /**
- * Constructor for Tpb.
- * @param m The exponent <code>m</code> of
- * <code>F<sub>2<sup>m</sup></sub></code>.
- * @param k The integer <code>k</code> where <code>x<sup>m</sup> +
- * x<sup>k</sup> + 1</code> represents the reduction
- * polynomial <code>f(z)</code>.
- * @param x The BigInteger representing the value of the field element.
- */
- [Obsolete("Use ECCurve.FromBigInteger to construct field elements")]
- public F2mFieldElement(
- int m,
- int k,
- BigInteger x)
- : this(m, k, 0, 0, x)
- {
- // Set k1 to k, and set k2 and k3 to 0
- }
-
internal F2mFieldElement(int m, int[] ks, LongArray x)
{
this.m = m;
diff --git a/crypto/src/pkcs/PKCS12StoreBuilder.cs b/crypto/src/pkcs/PKCS12StoreBuilder.cs
index b61a9ea63..50d927af7 100644
--- a/crypto/src/pkcs/PKCS12StoreBuilder.cs
+++ b/crypto/src/pkcs/PKCS12StoreBuilder.cs
@@ -10,7 +10,6 @@ namespace Org.BouncyCastle.Pkcs
private DerObjectIdentifier keyAlgorithm = PkcsObjectIdentifiers.PbeWithShaAnd3KeyTripleDesCbc;
private DerObjectIdentifier certAlgorithm = PkcsObjectIdentifiers.PbewithShaAnd40BitRC2Cbc;
private DerObjectIdentifier keyPrfAlgorithm = null;
- private DerObjectIdentifier certPrfAlgorithm = null;
private bool useDerEncoding = false;
public Pkcs12StoreBuilder()
@@ -19,7 +18,7 @@ namespace Org.BouncyCastle.Pkcs
public Pkcs12Store Build()
{
- return new Pkcs12Store(keyAlgorithm, keyPrfAlgorithm, certAlgorithm, certPrfAlgorithm, useDerEncoding);
+ return new Pkcs12Store(keyAlgorithm, keyPrfAlgorithm, certAlgorithm, useDerEncoding);
}
public Pkcs12StoreBuilder SetCertAlgorithm(DerObjectIdentifier certAlgorithm)
diff --git a/crypto/src/pkcs/Pkcs12Store.cs b/crypto/src/pkcs/Pkcs12Store.cs
index 1e951ace5..d09b8828f 100644
--- a/crypto/src/pkcs/Pkcs12Store.cs
+++ b/crypto/src/pkcs/Pkcs12Store.cs
@@ -29,7 +29,6 @@ namespace Org.BouncyCastle.Pkcs
private readonly DerObjectIdentifier keyAlgorithm;
private readonly DerObjectIdentifier keyPrfAlgorithm;
private readonly DerObjectIdentifier certAlgorithm;
- private readonly DerObjectIdentifier certPrfAlgorithm;
private readonly bool useDerEncoding;
private AsymmetricKeyEntry unmarkedKeyEntry = null;
@@ -85,50 +84,15 @@ namespace Org.BouncyCastle.Pkcs
}
}
- internal Pkcs12Store(
- DerObjectIdentifier keyAlgorithm,
- DerObjectIdentifier certAlgorithm,
- bool useDerEncoding)
- {
- this.keyAlgorithm = keyAlgorithm;
- this.keyPrfAlgorithm = null;
- this.certAlgorithm = certAlgorithm;
- this.certPrfAlgorithm = null;
- this.useDerEncoding = useDerEncoding;
- }
-
- internal Pkcs12Store(
- DerObjectIdentifier keyAlgorithm,
- DerObjectIdentifier keyPrfAlgorithm,
- DerObjectIdentifier certAlgorithm,
- DerObjectIdentifier certPrfAlgorithm,
- bool useDerEncoding)
+ internal Pkcs12Store(DerObjectIdentifier keyAlgorithm, DerObjectIdentifier keyPrfAlgorithm,
+ DerObjectIdentifier certAlgorithm, bool useDerEncoding)
{
this.keyAlgorithm = keyAlgorithm;
this.keyPrfAlgorithm = keyPrfAlgorithm;
this.certAlgorithm = certAlgorithm;
- this.certPrfAlgorithm = certPrfAlgorithm;
this.useDerEncoding = useDerEncoding;
}
- // TODO Consider making obsolete
- // [Obsolete("Use 'Pkcs12StoreBuilder' instead")]
- public Pkcs12Store()
- : this(PkcsObjectIdentifiers.PbeWithShaAnd3KeyTripleDesCbc,
- PkcsObjectIdentifiers.PbewithShaAnd40BitRC2Cbc, false)
- {
- }
-
- // TODO Consider making obsolete
-// [Obsolete("Use 'Pkcs12StoreBuilder' and 'Load' method instead")]
- public Pkcs12Store(
- Stream input,
- char[] password)
- : this()
- {
- Load(input, password);
- }
-
protected virtual void LoadKeyBag(PrivateKeyInfo privKeyInfo, Asn1Set bagAttributes)
{
AsymmetricKeyParameter privKey = PrivateKeyFactory.CreateKey(privKeyInfo);
diff --git a/crypto/src/security/SignerUtilities.cs b/crypto/src/security/SignerUtilities.cs
index 8a289897e..b3a49dea8 100644
--- a/crypto/src/security/SignerUtilities.cs
+++ b/crypto/src/security/SignerUtilities.cs
@@ -690,7 +690,7 @@ namespace Org.BouncyCastle.Security
public static ISigner InitSigner(string algorithm, bool forSigning, AsymmetricKeyParameter privateKey, SecureRandom random)
{
- ISigner signer = SignerUtilities.GetSigner(algorithm);
+ ISigner signer = GetSigner(algorithm);
signer.Init(forSigning, ParameterUtilities.WithRandom(privateKey, random));
return signer;
}
diff --git a/crypto/src/x509/X509V1CertificateGenerator.cs b/crypto/src/x509/X509V1CertificateGenerator.cs
index c571d2525..99543778b 100644
--- a/crypto/src/x509/X509V1CertificateGenerator.cs
+++ b/crypto/src/x509/X509V1CertificateGenerator.cs
@@ -4,9 +4,7 @@ using System.Collections;
using Org.BouncyCastle.Asn1;
using Org.BouncyCastle.Asn1.X509;
using Org.BouncyCastle.Crypto;
-using Org.BouncyCastle.Crypto.Operators;
using Org.BouncyCastle.Math;
-using Org.BouncyCastle.Security;
using Org.BouncyCastle.Utilities;
namespace Org.BouncyCastle.X509
@@ -16,10 +14,7 @@ namespace Org.BouncyCastle.X509
/// </summary>
public class X509V1CertificateGenerator
{
- private V1TbsCertificateGenerator tbsGen;
- private DerObjectIdentifier sigOID;
- private AlgorithmIdentifier sigAlgId;
- private string signatureAlgorithm;
+ private V1TbsCertificateGenerator tbsGen;
/// <summary>
/// Default Constructor.
@@ -115,68 +110,17 @@ namespace Org.BouncyCastle.X509
}
/// <summary>
- /// Set the signature algorithm that will be used to sign this certificate.
- /// This can be either a name or an OID, names are treated as case insensitive.
- /// </summary>
- /// <param name="signatureAlgorithm">string representation of the algorithm name</param>
- [Obsolete("Not needed if Generate used with an ISignatureFactory")]
- public void SetSignatureAlgorithm(
- string signatureAlgorithm)
- {
- this.signatureAlgorithm = signatureAlgorithm;
-
- try
- {
- sigOID = X509Utilities.GetAlgorithmOid(signatureAlgorithm);
- }
- catch (Exception)
- {
- throw new ArgumentException("Unknown signature type requested", "signatureAlgorithm");
- }
-
- sigAlgId = X509Utilities.GetSigAlgID(sigOID, signatureAlgorithm);
-
- tbsGen.SetSignature(sigAlgId);
- }
-
- /// <summary>
- /// Generate a new X509Certificate.
- /// </summary>
- /// <param name="privateKey">The private key of the issuer used to sign this certificate.</param>
- /// <returns>An X509Certificate.</returns>
- [Obsolete("Use Generate with an ISignatureFactory")]
- public X509Certificate Generate(
- AsymmetricKeyParameter privateKey)
- {
- return Generate(privateKey, null);
- }
-
- /// <summary>
- /// Generate a new X509Certificate specifying a SecureRandom instance that you would like to use.
- /// </summary>
- /// <param name="privateKey">The private key of the issuer used to sign this certificate.</param>
- /// <param name="random">The Secure Random you want to use.</param>
- /// <returns>An X509Certificate.</returns>
- [Obsolete("Use Generate with an ISignatureFactory")]
- public X509Certificate Generate(
- AsymmetricKeyParameter privateKey,
- SecureRandom random)
- {
- return Generate(new Asn1SignatureFactory(signatureAlgorithm, privateKey, random));
- }
-
- /// <summary>
/// Generate a new X509Certificate using the passed in SignatureCalculator.
/// </summary>
- /// <param name="signatureCalculatorFactory">A signature calculator factory with the necessary algorithm details.</param>
+ /// <param name="signatureFactory">A signature calculator factory with the necessary algorithm details.</param>
/// <returns>An X509Certificate.</returns>
- public X509Certificate Generate(ISignatureFactory signatureCalculatorFactory)
+ public X509Certificate Generate(ISignatureFactory signatureFactory)
{
- tbsGen.SetSignature ((AlgorithmIdentifier)signatureCalculatorFactory.AlgorithmDetails);
+ tbsGen.SetSignature((AlgorithmIdentifier)signatureFactory.AlgorithmDetails);
TbsCertificateStructure tbsCert = tbsGen.GenerateTbsCertificate();
- IStreamCalculator streamCalculator = signatureCalculatorFactory.CreateCalculator();
+ IStreamCalculator streamCalculator = signatureFactory.CreateCalculator();
byte[] encoded = tbsCert.GetDerEncoded();
@@ -184,7 +128,8 @@ namespace Org.BouncyCastle.X509
Platform.Dispose(streamCalculator.Stream);
- return GenerateJcaObject(tbsCert, (AlgorithmIdentifier)signatureCalculatorFactory.AlgorithmDetails, ((IBlockResult)streamCalculator.GetResult()).Collect());
+ return GenerateJcaObject(tbsCert, (AlgorithmIdentifier)signatureFactory.AlgorithmDetails,
+ ((IBlockResult)streamCalculator.GetResult()).Collect());
}
private X509Certificate GenerateJcaObject(
diff --git a/crypto/src/x509/X509V2AttributeCertificateGenerator.cs b/crypto/src/x509/X509V2AttributeCertificateGenerator.cs
index f49eea63f..643604181 100644
--- a/crypto/src/x509/X509V2AttributeCertificateGenerator.cs
+++ b/crypto/src/x509/X509V2AttributeCertificateGenerator.cs
@@ -4,9 +4,7 @@ using System.Collections;
using Org.BouncyCastle.Asn1;
using Org.BouncyCastle.Asn1.X509;
using Org.BouncyCastle.Crypto;
-using Org.BouncyCastle.Crypto.Operators;
using Org.BouncyCastle.Math;
-using Org.BouncyCastle.Security;
using Org.BouncyCastle.Security.Certificates;
using Org.BouncyCastle.Utilities;
@@ -17,10 +15,7 @@ namespace Org.BouncyCastle.X509
{
private readonly X509ExtensionsGenerator extGenerator = new X509ExtensionsGenerator();
- private V2AttributeCertificateInfoGenerator acInfoGen;
- private DerObjectIdentifier sigOID;
- private AlgorithmIdentifier sigAlgId;
- private string signatureAlgorithm;
+ private V2AttributeCertificateInfoGenerator acInfoGen;
public X509V2AttributeCertificateGenerator()
{
@@ -67,31 +62,6 @@ namespace Org.BouncyCastle.X509
acInfoGen.SetEndDate(new DerGeneralizedTime(date));
}
- /// <summary>
- /// Set the signature algorithm. This can be either a name or an OID, names
- /// are treated as case insensitive.
- /// </summary>
- /// <param name="signatureAlgorithm">The algorithm name.</param>
- [Obsolete("Not needed if Generate used with an ISignatureFactory")]
- public void SetSignatureAlgorithm(
- string signatureAlgorithm)
- {
- this.signatureAlgorithm = signatureAlgorithm;
-
- try
- {
- sigOID = X509Utilities.GetAlgorithmOid(signatureAlgorithm);
- }
- catch (Exception)
- {
- throw new ArgumentException("Unknown signature type requested");
- }
-
- sigAlgId = X509Utilities.GetSigAlgID(sigOID, signatureAlgorithm);
-
- acInfoGen.SetSignature(sigAlgId);
- }
-
/// <summary>Add an attribute.</summary>
public void AddAttribute(
X509Attribute attribute)
@@ -130,28 +100,6 @@ namespace Org.BouncyCastle.X509
}
/// <summary>
- /// Generate an X509 certificate, based on the current issuer and subject.
- /// </summary>
- [Obsolete("Use Generate with an ISignatureFactory")]
- public IX509AttributeCertificate Generate(
- AsymmetricKeyParameter privateKey)
- {
- return Generate(privateKey, null);
- }
-
- /// <summary>
- /// Generate an X509 certificate, based on the current issuer and subject,
- /// using the supplied source of randomness, if required.
- /// </summary>
- [Obsolete("Use Generate with an ISignatureFactory")]
- public IX509AttributeCertificate Generate(
- AsymmetricKeyParameter privateKey,
- SecureRandom random)
- {
- return Generate(new Asn1SignatureFactory(signatureAlgorithm, privateKey, random));
- }
-
- /// <summary>
/// Generate a new X.509 Attribute Certificate using the passed in SignatureCalculator.
/// </summary>
/// <param name="signatureCalculatorFactory">A signature calculator factory with the necessary algorithm details.</param>
diff --git a/crypto/src/x509/X509V2CRLGenerator.cs b/crypto/src/x509/X509V2CRLGenerator.cs
index d16178ffa..ba5c7de2d 100644
--- a/crypto/src/x509/X509V2CRLGenerator.cs
+++ b/crypto/src/x509/X509V2CRLGenerator.cs
@@ -21,10 +21,7 @@ namespace Org.BouncyCastle.X509
{
private readonly X509ExtensionsGenerator extGenerator = new X509ExtensionsGenerator();
- private V2TbsCertListGenerator tbsGen;
- private DerObjectIdentifier sigOID;
- private AlgorithmIdentifier sigAlgId;
- private string signatureAlgorithm;
+ private V2TbsCertListGenerator tbsGen;
public X509V2CrlGenerator()
{
@@ -130,30 +127,6 @@ namespace Org.BouncyCastle.X509
}
}
- /// <summary>
- /// Set the signature algorithm that will be used to sign this CRL.
- /// </summary>
- /// <param name="signatureAlgorithm"/>
- [Obsolete("Not needed if Generate used with an ISignatureFactory")]
- public void SetSignatureAlgorithm(
- string signatureAlgorithm)
- {
- this.signatureAlgorithm = signatureAlgorithm;
-
- try
- {
- sigOID = X509Utilities.GetAlgorithmOid(signatureAlgorithm);
- }
- catch (Exception e)
- {
- throw new ArgumentException("Unknown signature type requested", e);
- }
-
- sigAlgId = X509Utilities.GetSigAlgID(sigOID, signatureAlgorithm);
-
- tbsGen.SetSignature(sigAlgId);
- }
-
/**
* add a given extension field for the standard extensions tag (tag 0)
*/
@@ -199,32 +172,6 @@ namespace Org.BouncyCastle.X509
}
/// <summary>
- /// Generate an X.509 CRL, based on the current issuer and subject.
- /// </summary>
- /// <param name="privateKey">The private key of the issuer that is signing this certificate.</param>
- /// <returns>An X509Crl.</returns>
- [Obsolete("Use Generate with an ISignatureFactory")]
- public X509Crl Generate(
- AsymmetricKeyParameter privateKey)
- {
- return Generate(privateKey, null);
- }
-
- /// <summary>
- /// Generate an X.509 CRL, based on the current issuer and subject using the specified secure random.
- /// </summary>
- /// <param name="privateKey">The private key of the issuer that is signing this certificate.</param>
- /// <param name="random">Your Secure Random instance.</param>
- /// <returns>An X509Crl.</returns>
- [Obsolete("Use Generate with an ISignatureFactory")]
- public X509Crl Generate(
- AsymmetricKeyParameter privateKey,
- SecureRandom random)
- {
- return Generate(new Asn1SignatureFactory(signatureAlgorithm, privateKey, random));
- }
-
- /// <summary>
/// Generate a new X509Crl using the passed in SignatureCalculator.
/// </summary>
/// <param name="signatureCalculatorFactory">A signature calculator factory with the necessary algorithm details.</param>
diff --git a/crypto/src/x509/X509V3CertificateGenerator.cs b/crypto/src/x509/X509V3CertificateGenerator.cs
index bc619c37b..47e58ddb5 100644
--- a/crypto/src/x509/X509V3CertificateGenerator.cs
+++ b/crypto/src/x509/X509V3CertificateGenerator.cs
@@ -20,10 +20,7 @@ namespace Org.BouncyCastle.X509
{
private readonly X509ExtensionsGenerator extGenerator = new X509ExtensionsGenerator();
- private V3TbsCertificateGenerator tbsGen;
- private DerObjectIdentifier sigOid;
- private AlgorithmIdentifier sigAlgId;
- private string signatureAlgorithm;
+ private V3TbsCertificateGenerator tbsGen;
public X509V3CertificateGenerator()
{
@@ -108,30 +105,6 @@ namespace Org.BouncyCastle.X509
}
/// <summary>
- /// Set the signature algorithm that will be used to sign this certificate.
- /// </summary>
- /// <param name="signatureAlgorithm"/>
- [Obsolete("Not needed if Generate used with an ISignatureFactory")]
- public void SetSignatureAlgorithm(
- string signatureAlgorithm)
- {
- this.signatureAlgorithm = signatureAlgorithm;
-
- try
- {
- sigOid = X509Utilities.GetAlgorithmOid(signatureAlgorithm);
- }
- catch (Exception)
- {
- throw new ArgumentException("Unknown signature type requested: " + signatureAlgorithm);
- }
-
- sigAlgId = X509Utilities.GetSigAlgID(sigOid, signatureAlgorithm);
-
- tbsGen.SetSignature(sigAlgId);
- }
-
- /// <summary>
/// Set the subject unique ID - note: it is very rare that it is correct to do this.
/// </summary>
/// <param name="uniqueID"/>
@@ -272,32 +245,6 @@ namespace Org.BouncyCastle.X509
}
/// <summary>
- /// Generate an X509Certificate.
- /// </summary>
- /// <param name="privateKey">The private key of the issuer that is signing this certificate.</param>
- /// <returns>An X509Certificate.</returns>
- [Obsolete("Use Generate with an ISignatureFactory")]
- public X509Certificate Generate(
- AsymmetricKeyParameter privateKey)
- {
- return Generate(privateKey, null);
- }
-
- /// <summary>
- /// Generate an X509Certificate using your own SecureRandom.
- /// </summary>
- /// <param name="privateKey">The private key of the issuer that is signing this certificate.</param>
- /// <param name="random">You Secure Random instance.</param>
- /// <returns>An X509Certificate.</returns>
- [Obsolete("Use Generate with an ISignatureFactory")]
- public X509Certificate Generate(
- AsymmetricKeyParameter privateKey,
- SecureRandom random)
- {
- return Generate(new Asn1SignatureFactory(signatureAlgorithm, privateKey, random));
- }
-
- /// <summary>
/// Generate a new X509Certificate using the passed in SignatureCalculator.
/// </summary>
/// <param name="signatureCalculatorFactory">A signature calculator factory with the necessary algorithm details.</param>
|