Coder Social home page Coder Social logo

mlgiraud / open62541 Goto Github PK

View Code? Open in Web Editor NEW

This project forked from open62541/open62541

0.0 0.0 0.0 43.85 MB

Open source implementation of OPC UA (OPC Unified Architecture) aka IEC 62541 licensed under LGPL + static linking exception.

Home Page: http://open62541.org

License: Mozilla Public License 2.0

CMake 4.25% C 90.69% C++ 0.39% Shell 1.08% Python 3.31% PowerShell 0.23% Dockerfile 0.04% Makefile 0.01%

open62541's Issues

Minor fixes

Description

I have been testing your branch feature/SecurityPolicy#Basic128Rsa15 and have found a few minor
issues that I thought I should share with you.

In file plugins/ua_securitypolicy_basic128rsa15.c

  • All mbedtls #includes use backslash instead of frontslash which fails compiling in linux.
  • In function policyContext_setCertificateTrustList_sp_basic128rsa15(), certificate trust list is parsed using mbedtls_x509_crt_parse_der() (row 94). Is there a reason to require DER format, or could the function mbedtls_x509_crt_parse() be used instead?

In file plugins/ua_config_standard.c

In function UA_ServerConfig_standard_basic128rsa15_new(), the port is hardcoded to 16664 (row 333), but is available as an input parameter to the function, portNumber.

Application and product URI

I also have another issue that might require a slight rewrite. When using UA_ServerConfig_standard_basic128rsa15_new(), the applicationURI and productURI are not set on the created endpoints. If I recall correctly, the UaExpert client requires that the URI in the application certificate matches that of the endpoint used. My workaround is currently as follows:

UA_ServerConfig *config = UA_ServerConfig_standard_basic128rsa15_new(
    port,
    &cert,
    &privateKey,
    &trustList,
    NULL); // revocationList

config->applicationDescription.applicationUri = UA_STRING((char*)"<something that matches certificate URI>");
config->applicationDescription.productUri = UA_STRING((char*)"<something else>");

// Workaround
// Make sure that all endpoints also have the same applicationUri
for (unsigned int i = 0; i < config->endpoints.count; i++) {
    config->endpoints.endpoints[i].endpointDescription.server.applicationUri =
        config->applicationDescription.applicationUri;

    config->endpoints.endpoints[i].endpointDescription.server.productUri =
        config->applicationDescription.productUri;
}

Thank you for your effort! I am following your progress with great interest :)

Decoding error when dealing with 5000 items per subscription

Description

I have been testing your branch feature/SecurityPolicy#Basic128Rsa15_new under the CTT test suite Monitored Item Services/Monitor Items 5000 while using Basic128Rsa15 security policy and SignAndEncrypt security mode and have gotten the following error:

CreateMonitoredItems.Response.ResponseHeader.ServiceResult is Bad: BadDecodingError (0x80070000)

However, all tests pass when using None security policy and None security mode.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.