Skip to content

wissamismail/WSDLConax

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 

Repository files navigation

📡 WSDLConax

Language Framework License

A Windows Forms application for bulk updating Conax Conditional Access (CA) Client PINs via WSDL Web Services.


🚀 Overview

WSDLConax is a specialized desktop utility designed for broadcast and conditional access operators using the Conax CA system. It provides a graphical interface to interact with the Conax CaClientAdministrationService web service, allowing operators to:

  • Update individual CA Client PINs securely.
  • Perform bulk PIN updates by importing CSV files containing client lists.
  • Monitor transaction status and logs in real-time.
  • Manage service authentication (Username/Password + SSL Certificate handling).

Built with Visual Basic .NET and Windows Forms, this tool streamlines the operational workflow for managing subscriber security credentials in Conax environments.


✨ Features

  • 🔐 Secure WSDL Integration: Connects to Conax CaClientAdministrationServiceEndpoint with configurable credentials.
  • 📝 Single & Bulk Operations:
    • Update a single client's PIN instantly.
    • Upload a CSV file to update hundreds of clients in one go.
  • 📊 CSV Import & Grid View:
    • Parses delimited CSV files automatically.
    • Displays client data in a sortable DataGridView.
    • Select specific columns (Client IDs) for batch processing.
  • 📈 Real-Time Feedback:
    • Progress bar visualization during bulk operations.
    • Status column updates with TransactionStatus.StatusCode for each row.
    • Detailed error logging via message boxes and status labels.
  • ⚙️ SSL/Certificate Handling: Includes logic to bypass strict certificate validation (useful for internal/test environments) via X509CertificateValidationMode.None.

📁 Project Structure

WSDLConax/
├── WSDLApp.sln                  # Visual Studio Solution file
├── WSDLApp/                     # Main Application Directory
│   ├── FormUpdateCaPinToGivenValue.vb   # Main logic: CSV parsing, WSDL calls, UI events
│   ├── FormUpdateCaPinToGivenValue.Designer.vb # Auto-generated UI layout
│   ├── app.config               # App settings & WSDL endpoint configuration
│   ├── WSDLApp.vbproj           # Project file (.NET Framework)
│   ├── My Project/              # VB.NET application properties
│   └── Service References/      # Generated WSDL proxy classes (caClientServiceReference)
└── README.md                    # This file

🛠️ Prerequisites

  • Operating System: Windows (7/10/11 or Server)
  • Runtime: .NET Framework (Version matching the project, likely 4.0+)
  • IDE: Visual Studio 2019/2022 (for building/modifying)
  • Access: Valid credentials and network access to a running Conax CAS (Conditional Access System) with exposed WSDL services.

⚙️ Configuration

Before running the application, you must configure the connection details in the code or app.config.

1. WSDL Service Endpoint

Ensure the CaClientAdministrationServiceEndpoint URL is correctly added as a Service Reference in Visual Studio (caClientServiceReference).

2. Authentication Credentials

In FormUpdateCaPinToGivenValue.vb, locate the createService() function and update the hardcoded credentials (or move them to a secure config file):

Dim username As String = "sms01"       ' <-- Change to your Conax WS user
Dim password As String = "Ayq123456"   ' <-- Change to your Conax WS password

3. SSL Certificate Validation

By default, the app disables certificate validation for flexibility in test environments:

myAuthentication.CertificateValidationMode = ServiceModel.Security.X509CertificateValidationMode.None

⚠️ Security Warning: For production environments, implement proper certificate validation instead of disabling it.


📖 Usage Guide

1. Launch the Application

Open WSDLApp.sln in Visual Studio and run the project, or compile and run the .exe.

2. Single PIN Update

  1. Enter the CA Client ID in the masked text box.
  2. Enter the new CA PIN.
  3. Click "Start" (or the equivalent single-update button).
  4. Check the log label for TransactionStatus.StatusCode (e.g., "Success").

3. Bulk PIN Update via CSV

  1. Prepare CSV: Create a CSV file where one column contains the Client IDs.
    Date,Name,ClientId,SmartcardId
    2023-01-01,John Doe,02151615924,SC12345
  2. Load File: Click "Browse" and select your CSV file.
  3. Select Column: Click on the Header of the column containing the Client IDs in the grid. The selected column name will appear in the "Client ID" label.
  4. Set PIN: Enter the target PIN in the "PIN for All" field (MaskedTextBoxCaClientIdAll).
  5. Execute: Click "Start All".
    • The app will iterate through every row in the selected column.
    • It will call UpdateCaPinToGivenValue for each client.
    • The "Update Status" column will populate with the API response code for each row.

🔌 Technical Details

WSDL Method Used

The core operation relies on the Conax method:

  • Operation: UpdateCaPinToGivenValue
  • Request Type: UpdateCaPinToGivenValueRequestType
    • CaClientId: The unique identifier for the subscriber device/card.
    • CaPin: The new PIN value to set.
  • Response Type: CaClientUpdateResponseType
    • Returns TransactionStatus.StatusCode indicating success or failure reason.

Error Handling

The application uses Try...Catch blocks to handle:

  • Network timeouts.
  • SOAP faults from the Conax server.
  • Invalid CSV formats.
  • Null/Empty input validation.

⚠️ Limitations & Security Notes

  • Hardcoded Credentials: The current version stores usernames/passwords in the source code. Do not deploy to production without moving these to encrypted config files or environment variables.
  • Certificate Bypass: SSL validation is disabled by default. Enable strict validation for public-facing or production networks.
  • Performance: Bulk operations are synchronous; large files (10k+ rows) may freeze the UI thread. Consider implementing BackgroundWorker or async/await for massive datasets.
  • Legacy Code: Last updated ~2019. May require updates for newer .NET versions or Conax API changes.

🤝 Contributing

As this is a specialized utility for Conax operators:

  1. Fork the repository.
  2. Implement improvements (e.g., async processing, secure config storage).
  3. Submit a Pull Request with a description of the changes.

📄 License

This project is licensed under the MIT License—see the LICENSE file for details.


🙏 Acknowledgments

  • Conax AS (now part of Nokia) for the Conditional Access System and Web Service definitions.
  • Microsoft for the .NET Framework and Visual Basic tools.

💬 Support: This tool is provided "as-is" for operators familiar with Conax systems. For issues regarding the Conax API itself, please consult your Conax/Nokia support representative.

Last updated: March 2026

About

WSDL Conax App

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors