Skip to main content
This document explains the detailed usage of a specific policy. If you are using Apinizer policy structure for the first time or want to learn the general working principles of policies, we recommend reading the What is Policy? page first.

Overview

What is its Purpose?

  • Enables plain text content transmission to application by decrypting WS-Security encrypted SOAP messages at API Proxy (API Proxy Server) layer.
  • Manages message decryption keys in a centralized key store and prevents unauthorized access.
  • Decryption operation runs only in specific Endpoint flows through condition-based activation.
  • Provides meaningful feedback to consumer applications with customizable error messages.

Working Principle

  1. Request Arrival: For each HTTP/HTTPS request arriving at the API Gateway, the source IP address of the request is identified.
  2. Policy Check: If the WS Security Decryption policy is active, the system checks in the following order:
    • Is a Condition defined? If so, is the condition met?
    • Is the policy active (active=true)?
    • Is a Variable used or is Apinizer default?
  3. Decryption Check: WS-Security EncryptedData blocks in SOAP envelope are examined, private key is retrieved from selected key store, and message content is decrypted.
  4. Decision Making:
    • Match Found: Content is decrypted with key in key store and message content is transmitted to backend service as plain text.
    • No Match: Policy fails in case of key ID mismatch or missing WS-Security header, request continuation is stopped.
  5. Error Handling: Customizable HTTP status code and error message are returned for requests that do not comply with the policy rule.

Features and Capabilities

Basic Features

  • SOAP Decryption Engine: Analyzes EncryptedKey and EncryptedData blocks in WS-Security standard, retrieves key from keystore, decrypts content, and updates message.
  • Key Store Integration: Lists keystores from organization-specific KeyStore service, associates selected store with policy, and filters according to project.
  • Flexible Error Management: Provides detailed feedback in decryption errors with default and customized error messages.
  • Active/Passive Status Control: Easily change the active or passive status of the policy (active/passive toggle). In passive state, the policy is not applied but its configuration is preserved.
  • Condition-Based Application: Determine when the policy will be applied by creating complex conditions with Query Builder (e.g., only for specific endpoints or header values).

Advanced Features

  • Case-Insensitive Key Matching: Matches KeyIdentifier values in encrypted blocks independently of case sensitivity with allowCaseInsensitiveId option.
  • Global/Local Policy Flow: Share same configuration globally and customize with local copies, automatic name uniqueness check during localization.
  • Concurrent Usage Tracking: Provides impact analysis before change or deletion by showing list of APIs and Proxy Groups using the policy.
  • Export/Import Feature: Export policy configuration as a ZIP file. Import to different environments (Development, Test, Production). Version control and backup capability.
  • Policy Group and Proxy Group Support: Manage multiple policies within Policy Group. Bulk policy assignment to Proxy Groups. Centralized update and deployment operations.
  • Deploy and Versioning: Deploy policy changes to live environment. See which API Proxies use it (Policy Usage). Proxy Group and Policy Group usage reports.

Usage Scenarios

Configuring Policy Parameters

At this step, users can create a new policy or configure existing policy parameters to define access rules. The defined parameters directly affect how the policy works (e.g., which IPs will be allowed, geographical restrictions, conditional activations, etc.). This way, the policy can be customized according to organization-specific requirements and managed centrally.

Creating a New WS Security Decryption Policy

WS Security Decryption Policy

Configuration Steps

For the description of Conditions and Error Message Customization panels, you can review the Conditions and Error Message Customization sections on the What is Policy? page. For a complete guide on all layers, priority order and scenario examples of the error message configuration system, see the Error Message Configuration Guide page.

Deleting the Policy

For the deletion steps of this policy and the operations to be applied when it is in use, you can refer to the Removing Policy from Flow section on the Policy Management page.

Exporting/Importing the Policy

For the export and import steps of this policy, you can refer to the Export/Import page.

Linking the Policy to API

For the process of how this policy will be linked to APIs, you can refer to the Linking Policy to API section on the Policy Management page.

Advanced Features

Best Practices

Things to Do and Best Practices

Security Best Practices

Things to Avoid

Performance Tips

Frequently Asked Questions (FAQ)