HabrAugust 12, 2026🇷🇺Translated from Russian

AS2 in .NET Without Separate Java Gateway: Native EDI Exchange Directly in Application Routes

redb.Route.AS2 brings native AS2 protocol support to .NET applications, removing the requirement for separate commercial gateways or standalone Java servers. Organizations exchanging EDI documents with major retailers, 3PL operators, banks, or healthcare providers can now process signed and encrypted S/MIME messages directly inside their existing .NET integration routes.

Previously, .NET teams faced two main options: expensive commercial AS2 gateways such as Cleo, Seeburger, or BizTalk that required separate infrastructure, or open-source Java solutions like OpenAS2 and Mendelson Community that ran as additional JVM processes with inbox directories. Both approaches kept AS2 handling outside the main application logic.

AS2 (Applicability Statement 2, RFC 4130) ensures guaranteed delivery of business documents over the internet. A payload, typically X12 or EDIFACT but also XML or JSON, is optionally compressed, signed with the sender’s private key, and encrypted with the recipient’s public certificate. The resulting S/MIME envelope travels via HTTP POST, and the receiver returns a signed MDN (Message Disposition Notification) containing a cryptographic MIC hash for non-repudiation.

The library adds as2 and as2s endpoint schemes to redb.Route. Routes are defined using simple URI strings such as as2s://partner.example.com/as2?connectionFactory=walmart for outbound and as2:/inbound/orders?host=0.0.0.0&port=4080&connectionFactory=walmart for inbound traffic. Partner configurations are stored once in an As2ConnectionFactory object that holds certificates, AS2 identifiers, signing and encryption algorithms, and MDN mode settings.

Configuration supports environment-specific values through placeholders, allowing the same compiled route to run in development, staging, and production by changing only appsettings files. Secrets such as PFX passwords are supplied via environment variables or user secrets.

Outbound routes automatically compress, sign, encrypt, and transmit documents while parsing the returned MDN. Headers such as redbAs2.mdnDisposition, redbAs2.signatureValid, and redbAs2.mdnMicMatch are placed on the exchange for conditional routing logic. Inbound routes decrypt incoming messages, verify signatures, and deliver clean business documents to the pipeline along with exchange metadata.

Asynchronous MDN handling is supported through a dedicated receive endpoint that correlates receipts by Original-Message-ID. The cryptographic layer relies on MimeKit built on Bouncy Castle, ensuring interoperability with existing AS2 implementations.

Compared with external gateways, the native connector keeps documents flowing inside a single process, enables unified observability through distributed tracing, and allows full use of enterprise integration patterns without intermediate file drops or additional monitoring systems.

Related articles

HabrOther

Browser Policy Manager 0.9.5 Release Candidate Adds Comprehensive Multi-Language Documentation Portal

Browser Policy Manager (BPM) is approaching its 1.0.0 release as an open-source tool designed for preparing, validating, and exporting Firefox Enterprise policy profiles. The 0.9.5 update introduces four current Firefox schema channels including Release 153, ESR 153.0, ESR 140.13, and ESR 115.38, along with migration assistance from older ESR versions. A full documentation portal built in DITA now ships with the product, covering user guides, Firefox policy references, CIS benchmark mappings, and administrator instructions across six languages. The portal integrates directly with the BPM interface through manifests and UI target maps, providing contextual help without server dependencies. Local search uses static indexes with deterministic ranking, while future RAG capabilities are planned with strict source verification and no model training on documentation. The project emphasizes reproducible builds, locale completeness checks, and clear separation between automated mappings and manual compliance validation.

HabrOther

Same-Origin Policy and CORS: How Browsers Enforce Web Security Boundaries

The article explains the core browser security mechanism known as Same-Origin Policy that prevents scripts from one website from reading data belonging to another. It details how origin is defined strictly by protocol, domain, and port, and why this matters for everyday web interactions such as banking sessions. The text clarifies that the policy blocks reading of cross-origin responses while still allowing loading of images, scripts, and iframes. CORS is presented as the controlled relaxation of this rule, where the target server explicitly grants permission via response headers. The piece emphasizes that CORS does not protect servers from direct requests made outside browsers and that authentication remains the true defense for APIs. Multiple practical examples illustrate the difference between displaying foreign content and programmatically reading its data.

AntiMalwareOther

Security Vision 5 Strengthens Connectors, Analytics and Data Handling Features

Security Vision has released an update to its SV5 platform focused on improved integrations, deeper analytics and more flexible configuration management. The release introduces namespace configuration for the WMI connector to execute WQL queries at specified addresses, along with event compression during transmission in connector configurations. An updated librdkafka library now enables the Kafka connector to support SASL/SCRAM authentication for Kafka versions 4.0.0 and higher. Data transformation capabilities have been expanded to allow conversion of numbers between binary, octal and hexadecimal numeral systems, while the Formula transformation adds abs() and sqrt() functions. Linear and bar charts receive new scaling settings, and report generation through the portal has been moved to asynchronous mode to prevent interface freezing during long exports. Additional changes affect object cards, type and directory editors, module settings, graph icon management with mapping conditions converted to filters, and a dedicated section for correlation rules with a general view and editor. The audit log now records grouping changes separately for system and user directories, and the platform blocks execution of disabled connectors through workflows.

HabrOther

Building Secure MLOps Platforms in Air-Gapped Environments for DevOps Engineers

The article explains how DevOps engineers can construct a minimal yet complete MLOps platform inside a closed, air-gapped network without relying on any cloud services. It highlights the cultural gap between data scientists and DevOps teams and shows how MLOps practices such as data versioning, experiment tracking, and model registries bridge that gap. The architecture separates GPU training nodes from a Kubernetes serving cluster and uses open-source components including ArgoCD for GitOps, MLflow with PostgreSQL, MinIO, DVC, OpenBao, and External Secrets Operator. Special attention is given to secrets management with SOPS and age keys, image scanning with Trivy and Bandit, and secure Docker access via socket proxy on the training server. The setup avoids Kubeflow and HashiCorp Vault due to complexity and licensing concerns, favoring lighter, license-friendly alternatives suitable for isolated perimeters.