public static string GenerateSignatureAndAddToURL(PubNubUnity pnInstance, Uri uri, string url) { if (!string.IsNullOrEmpty(pnInstance.PNConfig.SecretKey) && (pnInstance.PNConfig.SecretKey.Length > 0)) { string signature = ""; string parameters = SetParametersInOrder(uri); #if (ENABLE_PUBNUB_LOGGING) UnityEngine.Debug.Log(string.Format("ordered parameters: {0}", parameters)); #endif StringBuilder stringToSign = new StringBuilder(); stringToSign .Append(pnInstance.PNConfig.SubscribeKey) .Append('\n') .Append(pnInstance.PNConfig.PublishKey) .Append('\n') .Append(url) .Append('\n') .Append(parameters); // Sign Message PubnubCrypto pubnubCrypto = new PubnubCrypto(pnInstance.PNConfig.CipherKey, pnInstance.PNLog); signature = pubnubCrypto.PubnubAccessManagerSign(pnInstance.PNConfig.SecretKey, stringToSign.ToString()); return(string.Format("&signature={0}", signature)); } return(""); }
public static string CreateV2Signature(string httpMethod, string path, string query, string publishKey, string cipherKey, string secretKey, string body) { StringBuilder stringToSign = new StringBuilder(); stringToSign.Append(httpMethod) .Append("\n") .Append(publishKey) .Append("\n") .Append(path) .Append("\n") .Append(query) .Append("\n") .Append(body); PNLoggingMethod PNLog = new PNLoggingMethod(PNLogVerbosity.BODY); PubnubCrypto pubnubCrypto = new PubnubCrypto(cipherKey, PNLog); string signature = pubnubCrypto.PubnubAccessManagerSign(secretKey, stringToSign.ToString()); signature = signature.TrimEnd('='); signature = string.Format("v2.{0}", signature); Debug.Log("signature ===== >" + signature); return(signature); }