diff --git a/CryptoExchange.Net/Authentication/AuthenticationProvider.cs b/CryptoExchange.Net/Authentication/AuthenticationProvider.cs
index 4dd1431..0dc3cd4 100644
--- a/CryptoExchange.Net/Authentication/AuthenticationProvider.cs
+++ b/CryptoExchange.Net/Authentication/AuthenticationProvider.cs
@@ -1,4 +1,5 @@
using CryptoExchange.Net.Interfaces;
+using System.Security;
namespace CryptoExchange.Net.Authentication
{
@@ -6,11 +7,18 @@ namespace CryptoExchange.Net.Authentication
{
public ApiCredentials Credentials { get; }
+ public SecureString PrivateKey { get; }
+
protected AuthenticationProvider(ApiCredentials credentials)
{
Credentials = credentials;
}
+ protected AuthenticationProvider(SecureString privateKey)
+ {
+ PrivateKey = privateKey;
+ }
+
public virtual string AddAuthenticationToUriString(string uri, bool signed)
{
return uri;
diff --git a/CryptoExchange.Net/ExchangeOptions.cs b/CryptoExchange.Net/ExchangeOptions.cs
index b2629da..0ce7720 100644
--- a/CryptoExchange.Net/ExchangeOptions.cs
+++ b/CryptoExchange.Net/ExchangeOptions.cs
@@ -1,5 +1,6 @@
using System.Collections.Generic;
using System.IO;
+using System.Security;
using CryptoExchange.Net.Authentication;
using CryptoExchange.Net.Logging;
using CryptoExchange.Net.RateLimiter;
@@ -17,6 +18,11 @@ namespace CryptoExchange.Net
///
public ApiCredentials ApiCredentials { get; set; }
+ ///
+ /// The private key instead of api credentials
+ ///
+ public SecureString PrivateKey { get; set; }
+
///
/// Proxy to use
///