mirror of
https://github.com/esiur/esiur-dotnet.git
synced 2025-06-27 05:23:13 +00:00
2.2
This commit is contained in:
@ -53,11 +53,11 @@ public class CACertificate : Certificate
|
||||
|
||||
uint oOffset = offset;
|
||||
|
||||
this.id = DC.GetUInt64(data, offset);
|
||||
this.id = DC.GetUInt64(data, offset, Endian.Little);
|
||||
offset += 8;
|
||||
this.issueDate = DC.GetDateTime(data, offset);
|
||||
this.issueDate = DC.GetDateTime(data, offset, Endian.Little);
|
||||
offset += 8;
|
||||
this.expireDate = DC.GetDateTime(data, offset);
|
||||
this.expireDate = DC.GetDateTime(data, offset, Endian.Little);
|
||||
offset += 8;
|
||||
this.hashFunction = (HashFunctionType)(data[offset++] >> 4);
|
||||
|
||||
@ -77,7 +77,7 @@ public class CACertificate : Certificate
|
||||
|
||||
offset += exponentLength;
|
||||
|
||||
uint keySize = DC.GetUInt16(data, offset);
|
||||
uint keySize = DC.GetUInt16(data, offset, Endian.Little);
|
||||
offset += 2;
|
||||
|
||||
key.Modulus = DC.Clip(data, offset, keySize);
|
||||
|
@ -79,19 +79,19 @@ public class DomainCertificate : Certificate
|
||||
{
|
||||
var oOffset = offset;
|
||||
|
||||
this.id = DC.GetUInt64(data, offset);
|
||||
this.id = DC.GetUInt64(data, offset, Endian.Little);
|
||||
offset += 8;
|
||||
|
||||
// load IPs
|
||||
this.ip = DC.GetUInt32(data, offset);
|
||||
this.ip = DC.GetUInt32(data, offset, Endian.Little);
|
||||
offset += 4;
|
||||
this.ip6 = DC.Clip(data, offset, 16);
|
||||
|
||||
offset += 16;
|
||||
|
||||
this.issueDate = DC.GetDateTime(data, offset);
|
||||
this.issueDate = DC.GetDateTime(data, offset, Endian.Little);
|
||||
offset += 8;
|
||||
this.expireDate = DC.GetDateTime(data, offset);
|
||||
this.expireDate = DC.GetDateTime(data, offset, Endian.Little);
|
||||
offset += 8;
|
||||
|
||||
this.domain = Encoding.ASCII.GetString(data, (int)offset + 1, data[offset]);
|
||||
@ -100,7 +100,7 @@ public class DomainCertificate : Certificate
|
||||
this.authorityName = (Encoding.ASCII.GetString(data, (int)offset + 1, data[offset]));
|
||||
offset += (uint)data[offset] + 1;
|
||||
|
||||
caId = DC.GetUInt64(data, offset);
|
||||
caId = DC.GetUInt64(data, offset, Endian.Little);
|
||||
offset += 8;
|
||||
|
||||
var aea = (AsymetricEncryptionAlgorithmType)(data[offset] >> 5);
|
||||
@ -113,7 +113,7 @@ public class DomainCertificate : Certificate
|
||||
key.Exponent = DC.Clip(data, offset, exponentLength);
|
||||
offset += exponentLength;
|
||||
|
||||
uint keySize = DC.GetUInt16(data, offset);
|
||||
uint keySize = DC.GetUInt16(data, offset, Endian.Little);
|
||||
offset += 2;
|
||||
|
||||
key.Modulus = DC.Clip(data, offset, keySize);
|
||||
|
@ -79,21 +79,21 @@ public class UserCertificate : Certificate
|
||||
{
|
||||
var oOffset = offset;
|
||||
|
||||
this.id = DC.GetUInt64(data, offset);
|
||||
this.id = DC.GetUInt64(data, offset, Endian.Little);
|
||||
offset += 8;
|
||||
|
||||
// load IPs
|
||||
this.ip = DC.GetUInt32(data, offset);
|
||||
this.ip = DC.GetUInt32(data, offset, Endian.Little);
|
||||
offset += 4;
|
||||
ip6 = DC.Clip(data, offset, 16);
|
||||
offset += 16;
|
||||
|
||||
this.issueDate = DC.GetDateTime(data, offset);
|
||||
this.issueDate = DC.GetDateTime(data, offset, Endian.Little);
|
||||
offset += 8;
|
||||
this.expireDate = DC.GetDateTime(data, offset);
|
||||
this.expireDate = DC.GetDateTime(data, offset, Endian.Little);
|
||||
offset += 8;
|
||||
|
||||
this.domainId = DC.GetUInt64(data, offset);
|
||||
this.domainId = DC.GetUInt64(data, offset, Endian.Little);
|
||||
offset += 8;
|
||||
|
||||
this.domain = Encoding.ASCII.GetString(data, (int)offset + 1, data[offset]);
|
||||
@ -119,7 +119,7 @@ public class UserCertificate : Certificate
|
||||
offset += exponentLength;
|
||||
|
||||
|
||||
uint keySize = DC.GetUInt16(data, offset);
|
||||
uint keySize = DC.GetUInt16(data, offset, Endian.Little);
|
||||
offset += 2;
|
||||
|
||||
key.Modulus = DC.Clip(data, offset, keySize);
|
||||
|
@ -76,7 +76,7 @@ public static class SHA256
|
||||
|
||||
var w = new uint[64];
|
||||
for (var i = 0; i < 16; i++)
|
||||
w[i] = data.GetUInt32((uint)(chunk + (i * 4)));
|
||||
w[i] = data.GetUInt32((uint)(chunk + (i * 4)), Endian.Big);
|
||||
|
||||
//for(var i = 16; i < 64; i++)
|
||||
// w[i] = 0;
|
||||
|
@ -49,7 +49,7 @@ public interface IPermissionsManager
|
||||
/// <returns>Allowed or denined.</returns>
|
||||
Ruling Applicable(IResource resource, Session session, ActionType action, MemberTemplate member, object inquirer = null);
|
||||
|
||||
bool Initialize(Structure settings, IResource resource);
|
||||
bool Initialize(Map<string, object> settings, IResource resource);
|
||||
|
||||
Structure Settings { get; }
|
||||
Map<string, object> Settings { get; }
|
||||
}
|
||||
|
@ -35,16 +35,16 @@ namespace Esiur.Security.Permissions;
|
||||
|
||||
public class StorePermissionsManager : IPermissionsManager
|
||||
{
|
||||
Structure settings;
|
||||
Map<string, object> settings;
|
||||
|
||||
public Structure Settings => settings;
|
||||
public Map<string,object> Settings => settings;
|
||||
|
||||
public Ruling Applicable(IResource resource, Session session, ActionType action, MemberTemplate member, object inquirer = null)
|
||||
{
|
||||
return resource.Instance.Store.Instance.Applicable(session, action, member, inquirer);
|
||||
}
|
||||
|
||||
public bool Initialize(Structure settings, IResource resource)
|
||||
public bool Initialize(Map<string,object> settings, IResource resource)
|
||||
{
|
||||
this.settings = settings;
|
||||
return true;
|
||||
|
@ -36,18 +36,18 @@ namespace Esiur.Security.Permissions;
|
||||
public class UserPermissionsManager : IPermissionsManager
|
||||
{
|
||||
IResource resource;
|
||||
Structure settings;
|
||||
Map<string, object> settings;
|
||||
|
||||
public Structure Settings => settings;
|
||||
public Map<string,object> Settings => settings;
|
||||
|
||||
public Ruling Applicable(IResource resource, Session session, ActionType action, MemberTemplate member, object inquirer)
|
||||
{
|
||||
Structure userPermissions = null;
|
||||
Map<string,object> userPermissions = null;
|
||||
|
||||
if (settings.ContainsKey(session.RemoteAuthentication.FullName))
|
||||
userPermissions = settings[session.RemoteAuthentication.FullName] as Structure;
|
||||
userPermissions = settings[session.RemoteAuthentication.FullName] as Map<string, object>;
|
||||
else if (settings.ContainsKey("public"))
|
||||
userPermissions = settings["public"] as Structure;
|
||||
userPermissions = settings["public"] as Map<string,object>;
|
||||
else
|
||||
return Ruling.Denied;
|
||||
|
||||
@ -98,7 +98,7 @@ public class UserPermissionsManager : IPermissionsManager
|
||||
}
|
||||
else if (userPermissions.ContainsKey(member?.Name))
|
||||
{
|
||||
Structure methodPermissions = userPermissions[member.Name] as Structure;
|
||||
Map<string,object> methodPermissions = userPermissions[member.Name] as Map<string,object>;
|
||||
if ((string)methodPermissions[action.ToString()] != "yes")
|
||||
return Ruling.Denied;
|
||||
}
|
||||
@ -111,12 +111,12 @@ public class UserPermissionsManager : IPermissionsManager
|
||||
|
||||
}
|
||||
|
||||
public UserPermissionsManager(Structure settings)
|
||||
public UserPermissionsManager(Map<string, object> settings)
|
||||
{
|
||||
this.settings = settings;
|
||||
}
|
||||
|
||||
public bool Initialize(Structure settings, IResource resource)
|
||||
public bool Initialize(Map<string, object> settings, IResource resource)
|
||||
{
|
||||
this.resource = resource;
|
||||
this.settings = settings;
|
||||
|
Reference in New Issue
Block a user