Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

You can use the API tokenization (C#) feature in the Armor Management Portal (AMP) to create an API key. This key will help you log into the Armor API system. 


Step 1: Create an API key

Insert excerpt
ESLP:Create an API (snippet)
ESLP:Create an API (snippet)
nopaneltrue


Step 2: Authenticate into the Armor API system

To authenticate, you need to build a header with the following components: 

...

Code Block
languagejs
themeMidnight
using System;
using System.Security.Cryptography;
using System.Text;
 
public static class AuthHeaderHelper
{
    /// <summary>
    /// The following function creats the needed authentication header to work for ApiToken
    /// HttpRequestMessage.Headers.Authorization = new AuthenticationHeaderValue("ARMOR-PSK", authValue)
    /// </summary>
    /// <param name="apiKey">Unique Id created by the customer</param>
    /// <param name="secretKey">The secret key generated by the customer.</param>      
    /// <param name="requestPath">absolute path: Example: /accounts/2</param>
    /// <param name="requestBody">Request body applies.</param>
    /// <param name="httpMethod">Http Method: GET, POST, ...</param>
    /// <returns>string auth header Example: 'ARMOR-PSK apiKey:signature:nonce:unixTime'</returns>
    public static string CreateAuthorizationHeader(string apiKey, string secretKey,  string requestPath, string requestBody, string httpMethod = "GET")
    {
        var requestContentBase64String = string.Empty;
        var AUTH_TYPE = "ARMOR-PSK";
        var timestamp = DateTimeOffset.UtcNow.ToUnixTimeSeconds();
        var nonce = timestamp;
        var requestData = apiKey + httpMethod + requestPath + nonce + timestamp + requestBody;
        byte[] mac;
        using (var hmac = new HMACSHA512(Encoding.UTF8.GetBytes(secretKey)))
        {
            mac = hmac.ComputeHash(Encoding.UTF8.GetBytes(requestData));
        }
        var signature = Convert.ToBase64String(mac);
        var authHeader = AUTH_TYPE + ' ' + apiKey + ':' + signature + ':' + nonce + ':' + timestamp;
        return authHeader;
    }
}


Step 3: Make an API Call

To learn about the different calls that you can make, see Armor API Guide.

Related Documentation 



Was this helpful?