Azure API Management

Inside scoop from the API Management team

Release notes – November 4th, 2016

On Friday, November 4th 2016, we started deploying another regular service update. We update production service instances in batches and it will take a take a few days for the rollout to complete.

Below is the list of the new features, improvements and bug fixes in this release.

New features

  • Today we are announcing the public preview of integration of the new Azure Portal with Azure API Management. Customers can create, manage and configure their API Management instances through the new portal. Management operations currently available are scaling, VNET configuration, custom domains and SSL configuration. The new portal also gives customers easy access to existing Publisher & Developer portal features.
  • SOAP pass-through general availability. After a short preview period, this feature is now generally available. Customers can host a façade for their SOAP-based APIs, gaining access to features such as developer portal, analytics and policies.

Updates and fixes

In this release we have included a number of updates that allow customers to manage certificates and cryptography in policy expressions:

  • Policy expressions can now take advantage of .NET base class library cryptography types from the System.Security.Cryptography namespace.
    • SymmetricAlgorithm
    • AsymmetricAlgorithm
    • RSA
    • X509Certificates.PublicKey
    • HashAlgorithmName
    • CipherMode
    • PaddingMode
    • RSAEncryptionPadding
    • RSASignaturePadding
  • Customers can now access uploaded certificates in policy expression HTTP context. Context.Deployment has a new property, Certificates, of type IReadOnlyDictionary<string, X509Certificate2>. It gives access to certificates by thumbprint.
  • Policy expressions now allow the use of the byte[] type:
    • public static byte[] Encrypt(this byte[] input, SymmetricAlgorithm alg);
    • public static byte[] Encrypt(this byte[] input, SymmetricAlgorithm alg, byte[] key, byte[] iv);
    • public static byte[] Encrypt(this byte[] input, string alg, byte[] key, byte[] iv);
    • public static byte[] Decrypt(this byte[] input, SymmetricAlgorithm alg);
    • public static byte[] Decrypt(this byte[] input, SymmetricAlgorithm alg, byte[] key, byte[] iv);
    • public static byte[] Decrypt(this byte[] input, string alg, byte[] key, byte[] iv);
  • The validate-jwt policy can now accept token values directly using the new token-value attribute: <validate-jwt token-value=”@( expression returns token )” />