C# file and ASPX
I am new to c# and asp.net. I am trying to figure out how to get a my .cs file that contains a encrpyter function (rsahelper) to work with my auth.aspx page. How do I get the aspx file to use the rsahelper function inside my .cs file? Essentially I would just like to write the variable "sign" to the page so that I can see what it looks like.
Here is the .cs file and the aspx file
rsahelper.cs
public class RSAHelper
{
private TripleDESCryptoServiceProvider m_des;
public RSAHelper()
{
m_des = new TripleDESCryptoServiceProvider();
m_des.Mode = CipherMode.ECB;
m_des.Padding = PaddingMode.PKCS7;
m_des.KeySize = 192;
m_des.GenerateKey();
}
public int KeySize
{
get
{
return m_des.KeySize;
}
}
public byte[] Key
{
get
{
return m_des.Key;
}
}
public byte[] IV
{
get
{
return m_des.IV;
}
}
public string SessionKeyBase64
{
get
{
return Convert.ToBase64String(m_des.Key);
}
}
public string DateTimeUtc
{
get
{
return DateTime.UtcNow.ToString(@"ddd MMM dd HH:mm:ss \G\M\T yyyy");
}
}
public string EncryptWithSessionKey(string clearText)
{
byte[] buff = ASCIIEncoding.ASCII.GetBytes(clearText);
byte[] encrypted = m_des.CreateEncryptor(m_des.Key, m_des.IV).TransformFinalBlock(buff, 0, buff.Length);
string result = Convert.ToBase64String(encrypted);
return result;
}
public string EncryptWithRSA(string clearText, string rsaPublicKeyFile)
{
CspParameters param = new CspParameters();
param.Flags = CspProviderFlags.UseMachineKeyStore;
RSACryptoServiceProvider rsa = new RSACryptoServiceProvider(param);
rsa.PersistKeyInCsp = false;
rsa.FromXmlString(ReadXmlKey(rsaPublicKeyFile));
byte[] buff = ASCIIEncoding.ASCII.GetBytes(clearText);
byte[] encrypted = rsa.Encrypt(buff, false);
string result = Convert.ToBase64String(encrypted);
return result;
}
public string EncryptSessionWithRSA(string rsaPublicKeyFile)
{
CspParameters param = new CspParameters();
param.Flags = CspProviderFlags.UseMachineKeyStore;
RSACryptoServiceProvider rsa = new RSACryptoServiceProvider(param);
rsa.PersistKeyInCsp = false;
rsa.FromXmlString(ReadXmlKey(rsaPublicKeyFile));
byte[] buff = m_des.Key;
byte[] encrypted = rsa.Encrypt(buff, false);
string result = Convert.ToBase64String(encrypted);
return result;
}
public string SignWithRSAMD5(string text, string rsaKeyPairFile)
{
CspParameters param = new CspParameters();
param.Flags = CspProviderFlags.UseMachineKeyStore;
RSACryptoServiceProvider rsa = new RSACryptoServiceProvider(param);
rsa.PersistKeyInCsp = false;
rsa.FromXmlString(ReadXmlKey(rsaKeyPairFile));
byte[] buff = ASCIIEncoding.ASCII.GetBytes(text);
byte[] signed = rsa.SignData(buff, new MD5CryptoServiceProvider());
string result = Convert.ToBase64String(signed);
return result;
}
public string URLEncode(string text)
{
return HttpUtility.UrlEncode(text);
}
private string ReadXmlKey(string fileName)
{
XmlTextReader reader = new XmlTextReader(fileName);
reader.WhitespaceHandling = WhitespaceHandling.None;
reader.MoveToContent();
string rsakeystring = reader.ReadOuterXml();
return rsakeystring;
}
}
auth.aspx file:
<%
Dim rsa, token, sign, cipherValue
Dim haKeyVer, tpKeyVer, clientId, grpCustNum
Dim ssn, eeid, employerName
Dim keyFile, keyPairFile
ssn = "000000001"
eeid = "1"
' these are environment specific
haKeyVer = 1
tpKeyVer = 1
keypublic="test"
keypairfile="testtest"
clientId = "00000"
grpCustNum = "
Set rsa = CreateObject("RSAHelper")
token = "user_id=" & eeid & ";"
token = token & "esig_password=" & Right(ssn, 4) & ";"
token = token & "esig_label=" & "Last 4 digits of your Social Security number." & ";"
token = token & "lock_out_contact=" & "Please contact your Benefits Administrator for details." & ";"
token = token & "soh_grp_num=" & clientId & ";"
token = token & "employee_id=" & eeid & ";"
token = token & "ssn=" & ssn & ";"
token = token & "employer_name=" & employerName & ";"
token = token & "stampedAt=" & rsa.DateTimeUtc
token = rsa.EncryptWithSessionKey(token)
cipherValue = rsa.EncryptSessionWithRSA(keyPublic)
sign = token
sign = sign & cipherValue
sign = sign & clientId
sign = sign & grpCustNum
sign = rsa.SignWithRSAMD5(sign, keyPairFile)
' url encode everything
token = rsa.URLEncode(token) & "decode"
cipherValue = rsa.URLEncode(cipherValue) & "decode"
sign = rsa.URLEncode(sign) & "decode"
response.write "sign"&sign
response.end
%>
I am new to c# and asp.net. I am trying to figure out how to get a my .cs file that contains a encrpyter function (rsahelper) to work with my auth.aspx page. How do I get the aspx file to use the rsahelper function inside my .cs file? Essentially I would just like to write the variable "sign" to the page so that I can see what it looks like.
Here is the .cs file and the aspx file
rsahelper.cs
public class RSAHelper
{
private TripleDESCryptoServiceProvider m_des;
public RSAHelper()
{
m_des = new TripleDESCryptoServiceProvider();
m_des.Mode = CipherMode.ECB;
m_des.Padding = PaddingMode.PKCS7;
m_des.KeySize = 192;
m_des.GenerateKey();
}
public int KeySize
{
get
{
return m_des.KeySize;
}
}
public byte[] Key
{
get
{
return m_des.Key;
}
}
public byte[] IV
{
get
{
return m_des.IV;
}
}
public string SessionKeyBase64
{
get
{
return Convert.ToBase64String(m_des.Key);
}
}
public string DateTimeUtc
{
get
{
return DateTime.UtcNow.ToString(@"ddd MMM dd HH:mm:ss \G\M\T yyyy");
}
}
public string EncryptWithSessionKey(string clearText)
{
byte[] buff = ASCIIEncoding.ASCII.GetBytes(clearText);
byte[] encrypted = m_des.CreateEncryptor(m_des.Key, m_des.IV).TransformFinalBlock(buff, 0, buff.Length);
string result = Convert.ToBase64String(encrypted);
return result;
}
public string EncryptWithRSA(string clearText, string rsaPublicKeyFile)
{
CspParameters param = new CspParameters();
param.Flags = CspProviderFlags.UseMachineKeyStore;
RSACryptoServiceProvider rsa = new RSACryptoServiceProvider(param);
rsa.PersistKeyInCsp = false;
rsa.FromXmlString(ReadXmlKey(rsaPublicKeyFile));
byte[] buff = ASCIIEncoding.ASCII.GetBytes(clearText);
byte[] encrypted = rsa.Encrypt(buff, false);
string result = Convert.ToBase64String(encrypted);
return result;
}
public string EncryptSessionWithRSA(string rsaPublicKeyFile)
{
CspParameters param = new CspParameters();
param.Flags = CspProviderFlags.UseMachineKeyStore;
RSACryptoServiceProvider rsa = new RSACryptoServiceProvider(param);
rsa.PersistKeyInCsp = false;
rsa.FromXmlString(ReadXmlKey(rsaPublicKeyFile));
byte[] buff = m_des.Key;
byte[] encrypted = rsa.Encrypt(buff, false);
string result = Convert.ToBase64String(encrypted);
return result;
}
public string SignWithRSAMD5(string text, string rsaKeyPairFile)
{
CspParameters param = new CspParameters();
param.Flags = CspProviderFlags.UseMachineKeyStore;
RSACryptoServiceProvider rsa = new RSACryptoServiceProvider(param);
rsa.PersistKeyInCsp = false;
rsa.FromXmlString(ReadXmlKey(rsaKeyPairFile));
byte[] buff = ASCIIEncoding.ASCII.GetBytes(text);
byte[] signed = rsa.SignData(buff, new MD5CryptoServiceProvider());
string result = Convert.ToBase64String(signed);
return result;
}
public string URLEncode(string text)
{
return HttpUtility.UrlEncode(text);
}
private string ReadXmlKey(string fileName)
{
XmlTextReader reader = new XmlTextReader(fileName);
reader.WhitespaceHandling = WhitespaceHandling.None;
reader.MoveToContent();
string rsakeystring = reader.ReadOuterXml();
return rsakeystring;
}
}
auth.aspx file:
<%
Dim rsa, token, sign, cipherValue
Dim haKeyVer, tpKeyVer, clientId, grpCustNum
Dim ssn, eeid, employerName
Dim keyFile, keyPairFile
ssn = "000000001"
eeid = "1"
' these are environment specific
haKeyVer = 1
tpKeyVer = 1
keypublic="test"
keypairfile="testtest"
clientId = "00000"
grpCustNum = "
Set rsa = CreateObject("RSAHelper")
token = "user_id=" & eeid & ";"
token = token & "esig_password=" & Right(ssn, 4) & ";"
token = token & "esig_label=" & "Last 4 digits of your Social Security number." & ";"
token = token & "lock_out_contact=" & "Please contact your Benefits Administrator for details." & ";"
token = token & "soh_grp_num=" & clientId & ";"
token = token & "employee_id=" & eeid & ";"
token = token & "ssn=" & ssn & ";"
token = token & "employer_name=" & employerName & ";"
token = token & "stampedAt=" & rsa.DateTimeUtc
token = rsa.EncryptWithSessionKey(token)
cipherValue = rsa.EncryptSessionWithRSA(keyPublic)
sign = token
sign = sign & cipherValue
sign = sign & clientId
sign = sign & grpCustNum
sign = rsa.SignWithRSAMD5(sign, keyPairFile)
' url encode everything
token = rsa.URLEncode(token) & "decode"
cipherValue = rsa.URLEncode(cipherValue) & "decode"
sign = rsa.URLEncode(sign) & "decode"
response.write "sign"&sign
response.end
%>