private string GetCurrentSignatureForPackage(string packageName) { try { PackageInfo info = Application.Context.PackageManager.GetPackageInfo(packageName, PackageInfoFlags.Signatures); if (info != null && info.Signatures != null && info.Signatures.Count > 0) { Signature signature = info.Signatures[0]; MessageDigest md = MessageDigest.GetInstance("SHA"); md.Update(signature.ToByteArray()); return(Convert.ToBase64String(md.Digest(), Base64FormattingOptions.None)); // Server side needs to register all other tags. ADAL will // send one of them. } } catch (PackageManager.NameNotFoundException) { _logger.Info("Calling App's package does not exist in PackageManager"); } catch (NoSuchAlgorithmException) { _logger.Info("Digest SHA algorithm does not exists"); } return(null); }
private string GetCurrentSignatureForPackage(string packageName) { try { PackageInfo info = Application.Context.PackageManager.GetPackageInfo(packageName, PackageInfoFlags.Signatures); #pragma warning disable CS0618 // Type or member is obsolete - https://github.com/AzureAD/microsoft-authentication-library-for-dotnet/issues/1854 if (info != null && info.Signatures != null && info.Signatures.Count > 0) { Signature signature = info.Signatures[0]; MessageDigest md = MessageDigest.GetInstance("SHA"); md.Update(signature.ToByteArray()); return(Convert.ToBase64String(md.Digest(), Base64FormattingOptions.None)); // Server side needs to register all other tags. ADAL will // send one of them. } #pragma warning restore CS0618 // Type or member is obsolete } catch (PackageManager.NameNotFoundException) { _logger.Info("Calling App's package does not exist in PackageManager"); } catch (NoSuchAlgorithmException) { _logger.Info("Digest SHA algorithm does not exists"); } return(null); }
static string SignatureDigest(Signature sig) { var signature = sig.ToByteArray(); try { var md = MessageDigest.GetInstance("SHA1"); var digest = md.Digest(signature); return(ByteArrayToString(digest)); } catch (NoSuchAlgorithmException) { return(null); } string ByteArrayToString(byte[] ba) { var hex = BitConverter.ToString(ba); hex = hex.Replace("-", ":"); return(hex); } }