public static OBS.Runtime.Internal.IRequest Sign(OBS.Runtime.Internal.IRequest request, String ak, String sk, String region) { // sign request AbstractDISSigner signer = SignerFactory.GetSigner(Constants.SERVICENAME, region); signer.Sign(request, new BasicCredentials(ak, sk)); return(request); }
public static bool VerifySignature(PublicKey publicKey, string signature, string msg) { byte[] msgBytes = Encoding.UTF8.GetBytes(msg); byte[] sigBytes = Convert.FromBase64String(signature); ISigner signer = SignerFactory.Sha256withECDSA(); signer.Init(false, KeyFactory.ECPublicKeyParamsFromPublicKey(publicKey, SignerFactory.Sha256EcdsaDomain)); signer.BlockUpdate(msgBytes, 0, msgBytes.Length); return(signer.VerifySignature(sigBytes)); }
public static byte[] SignData(PrivateKey pk, byte[] data) { ECPrivateKeyParameters privateKeyParams = KeyFactory.ECPrivateKeyParamsFromPrivateKey(pk, SignerFactory.Sha256EcdsaDomain); ISigner signer = SignerFactory.Sha256withECDSA(); signer.Init(true, privateKeyParams); signer.BlockUpdate(data, 0, data.Length); byte[] signBytes = signer.GenerateSignature(); return(signBytes); }