public CyberPlatSignatureManager(CyberPlatSignatureManagerConfiguration configuration) { if (configuration == null) { throw new ArgumentNullException(nameof(configuration)); } m_Configuration = configuration; IPriv.Initialize(); checkKeys(); // Fail-fast }
public CyberPlatClient() { try { IPriv.Initialize(); } catch (Exception ex) { Functions.AddEvent("Error initializing CyberPlatClient!", string.Format("CyberPlatClient!: [{0}]", ex.Message), EventType.Critical, null, ex); throw; } }
private string signText(string inputText) { IPrivKey secretKey = null; try { secretKey = IPriv.openSecretKey(m_Configuration.SecretKeyPath, m_Configuration.SecretKeyPassword); return(secretKey.signText(inputText)); } catch (IPrivException err) { throw new CryptographicException(err + " (код ошибки = " + err.code + ")", err); } finally { secretKey?.closeKey(); } }
private void verifyText(string inputText) { IPrivKey publicKey = null; try { publicKey = IPriv.openPublicKey(m_Configuration.PublicKeyPath, Convert.ToUInt32(m_Configuration.PublicKeySerial, 10)); publicKey.verifyText(inputText); // If this step is successfull, then signature is valid } catch (IPrivException err) { throw new CryptographicException(err + " (код ошибки = " + err.code + ")", err); } finally { publicKey?.closeKey(); } }
/// <summary>Fail-fast checking of keys opening.</summary> private void checkKeys() { checkKeyPath(m_Configuration.SecretKeyPath); checkKeyPath(m_Configuration.PublicKeyPath); IPrivKey secretKey = null; IPrivKey publicKey = null; try { secretKey = IPriv.openSecretKey(m_Configuration.SecretKeyPath, m_Configuration.SecretKeyPassword); publicKey = IPriv.openPublicKey(m_Configuration.PublicKeyPath, Convert.ToUInt32(m_Configuration.PublicKeySerial, 10)); } finally { secretKey?.closeKey(); publicKey?.closeKey(); } }
private string Sign(string message) { string res = null; IPrivKey sec = null; try { sec = IPriv.openSecretKey(SecretKey, Password); res = sec.signText(message); } catch (IPrivException ex) { Functions.AddEvent("Error signing the message!", string.Format("Sign!: [{0}]", ex.Message), EventType.Critical, null, ex); } if (sec != null) { sec.closeKey(); } return(res); }
private bool VerifySign(string message) { var res = false; IPrivKey pub = null; try { pub = IPriv.openPublicKey(PublicKey, Convert.ToUInt32(SerialNumber, 10)); pub.verifyText(message); Functions.AddEvent("Signature valid!", string.Format("VerifySign: [{0}]", message), EventType.Info); res = true; } catch (IPrivException ex) { Functions.AddEvent("Error during signature verification!", string.Format("VerifySign!: [{0}]", ex.Message), EventType.Critical, null, ex); } if (pub != null) { pub.closeKey(); } return(res); }
public static bool HasPriv(string privType, ClientPrivilege privs) { IPriv p = FindByPrivType(privType); return(HasPriv(p.PrivFlag, privs)); }
private void releaseUnmanagedResources() { IPriv.Done(); }
public void Done() { IPriv.Done(); }
public int SaveResource(IPriv res) { return(this.Channel.SaveResource(res)); }
public int SavePermission(string resType, IRole role, IPriv resource, string pmsExp) { return(this.Channel.SavePermission(resType, role, resource, pmsExp)); }
public int RemoveResource(IPriv priv) { return(this.Channel.RemoveResource(priv)); }
public int Revoke(string ResourceType, IRole role, IPriv resource, IList <IOperation> operations) { return(this.Channel.Revoke(ResourceType, role, resource, operations)); }
public int Grant(string ResourceType, IRole role, IPriv resource, IList <IOperation> operations, object param) { return(this.Channel.Grant(ResourceType, role, resource, operations, param)); }