summary refs log tree commit diff
path: root/crypto/src/pkcs
diff options
context:
space:
mode:
Diffstat (limited to 'crypto/src/pkcs')
-rw-r--r--crypto/src/pkcs/PrivateKeyInfoFactory.cs20
1 files changed, 15 insertions, 5 deletions
diff --git a/crypto/src/pkcs/PrivateKeyInfoFactory.cs b/crypto/src/pkcs/PrivateKeyInfoFactory.cs
index d56831f35..b180e49f2 100644
--- a/crypto/src/pkcs/PrivateKeyInfoFactory.cs
+++ b/crypto/src/pkcs/PrivateKeyInfoFactory.cs
@@ -164,15 +164,25 @@ namespace Org.BouncyCastle.Pkcs
                 else
                 {
                     X962Parameters x962;
-                    if (priv.PublicKeyParamSet == null)
+                    //if (priv.PublicKeyParamSet == null)
+                    //{
+                    //    X9ECParameters ecP = new X9ECParameters(dp.Curve, new X9ECPoint(dp.G, false), dp.N, dp.H,
+                    //        dp.GetSeed());
+                    //    x962 = new X962Parameters(ecP);
+                    //}
+                    //else
+                    //{
+                    //    x962 = new X962Parameters(priv.PublicKeyParamSet);
+                    //}
+                    if (dp is ECNamedDomainParameters _dp)
                     {
-                        X9ECParameters ecP = new X9ECParameters(dp.Curve, new X9ECPoint(dp.G, false), dp.N, dp.H,
-                            dp.GetSeed());
-                        x962 = new X962Parameters(ecP);
+                        x962 = new X962Parameters(_dp.Name);  
                     }
                     else
                     {
-                        x962 = new X962Parameters(priv.PublicKeyParamSet);
+                        X9ECParameters ecP = new X9ECParameters(dp.Curve, new X9ECPoint(dp.G, false), dp.N, dp.H,
+                            dp.GetSeed());
+                        x962 = new X962Parameters(ecP);
                     }
 
                     ec = new ECPrivateKeyStructure(orderBitLength, priv.D, publicKey, x962);