diff --git a/modules/openapi-generator/src/main/resources/csharp/HttpSigningConfiguration.mustache b/modules/openapi-generator/src/main/resources/csharp/HttpSigningConfiguration.mustache
index 04a0518a630a..913a483a9675 100644
--- a/modules/openapi-generator/src/main/resources/csharp/HttpSigningConfiguration.mustache
+++ b/modules/openapi-generator/src/main/resources/csharp/HttpSigningConfiguration.mustache
@@ -341,6 +341,10 @@ namespace {{packageName}}.Client
/// ECDSA signature
private string GetECDSASignature(byte[] dataToSign)
{
+ {{#net60OrLater}}
+ if (!File.Exists(KeyFilePath))
+ throw new Exception("key file path does not exist.");
+
var keyStr = KeyString;
const string ecKeyHeader = "-----BEGIN EC PRIVATE KEY-----";
const string ecKeyFooter = "-----END EC PRIVATE KEY-----";
@@ -348,7 +352,6 @@ namespace {{packageName}}.Client
var keyBytes = System.Convert.FromBase64String(ecKeyBase64String);
var ecdsa = ECDsa.Create();
-#if (NETCOREAPP3_0 || NETCOREAPP3_1 || NET5_0)
var byteCount = 0;
if (KeyPassPhrase != null)
{
@@ -368,17 +371,17 @@ namespace {{packageName}}.Client
}
}
else
- {
ecdsa.ImportPkcs8PrivateKey(keyBytes, out byteCount);
- }
+
var signedBytes = ecdsa.SignHash(dataToSign);
var derBytes = ConvertToECDSAANS1Format(signedBytes);
var signedString = System.Convert.ToBase64String(derBytes);
return signedString;
-#else
+ {{/net60OrLater}}
+ {{^net60OrLater}}
throw new Exception("ECDSA signing is supported only on NETCOREAPP3_0 and above");
-#endif
+ {{/net60OrLater}}
}
private byte[] ConvertToECDSAANS1Format(byte[] signedBytes)
diff --git a/samples/client/petstore/csharp/OpenAPIClient-ConditionalSerialization/src/Org.OpenAPITools/Client/HttpSigningConfiguration.cs b/samples/client/petstore/csharp/OpenAPIClient-ConditionalSerialization/src/Org.OpenAPITools/Client/HttpSigningConfiguration.cs
index 2f04603b7f96..329284ff41d0 100644
--- a/samples/client/petstore/csharp/OpenAPIClient-ConditionalSerialization/src/Org.OpenAPITools/Client/HttpSigningConfiguration.cs
+++ b/samples/client/petstore/csharp/OpenAPIClient-ConditionalSerialization/src/Org.OpenAPITools/Client/HttpSigningConfiguration.cs
@@ -349,44 +349,7 @@ namespace Org.OpenAPITools.Client
/// ECDSA signature
private string GetECDSASignature(byte[] dataToSign)
{
- var keyStr = KeyString;
- const string ecKeyHeader = "-----BEGIN EC PRIVATE KEY-----";
- const string ecKeyFooter = "-----END EC PRIVATE KEY-----";
- var ecKeyBase64String = keyStr.Replace(ecKeyHeader, "").Replace(ecKeyFooter, "").Trim();
- var keyBytes = System.Convert.FromBase64String(ecKeyBase64String);
- var ecdsa = ECDsa.Create();
-
-#if (NETCOREAPP3_0 || NETCOREAPP3_1 || NET5_0)
- var byteCount = 0;
- if (KeyPassPhrase != null)
- {
- IntPtr unmanagedString = IntPtr.Zero;
- try
- {
- // convert secure string to byte array
- unmanagedString = Marshal.SecureStringToGlobalAllocUnicode(KeyPassPhrase);
- ecdsa.ImportEncryptedPkcs8PrivateKey(Encoding.UTF8.GetBytes(Marshal.PtrToStringUni(unmanagedString)), keyBytes, out byteCount);
- }
- finally
- {
- if (unmanagedString != IntPtr.Zero)
- {
- Marshal.ZeroFreeBSTR(unmanagedString);
- }
- }
- }
- else
- {
- ecdsa.ImportPkcs8PrivateKey(keyBytes, out byteCount);
- }
- var signedBytes = ecdsa.SignHash(dataToSign);
- var derBytes = ConvertToECDSAANS1Format(signedBytes);
- var signedString = System.Convert.ToBase64String(derBytes);
-
- return signedString;
-#else
throw new Exception("ECDSA signing is supported only on NETCOREAPP3_0 and above");
-#endif
}
private byte[] ConvertToECDSAANS1Format(byte[] signedBytes)
diff --git a/samples/client/petstore/csharp/OpenAPIClient-httpclient/src/Org.OpenAPITools/Client/HttpSigningConfiguration.cs b/samples/client/petstore/csharp/OpenAPIClient-httpclient/src/Org.OpenAPITools/Client/HttpSigningConfiguration.cs
index 2f04603b7f96..329284ff41d0 100644
--- a/samples/client/petstore/csharp/OpenAPIClient-httpclient/src/Org.OpenAPITools/Client/HttpSigningConfiguration.cs
+++ b/samples/client/petstore/csharp/OpenAPIClient-httpclient/src/Org.OpenAPITools/Client/HttpSigningConfiguration.cs
@@ -349,44 +349,7 @@ namespace Org.OpenAPITools.Client
/// ECDSA signature
private string GetECDSASignature(byte[] dataToSign)
{
- var keyStr = KeyString;
- const string ecKeyHeader = "-----BEGIN EC PRIVATE KEY-----";
- const string ecKeyFooter = "-----END EC PRIVATE KEY-----";
- var ecKeyBase64String = keyStr.Replace(ecKeyHeader, "").Replace(ecKeyFooter, "").Trim();
- var keyBytes = System.Convert.FromBase64String(ecKeyBase64String);
- var ecdsa = ECDsa.Create();
-
-#if (NETCOREAPP3_0 || NETCOREAPP3_1 || NET5_0)
- var byteCount = 0;
- if (KeyPassPhrase != null)
- {
- IntPtr unmanagedString = IntPtr.Zero;
- try
- {
- // convert secure string to byte array
- unmanagedString = Marshal.SecureStringToGlobalAllocUnicode(KeyPassPhrase);
- ecdsa.ImportEncryptedPkcs8PrivateKey(Encoding.UTF8.GetBytes(Marshal.PtrToStringUni(unmanagedString)), keyBytes, out byteCount);
- }
- finally
- {
- if (unmanagedString != IntPtr.Zero)
- {
- Marshal.ZeroFreeBSTR(unmanagedString);
- }
- }
- }
- else
- {
- ecdsa.ImportPkcs8PrivateKey(keyBytes, out byteCount);
- }
- var signedBytes = ecdsa.SignHash(dataToSign);
- var derBytes = ConvertToECDSAANS1Format(signedBytes);
- var signedString = System.Convert.ToBase64String(derBytes);
-
- return signedString;
-#else
throw new Exception("ECDSA signing is supported only on NETCOREAPP3_0 and above");
-#endif
}
private byte[] ConvertToECDSAANS1Format(byte[] signedBytes)
diff --git a/samples/client/petstore/csharp/OpenAPIClient-net47/src/Org.OpenAPITools/Client/HttpSigningConfiguration.cs b/samples/client/petstore/csharp/OpenAPIClient-net47/src/Org.OpenAPITools/Client/HttpSigningConfiguration.cs
index 2f04603b7f96..329284ff41d0 100644
--- a/samples/client/petstore/csharp/OpenAPIClient-net47/src/Org.OpenAPITools/Client/HttpSigningConfiguration.cs
+++ b/samples/client/petstore/csharp/OpenAPIClient-net47/src/Org.OpenAPITools/Client/HttpSigningConfiguration.cs
@@ -349,44 +349,7 @@ namespace Org.OpenAPITools.Client
/// ECDSA signature
private string GetECDSASignature(byte[] dataToSign)
{
- var keyStr = KeyString;
- const string ecKeyHeader = "-----BEGIN EC PRIVATE KEY-----";
- const string ecKeyFooter = "-----END EC PRIVATE KEY-----";
- var ecKeyBase64String = keyStr.Replace(ecKeyHeader, "").Replace(ecKeyFooter, "").Trim();
- var keyBytes = System.Convert.FromBase64String(ecKeyBase64String);
- var ecdsa = ECDsa.Create();
-
-#if (NETCOREAPP3_0 || NETCOREAPP3_1 || NET5_0)
- var byteCount = 0;
- if (KeyPassPhrase != null)
- {
- IntPtr unmanagedString = IntPtr.Zero;
- try
- {
- // convert secure string to byte array
- unmanagedString = Marshal.SecureStringToGlobalAllocUnicode(KeyPassPhrase);
- ecdsa.ImportEncryptedPkcs8PrivateKey(Encoding.UTF8.GetBytes(Marshal.PtrToStringUni(unmanagedString)), keyBytes, out byteCount);
- }
- finally
- {
- if (unmanagedString != IntPtr.Zero)
- {
- Marshal.ZeroFreeBSTR(unmanagedString);
- }
- }
- }
- else
- {
- ecdsa.ImportPkcs8PrivateKey(keyBytes, out byteCount);
- }
- var signedBytes = ecdsa.SignHash(dataToSign);
- var derBytes = ConvertToECDSAANS1Format(signedBytes);
- var signedString = System.Convert.ToBase64String(derBytes);
-
- return signedString;
-#else
throw new Exception("ECDSA signing is supported only on NETCOREAPP3_0 and above");
-#endif
}
private byte[] ConvertToECDSAANS1Format(byte[] signedBytes)
diff --git a/samples/client/petstore/csharp/OpenAPIClient-net48/src/Org.OpenAPITools/Client/HttpSigningConfiguration.cs b/samples/client/petstore/csharp/OpenAPIClient-net48/src/Org.OpenAPITools/Client/HttpSigningConfiguration.cs
index 2f04603b7f96..329284ff41d0 100644
--- a/samples/client/petstore/csharp/OpenAPIClient-net48/src/Org.OpenAPITools/Client/HttpSigningConfiguration.cs
+++ b/samples/client/petstore/csharp/OpenAPIClient-net48/src/Org.OpenAPITools/Client/HttpSigningConfiguration.cs
@@ -349,44 +349,7 @@ namespace Org.OpenAPITools.Client
/// ECDSA signature
private string GetECDSASignature(byte[] dataToSign)
{
- var keyStr = KeyString;
- const string ecKeyHeader = "-----BEGIN EC PRIVATE KEY-----";
- const string ecKeyFooter = "-----END EC PRIVATE KEY-----";
- var ecKeyBase64String = keyStr.Replace(ecKeyHeader, "").Replace(ecKeyFooter, "").Trim();
- var keyBytes = System.Convert.FromBase64String(ecKeyBase64String);
- var ecdsa = ECDsa.Create();
-
-#if (NETCOREAPP3_0 || NETCOREAPP3_1 || NET5_0)
- var byteCount = 0;
- if (KeyPassPhrase != null)
- {
- IntPtr unmanagedString = IntPtr.Zero;
- try
- {
- // convert secure string to byte array
- unmanagedString = Marshal.SecureStringToGlobalAllocUnicode(KeyPassPhrase);
- ecdsa.ImportEncryptedPkcs8PrivateKey(Encoding.UTF8.GetBytes(Marshal.PtrToStringUni(unmanagedString)), keyBytes, out byteCount);
- }
- finally
- {
- if (unmanagedString != IntPtr.Zero)
- {
- Marshal.ZeroFreeBSTR(unmanagedString);
- }
- }
- }
- else
- {
- ecdsa.ImportPkcs8PrivateKey(keyBytes, out byteCount);
- }
- var signedBytes = ecdsa.SignHash(dataToSign);
- var derBytes = ConvertToECDSAANS1Format(signedBytes);
- var signedString = System.Convert.ToBase64String(derBytes);
-
- return signedString;
-#else
throw new Exception("ECDSA signing is supported only on NETCOREAPP3_0 and above");
-#endif
}
private byte[] ConvertToECDSAANS1Format(byte[] signedBytes)
diff --git a/samples/client/petstore/csharp/OpenAPIClient-net5.0/src/Org.OpenAPITools/Client/HttpSigningConfiguration.cs b/samples/client/petstore/csharp/OpenAPIClient-net5.0/src/Org.OpenAPITools/Client/HttpSigningConfiguration.cs
index e42e333d3751..f8c8de85abad 100644
--- a/samples/client/petstore/csharp/OpenAPIClient-net5.0/src/Org.OpenAPITools/Client/HttpSigningConfiguration.cs
+++ b/samples/client/petstore/csharp/OpenAPIClient-net5.0/src/Org.OpenAPITools/Client/HttpSigningConfiguration.cs
@@ -349,6 +349,9 @@ namespace Org.OpenAPITools.Client
/// ECDSA signature
private string GetECDSASignature(byte[] dataToSign)
{
+ if (!File.Exists(KeyFilePath))
+ throw new Exception("key file path does not exist.");
+
var keyStr = KeyString;
const string ecKeyHeader = "-----BEGIN EC PRIVATE KEY-----";
const string ecKeyFooter = "-----END EC PRIVATE KEY-----";
@@ -356,7 +359,6 @@ namespace Org.OpenAPITools.Client
var keyBytes = System.Convert.FromBase64String(ecKeyBase64String);
var ecdsa = ECDsa.Create();
-#if (NETCOREAPP3_0 || NETCOREAPP3_1 || NET5_0)
var byteCount = 0;
if (KeyPassPhrase != null)
{
@@ -376,17 +378,13 @@ namespace Org.OpenAPITools.Client
}
}
else
- {
ecdsa.ImportPkcs8PrivateKey(keyBytes, out byteCount);
- }
+
var signedBytes = ecdsa.SignHash(dataToSign);
var derBytes = ConvertToECDSAANS1Format(signedBytes);
var signedString = System.Convert.ToBase64String(derBytes);
return signedString;
-#else
- throw new Exception("ECDSA signing is supported only on NETCOREAPP3_0 and above");
-#endif
}
private byte[] ConvertToECDSAANS1Format(byte[] signedBytes)
diff --git a/samples/client/petstore/csharp/OpenAPIClient-unityWebRequest/src/Org.OpenAPITools/Client/HttpSigningConfiguration.cs b/samples/client/petstore/csharp/OpenAPIClient-unityWebRequest/src/Org.OpenAPITools/Client/HttpSigningConfiguration.cs
index 2f04603b7f96..329284ff41d0 100644
--- a/samples/client/petstore/csharp/OpenAPIClient-unityWebRequest/src/Org.OpenAPITools/Client/HttpSigningConfiguration.cs
+++ b/samples/client/petstore/csharp/OpenAPIClient-unityWebRequest/src/Org.OpenAPITools/Client/HttpSigningConfiguration.cs
@@ -349,44 +349,7 @@ namespace Org.OpenAPITools.Client
/// ECDSA signature
private string GetECDSASignature(byte[] dataToSign)
{
- var keyStr = KeyString;
- const string ecKeyHeader = "-----BEGIN EC PRIVATE KEY-----";
- const string ecKeyFooter = "-----END EC PRIVATE KEY-----";
- var ecKeyBase64String = keyStr.Replace(ecKeyHeader, "").Replace(ecKeyFooter, "").Trim();
- var keyBytes = System.Convert.FromBase64String(ecKeyBase64String);
- var ecdsa = ECDsa.Create();
-
-#if (NETCOREAPP3_0 || NETCOREAPP3_1 || NET5_0)
- var byteCount = 0;
- if (KeyPassPhrase != null)
- {
- IntPtr unmanagedString = IntPtr.Zero;
- try
- {
- // convert secure string to byte array
- unmanagedString = Marshal.SecureStringToGlobalAllocUnicode(KeyPassPhrase);
- ecdsa.ImportEncryptedPkcs8PrivateKey(Encoding.UTF8.GetBytes(Marshal.PtrToStringUni(unmanagedString)), keyBytes, out byteCount);
- }
- finally
- {
- if (unmanagedString != IntPtr.Zero)
- {
- Marshal.ZeroFreeBSTR(unmanagedString);
- }
- }
- }
- else
- {
- ecdsa.ImportPkcs8PrivateKey(keyBytes, out byteCount);
- }
- var signedBytes = ecdsa.SignHash(dataToSign);
- var derBytes = ConvertToECDSAANS1Format(signedBytes);
- var signedString = System.Convert.ToBase64String(derBytes);
-
- return signedString;
-#else
throw new Exception("ECDSA signing is supported only on NETCOREAPP3_0 and above");
-#endif
}
private byte[] ConvertToECDSAANS1Format(byte[] signedBytes)
diff --git a/samples/client/petstore/csharp/OpenAPIClient/src/Org.OpenAPITools/Client/HttpSigningConfiguration.cs b/samples/client/petstore/csharp/OpenAPIClient/src/Org.OpenAPITools/Client/HttpSigningConfiguration.cs
index 2f04603b7f96..329284ff41d0 100644
--- a/samples/client/petstore/csharp/OpenAPIClient/src/Org.OpenAPITools/Client/HttpSigningConfiguration.cs
+++ b/samples/client/petstore/csharp/OpenAPIClient/src/Org.OpenAPITools/Client/HttpSigningConfiguration.cs
@@ -349,44 +349,7 @@ namespace Org.OpenAPITools.Client
/// ECDSA signature
private string GetECDSASignature(byte[] dataToSign)
{
- var keyStr = KeyString;
- const string ecKeyHeader = "-----BEGIN EC PRIVATE KEY-----";
- const string ecKeyFooter = "-----END EC PRIVATE KEY-----";
- var ecKeyBase64String = keyStr.Replace(ecKeyHeader, "").Replace(ecKeyFooter, "").Trim();
- var keyBytes = System.Convert.FromBase64String(ecKeyBase64String);
- var ecdsa = ECDsa.Create();
-
-#if (NETCOREAPP3_0 || NETCOREAPP3_1 || NET5_0)
- var byteCount = 0;
- if (KeyPassPhrase != null)
- {
- IntPtr unmanagedString = IntPtr.Zero;
- try
- {
- // convert secure string to byte array
- unmanagedString = Marshal.SecureStringToGlobalAllocUnicode(KeyPassPhrase);
- ecdsa.ImportEncryptedPkcs8PrivateKey(Encoding.UTF8.GetBytes(Marshal.PtrToStringUni(unmanagedString)), keyBytes, out byteCount);
- }
- finally
- {
- if (unmanagedString != IntPtr.Zero)
- {
- Marshal.ZeroFreeBSTR(unmanagedString);
- }
- }
- }
- else
- {
- ecdsa.ImportPkcs8PrivateKey(keyBytes, out byteCount);
- }
- var signedBytes = ecdsa.SignHash(dataToSign);
- var derBytes = ConvertToECDSAANS1Format(signedBytes);
- var signedString = System.Convert.ToBase64String(derBytes);
-
- return signedString;
-#else
throw new Exception("ECDSA signing is supported only on NETCOREAPP3_0 and above");
-#endif
}
private byte[] ConvertToECDSAANS1Format(byte[] signedBytes)
diff --git a/samples/client/petstore/csharp/OpenAPIClientCore/src/Org.OpenAPITools/Client/HttpSigningConfiguration.cs b/samples/client/petstore/csharp/OpenAPIClientCore/src/Org.OpenAPITools/Client/HttpSigningConfiguration.cs
index e42e333d3751..f8c8de85abad 100644
--- a/samples/client/petstore/csharp/OpenAPIClientCore/src/Org.OpenAPITools/Client/HttpSigningConfiguration.cs
+++ b/samples/client/petstore/csharp/OpenAPIClientCore/src/Org.OpenAPITools/Client/HttpSigningConfiguration.cs
@@ -349,6 +349,9 @@ namespace Org.OpenAPITools.Client
/// ECDSA signature
private string GetECDSASignature(byte[] dataToSign)
{
+ if (!File.Exists(KeyFilePath))
+ throw new Exception("key file path does not exist.");
+
var keyStr = KeyString;
const string ecKeyHeader = "-----BEGIN EC PRIVATE KEY-----";
const string ecKeyFooter = "-----END EC PRIVATE KEY-----";
@@ -356,7 +359,6 @@ namespace Org.OpenAPITools.Client
var keyBytes = System.Convert.FromBase64String(ecKeyBase64String);
var ecdsa = ECDsa.Create();
-#if (NETCOREAPP3_0 || NETCOREAPP3_1 || NET5_0)
var byteCount = 0;
if (KeyPassPhrase != null)
{
@@ -376,17 +378,13 @@ namespace Org.OpenAPITools.Client
}
}
else
- {
ecdsa.ImportPkcs8PrivateKey(keyBytes, out byteCount);
- }
+
var signedBytes = ecdsa.SignHash(dataToSign);
var derBytes = ConvertToECDSAANS1Format(signedBytes);
var signedString = System.Convert.ToBase64String(derBytes);
return signedString;
-#else
- throw new Exception("ECDSA signing is supported only on NETCOREAPP3_0 and above");
-#endif
}
private byte[] ConvertToECDSAANS1Format(byte[] signedBytes)