<?xml version="1.0" encoding="UTF-8"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	    <channel>
        <title>Prosys Forum - All Forums</title>
        <link>https://forum.prosysopc.com/forum/</link>
        <description><![CDATA[Prosys OPC &#038; OPC UA related discussion]]></description>
        <generator>Simple:Press Version 6.11.14</generator>
        <atom:link href="https://forum.prosysopc.com/forum/rss/" rel="self" type="application/rss+xml"/>
		                <item>
                    <title>rocket science on Question about ApplicationIdentity constructor with keyStoreType parameter</title>
                    <link>https://forum.prosysopc.com/forum/opc-ua-java-sdk/question-about-applicationidentity-constructor-with-keystoretype-parameter/#p7563</link>
                    <category>OPC UA SDK for Java</category>
                    <guid isPermaLink="true">https://forum.prosysopc.com/forum/opc-ua-java-sdk/question-about-applicationidentity-constructor-with-keystoretype-parameter/#p7563</guid>
					                        <description><![CDATA[<p>Thank you so much for providing the beta version that quick.</p>
<p>I've tested it and worked 😉</p>
]]></description>
					                    <pubDate>Mon, 11 May 2026 14:42:55 +0300</pubDate>
                </item>
				                <item>
                    <title>rocket science on Question about ApplicationIdentity constructor with keyStoreType parameter</title>
                    <link>https://forum.prosysopc.com/forum/opc-ua-java-sdk/question-about-applicationidentity-constructor-with-keystoretype-parameter/#p7562</link>
                    <category>OPC UA SDK for Java</category>
                    <guid isPermaLink="true">https://forum.prosysopc.com/forum/opc-ua-java-sdk/question-about-applicationidentity-constructor-with-keystoretype-parameter/#p7562</guid>
					                        <description><![CDATA[<p>Thanks for your tests and explanations!</p>
]]></description>
					                    <pubDate>Fri, 08 May 2026 20:53:01 +0300</pubDate>
                </item>
				                <item>
                    <title>Bjarne Boström on Question about ApplicationIdentity constructor with keyStoreType parameter</title>
                    <link>https://forum.prosysopc.com/forum/opc-ua-java-sdk/question-about-applicationidentity-constructor-with-keystoretype-parameter/#p7561</link>
                    <category>OPC UA SDK for Java</category>
                    <guid isPermaLink="true">https://forum.prosysopc.com/forum/opc-ua-java-sdk/question-about-applicationidentity-constructor-with-keystoretype-parameter/#p7561</guid>
					                        <description><![CDATA[<p>Few tests later<br />
...<br />
So, it would seem the wrong-things working was not what I assumed. It is 2 things. It would seem PKCS12 in the Java world doesn't use private key passwords, only the store ones, <a href="https://bugs.openjdk.org/browse/JDK-8008292" rel="nofollow" target="_blank"><a href="https://bugs.openjdk.org/brows" rel="nofollow">https://bugs.openjdk.org/brows</a>.....DK-8008292</a>, also <a href="https://docs.oracle.com/en/middleware/standalone/weblogic-server/14.1.1.0/secmg/identity_trust.html" rel="nofollow" target="_blank"><a href="https://docs.oracle.com/en/mid" rel="nofollow">https://docs.oracle.com/en/mid</a>.....trust.html</a><br />
"For PKCS12 keystores, keytool does not support different keystore and key passwords and uses the keystore password to persist the key. If you specify a password using the -keypass option and it differs from the password specified for the -storepass option, keytool displays a warning and ignores the keypass value. "</p>
<p>Also, for this reason I believe BouncyCastle will also ignore it, <a href="https://github.com/bcgit/bc-java/blob/e25720be800c21724dc16d3a13adb2a2fb587de6/prov/src/main/java/org/bouncycastle/jcajce/provider/keystore/pkcs12/PKCS12KeyStoreSpi.java#L536" rel="nofollow" target="_blank"><a href="https://github.com/bcgit/bc-ja" rel="nofollow">https://github.com/bcgit/bc-ja</a>......java#L536</a> in the engineGetKey method.</p>
<p>So that explains why the privateKeyPassword does nothing and only the store password matters. However, based on my tests a JKS store can use both.</p>
<p>Then separate to this for the alias thing. SecureIdentity constructor has more documentation, <a href="https://documentation.prosysopc.com/JSDK/javadoc/com/prosysopc/ua/SecureIdentity.html#SecureIdentity-java.io.File-java.lang.String-java.lang.String-java.lang.String-java.lang.String-" rel="nofollow" target="_blank"><a href="https://documentation.prosysop" rel="nofollow">https://documentation.prosysop</a>.....ng.String-</a>   the com.prosysopc.ua.ApplicationIdentity.ApplicationIdentity(File, String, String, String, String) does call this super constructor. There is a mention "alias - string alias of the key pair, if null or not found in specified pfx-file, last entry is used". This something very old, but I would believe the intention is that .NET world used pfx files, but not in a way that there would be more than a single key so rather than fail it will fall back to the only key there is anyway. Since you probably as well have only a single key there, it is always found regardless of the alias.</p>
]]></description>
					                    <pubDate>Fri, 08 May 2026 18:41:55 +0300</pubDate>
                </item>
				                <item>
                    <title>Bjarne Boström on Cannot resolve windows console charset CP850</title>
                    <link>https://forum.prosysopc.com/forum/opc-ua-java-sdk/cannot-resolve-windows-console-charset-cp850/#p7560</link>
                    <category>OPC UA SDK for Java</category>
                    <guid isPermaLink="true">https://forum.prosysopc.com/forum/opc-ua-java-sdk/cannot-resolve-windows-console-charset-cp850/#p7560</guid>
					                        <description><![CDATA[<p>We will add logic to handle the dot output.</p>
<p>P.S.<br />
One extra note for future readers. This was a DEBUG level log. On failure it should use Charset.defaultCharset() as a fallback. With that there would only be issues if there are non-ASCII characters in the outputs.</p>
]]></description>
					                    <pubDate>Fri, 08 May 2026 18:19:33 +0300</pubDate>
                </item>
				                <item>
                    <title>Bjarne Boström on Question about ApplicationIdentity constructor with keyStoreType parameter</title>
                    <link>https://forum.prosysopc.com/forum/opc-ua-java-sdk/question-about-applicationidentity-constructor-with-keystoretype-parameter/#p7559</link>
                    <category>OPC UA SDK for Java</category>
                    <guid isPermaLink="true">https://forum.prosysopc.com/forum/opc-ua-java-sdk/question-about-applicationidentity-constructor-with-keystoretype-parameter/#p7559</guid>
					                        <description><![CDATA[<p>Hi,</p>
<p>Unfortunately formats other than the .der/.pem the samples use are not that well tested (or tested continuously/automatically).</p>
<p>Seems to be a bug. During <a href="https://downloads.prosysopc.com/opcua/Prosys_OPC_UA_SDK_for_Java_5_Release_Notes.html#version-5-4-0" rel="nofollow" target="_blank"><a href="https://downloads.prosysopc.co" rel="nofollow">https://downloads.prosysopc.co</a>.....sion-5-4-0</a> + <a href="https://documentation.prosysopc.com/JSDK/tutorial/html/Prosys_OPC_UA_SDK_for_Java_4_To_5_Migration_Guide.html#crypto-libraries-and-their-usages" rel="nofollow" target="_blank"><a href="https://documentation.prosysop" rel="nofollow">https://documentation.prosysop</a>.....eir-usages</a> we did do some changes. As a result BouncyCastle is not installed, only the Provider is loaded and used directly via java.security.XXX.getInstance(String, Provider). Few places are different, since e.g. BouncyCastle doesn't support the JKS type, but seems that was missed for the SecureIdentity case.</p>
<p>As to why it loads with wrong-things, not sure. My guess would be that since <a href="https://downloads.prosysopc.com/opcua/Prosys_OPC_UA_SDK_for_Java_5_Release_Notes.html#version-5-6-2" rel="nofollow" target="_blank"><a href="https://downloads.prosysopc.co" rel="nofollow">https://downloads.prosysopc.co</a>.....sion-5-6-2</a> did fix a thing where BouncyCastle seems to return null for some erroneous data instead of throwing (I believe this was at least empty byte[]), maybe something similar can happen here. Then the scenario could become the same as if no cert was defined, which would be ok for NONE security connections.</p>
<p>Can you send mail to <a href="mailto:jsdk-support@prosysopc.com" target="_blank">jsdk-support@prosysopc.com</a> and refer this; we can give a beta build once we have fixes (might not happen today).</p>
]]></description>
					                    <pubDate>Fri, 08 May 2026 16:05:54 +0300</pubDate>
                </item>
				                <item>
                    <title>rocket science on Cannot resolve windows console charset CP850</title>
                    <link>https://forum.prosysopc.com/forum/opc-ua-java-sdk/cannot-resolve-windows-console-charset-cp850/#p7558</link>
                    <category>OPC UA SDK for Java</category>
                    <guid isPermaLink="true">https://forum.prosysopc.com/forum/opc-ua-java-sdk/cannot-resolve-windows-console-charset-cp850/#p7558</guid>
					                        <description><![CDATA[<p>Hi, here's the output</p>
<p>C:\Users\home&#062;chcp<br />
Aktive Codepage: 850.</p>
<p>There is a dot at the end. Seems to be different with different system languages.</p>
]]></description>
					                    <pubDate>Fri, 08 May 2026 14:26:59 +0300</pubDate>
                </item>
				                <item>
                    <title>Bjarne Boström on Cannot resolve windows console charset CP850</title>
                    <link>https://forum.prosysopc.com/forum/opc-ua-java-sdk/cannot-resolve-windows-console-charset-cp850/#p7557</link>
                    <category>OPC UA SDK for Java</category>
                    <guid isPermaLink="true">https://forum.prosysopc.com/forum/opc-ua-java-sdk/cannot-resolve-windows-console-charset-cp850/#p7557</guid>
					                        <description><![CDATA[<p>Hi,</p>
<p>On the machine that caused the log, could it be possible to see the output of the command "chcp" (without quotes) from the Command Prompt (specifically cmd, not powershell). It should output like this:</p>
<p></p>
<div class='sfcode' id='sfcode2028'>
Active code page: 850
</div>
<p>i.e. no dot at the end, but the number can be different on locales and regions. At least that it how it worked on the windows 10 and 11 machines we tested on.</p>
<p>A workaround would be to set the hostname manually (if you know it) via static ApplicationIdentity.setActualHostName(String), then SDK doesn't try to figure out it by itself.</p>
<p>We can also try to improve the parsing logic once we see the output. It should be noted that normally at least currently the only scenario where SDK will try to use platform specific ways is if there is or has been Docker installed on the machine at some point. The Docker's installation will write some hosts file entries that break Java's reverse-DNS lookup for the hostname that we use. This would result in an unusable "host.docker.internal" hostname, thus as a fallback we will attempt platform specific ways. On windows the console output encodings can be different and it matters for reading because there can be special characters, thus we try to parse it from the chcp output.</p>
]]></description>
					                    <pubDate>Fri, 08 May 2026 13:46:11 +0300</pubDate>
                </item>
				                <item>
                    <title>rocket science on Question about ApplicationIdentity constructor with keyStoreType parameter</title>
                    <link>https://forum.prosysopc.com/forum/opc-ua-java-sdk/question-about-applicationidentity-constructor-with-keystoretype-parameter/#p7555</link>
                    <category>OPC UA SDK for Java</category>
                    <guid isPermaLink="true">https://forum.prosysopc.com/forum/opc-ua-java-sdk/question-about-applicationidentity-constructor-with-keystoretype-parameter/#p7555</guid>
					                        <description><![CDATA[<p>Hi,<br />
with migration from SDK 4.x to 5.x I recognized that loading a pfx file did not work when using keyStoreType JKS.</p>
<p>My pfx showed anyway 'PrivateKey (Format): PKCS#8' but it looks like it could be loaded with SDK 4.x also with "JKS" as keyStoreType</p>
<p>I'm using following constructor: to load a pfx file.</p>
<p>public ApplicationIdentity(File storeLocation,<br />
                           String alias,<br />
                           String privateKeyPassword,<br />
                           String keyStorePassword,<br />
                           String keyStoreType)</p>
<p>Create an identity with an application certificate. The certificate and private key are loaded from a pfx-keystore file.</p>
<p>    keyStoreType - type of the key store, "JKS" and "PKCS12" are supported types</p>
<p>With SDK 4.x I used following code:</p>
<p>ApplicationIdentity applicationIdentity = new ApplicationIdentity(new File(keystore), alias, password, storePassword, "JKS");</p>
<p>With this the pfx file could be loaded and a connection to a server was possible.</p>
<p>With SDK 5.x the loading failed with:</p>
<p>2026-05-07 17:52:15,886&#124;DEBUG&#124;CryptoUtil                    &#124;CryptoUtil init, trying to get: Windows-PRNG<br />
2026-05-07 17:52:15,915&#124;DEBUG&#124;CryptoUtil                    &#124;CryptoUtil init, using Windows-PRNG, random=PRNG<br />
2026-05-07 17:52:15,915&#124;DEBUG&#124;CryptoUtil                    &#124;Providers=[SUN version 17, SunRsaSign version 17, SunEC version 17, SunJSSE version 17, SunJCE version 17, SunJGSS version 17, SunSASL version 17, XMLDSig version 17, SunPCSC version 17, JdkLDAP version 17, JdkSASL version 17, SunMSCAPI version 17, SunPKCS11 version 17]<br />
2026-05-07 17:52:16,563&#124;INFO &#124;CryptoUtil                    &#124;Using CryptoProvider com.prosysopc.ua.stack.transport.security.BcCryptoProvider<br />
2026-05-07 17:52:16,575&#124;ERROR&#124;CreateApplicationIdentity     &#124;Failed to load ApplicationIdentity from KeyStore ./resources/opcua-keystore.pfx with Alias myAlias<br />
2026-05-07 17:52:16,578&#124;ERROR&#124;DefaultErrorHandler           &#124;com.prosysopc.ua.SecureIdentityException: Cannot load key from PKCS12 KeyStore: JKS not found<br />
com.prosysopc.ua.SecureIdentityException: Cannot load key from PKCS12 KeyStore: JKS not found<br />
	at com.prosysopc.ua.SecureIdentity.(SourceFile:?)<br />
	at com.prosysopc.ua.ApplicationIdentity.(SourceFile:?)</p>
<p>When I change the keyStoreType from JKS to PKCS12 ....</p>
<p>ApplicationIdentity applicationIdentity = new ApplicationIdentity(new File(keystore), alias, password, storePassword, "PKCS12");</p>
<p>...then it loads, but I observed it is always loading as long as the storePassword is correct.</p>
<p>If I use a wrong-alias or a wrong-password it is still loading and I can get a connection to an OpcUa server.</p>
<p>ApplicationIdentity applicationIdentity = new ApplicationIdentity(new File(keystore), wrong-alias, wrong-password, storePassword, "PKCS12");</p>
<p>With 4.x and JKS a connection was not possible when alias ot key password was wrong.</p>
<p>Was there any change in the internal implementation? I could'nt find any hint in the Migration Guide or in the ReleaseNotes.</p>
]]></description>
					                    <pubDate>Thu, 07 May 2026 23:11:10 +0300</pubDate>
                </item>
				                <item>
                    <title>rocket science on Cannot resolve windows console charset CP850</title>
                    <link>https://forum.prosysopc.com/forum/opc-ua-java-sdk/cannot-resolve-windows-console-charset-cp850/#p7554</link>
                    <category>OPC UA SDK for Java</category>
                    <guid isPermaLink="true">https://forum.prosysopc.com/forum/opc-ua-java-sdk/cannot-resolve-windows-console-charset-cp850/#p7554</guid>
					                        <description><![CDATA[<p>Hi, </p>
<p>I've updated an application to SDK 5.6.2 (from 4.x) and there seems to be one exception in the log file.</p>
<p>Cannot resolve windows console charset<br />
java.nio.charset.UnsupportedCharsetException: CP850.<br />
	at java.base/java.nio.charset.Charset.forName<br />
	at com.prosysopc.ua.stack.utils.OSUtil.eMY<br />
	at com.prosysopc.ua.stack.utils.OSUtil.a<br />
	at com.prosysopc.ua.stack.utils.OSUtil.exec<br />
	at com.prosysopc.ua.stack.utils.OSUtil.exec<br />
	at com.prosysopc.ua.stack.utils.OSUtil.eNa<br />
	at com.prosysopc.ua.stack.utils.OSUtil.eMZ<br />
	at com.prosysopc.ua.stack.utils.OSUtil.getDomainNameFromOs<br />
	at com.prosysopc.ua.stack.utils.OSUtil.getHostNameWithDomain<br />
	at com.prosysopc.ua.ApplicationIdentity.getActualHostName</p>
<p>One observation on the exception...</p>
<p>java.nio.charset.UnsupportedCharsetException: CP850.</p>
<p>...is that there is a dot at the end of CP850.</p>
<p>The Java class Charset does not add the dot at the end of the charset name when it throws the exception.</p>
<p>    public static Charset forName(String charsetName) {<br />
        Charset cs = lookup(charsetName);<br />
        if (cs != null)<br />
            return cs;<br />
        throw new UnsupportedCharsetException(charsetName);<br />
    }</p>
<p>So my guess is as CP850 is valid, that somehow you have used 'CP850.' somewhere in your SDK instead of 'CP850'</p>
<p>Can you check this?</p>
]]></description>
					                    <pubDate>Thu, 07 May 2026 20:25:05 +0300</pubDate>
                </item>
				                <item>
                    <title>Bjarne Boström on Server - SecureIdentityException</title>
                    <link>https://forum.prosysopc.com/forum/opc-ua-java-sdk/server-secureidentityexception/#p7553</link>
                    <category>OPC UA SDK for Java</category>
                    <guid isPermaLink="true">https://forum.prosysopc.com/forum/opc-ua-java-sdk/server-secureidentityexception/#p7553</guid>
					                        <description><![CDATA[<p>Hi,</p>
<p>What SDK version you are using? </p>
<p>Any option you could send one of the .pem to <a href="mailto:jsdk-support@prosysopc.com" target="_blank">jsdk-support@prosysopc.com</a>?</p>
<p>Alternatively, you could try loading them manually using (exactly these methods) com.prosysopc.ua.stack.utils.FileUtil.readFile(File) and then PrivKey.load(byte[], null) on the returned byte[]. This should throw an Exception that might help to explain what happened. In the loadOrCreate there is a fallback to try in another format (loadFromKeyStore), and the posted error is from that, but it failed before that (that would output a DEBUG level log only) because SDK writes them in format the load(..) should be able to load.</p>
<p>So my guess would be that somehow the writing of the .pem didn't work or it got corrupted somehow (or the filesystem did it afterwards somehow). SDK doesn't load them back on the method call that created them, it would only fail on the next call.</p>
<p>Also as a sidenote, unless I missed something, you are calling <a href="https://documentation.prosysopc.com/JSDK/javadoc/com/prosysopc/ua/ApplicationIdentity.html#loadOrCreateCertificate-com.prosysopc.ua.stack.core.ApplicationDescription-java.lang.String-java.lang.String-java.io.File-boolean-java.lang.String" rel="nofollow" target="_blank">https://documentation.prosysopc.com/JSDK/javadoc/com/prosysopc/ua/ApplicationIdentity.html#loadOrCreateCertificate-com.prosysopc.ua.stack.core.ApplicationDescription-java.lang.String-java.lang.String-java.io.File-boolean-java.lang.String</a>...-<br />
whose signature is<br />
loadOrCreateCertificate(ApplicationDescription applicationDescription, String organisation, String privateKeyPassword, File path, boolean enableRenew, String... hostNames) so your comments on the parameters are wrong. You give a null File as the folder where the keys would be stored so they become relative Files instead so it is possibly dependent on how your application is executed could the previously created be found. The boolean enableRenew means SDK will attemt to re-create the certificate if it expires. By default the certificates SDK creates are valid for 10 years. Thus, I think that has not happened yet.</p>
]]></description>
					                    <pubDate>Wed, 06 May 2026 16:49:09 +0300</pubDate>
                </item>
				                <item>
                    <title>Bjarne Boström on Create new UaNodeset using UaNodeSet class</title>
                    <link>https://forum.prosysopc.com/forum/opc-ua-java-sdk/create-new-uanodeset-using-uanodeset-class/#p7552</link>
                    <category>OPC UA SDK for Java</category>
                    <guid isPermaLink="true">https://forum.prosysopc.com/forum/opc-ua-java-sdk/create-new-uanodeset-using-uanodeset-class/#p7552</guid>
					                        <description><![CDATA[<p>We have added at some point limited support for the Extensions. Since they are not in the UA's node-model they are only in the server-side implementation UaNodes:<br />
ServerNode.setNodeSetExtensions(UaNodeSetExtensions)<br />
ServerNode.getNodeSetExtensions()</p>
<p>All server-side UaNodes are (and must be) ServerNode-based, so they can be casted to it (or if creating instances, the XXXTypeNode.class can be used instead of XXXType.class, if known and using class-based createInstance methods).</p>
<p>For now the UaNodeSetExtensions is still quite ... crude. It is just a wrapper for the raw whole Extensions XML element, including the Extensions element definition. It be created with UaNodeSetExtensions.parse(String) (doesn't validate anything yet) and the UaNodeSetExtensions.getRawXml() gives the raw xml back. Note that it might not be 1:1 for exporting/loadingh the model e.g. some whitespaces might change and the xml namespaces might need some experimenting, we have not explored this that much. The following should work, let us know if there are issues:</p>
<p></p>
<div class='sfcode' id='sfcode9306'>
    String extensionsXml =<br />
        &#034;&#060;Extensions xmlns=\&#034;<a href="http://opcfoundation.org/UA/2011/03/UANodeSet.xsd" rel="nofollow" target="_blank"><a href="http://opcfoundation.org/UA/20" rel="nofollow">http://opcfoundation.org/UA/20</a>.....odeSet.xsd</a>\&#034;&#062;&#034;<br />
            + &#034;  &#060;Extension&#062;&#034;<br />
            + &#034;    &#060;prosys:ProsysExtension xmlns:prosys=\&#034;<a href="http://www.prosysopc.com/OPCUA/Extensions.xsd" rel="nofollow" target="_blank"><a href="http://www.prosysopc.com/OPCUA" rel="nofollow">http://www.prosysopc.com/OPCUA</a>.....nsions.xsd</a>\&#034;&#062;&#034;<br />
            + &#034;      &#060;prosys:Name&#062;ExtensionName1&#060;/prosys:Name&#062;&#034;<br />
            + &#034;    &#060;/prosys:ProsysExtension&#062;&#034;<br />
            + &#034;  &#060;/Extension&#062;&#034;<br />
            + &#034;  &#060;Extension&#062;&#034;<br />
            + &#034;    &#060;prosys:ProsysExtension xmlns:prosys=\&#034;<a href="http://www.prosysopc.com/OPCUA/Extensions.xsd" rel="nofollow" target="_blank"><a href="http://www.prosysopc.com/OPCUA" rel="nofollow">http://www.prosysopc.com/OPCUA</a>.....nsions.xsd</a>\&#034;&#062;&#034;<br />
            + &#034;      &#060;prosys:Name&#062;ExtensionName2&#060;/prosys:Name&#062;&#034;<br />
            + &#034;    &#060;/prosys:ProsysExtension&#062;&#034;<br />
            + &#034;  &#060;/Extension&#062;&#034;<br />
            + &#034;&#060;/Extensions&#062;&#034;;<br />
    node.setNodeSetExtensions(UaNodeSetExtensions.parse(extensionsXml));
</div>
<p>(... some day we will have better code-block for the forum, anyway think there is a newline character at the end of each line's String data)</p>
<p>The xmlns needs to be defined for the Extensions element. And since it and Extension element are in the UANodeSet.xsd, I think using any own namespaces must be defined within each element that is inside the Extension like above. The resulted total XML for the model isn't as pretty as I would like it to be, as the xmlns:prosys part wont get "elevated" yet to the whole document root element XML namespaces definition.</p>
]]></description>
					                    <pubDate>Wed, 06 May 2026 13:21:44 +0300</pubDate>
                </item>
				                <item>
                    <title>Jouni Aro on Custom Object Types</title>
                    <link>https://forum.prosysopc.com/forum/opc-sdk-sentrol/custom-object-types/#p7551</link>
                    <category>Prosys Sentrol OPC UA &#038; Classic SDK for Delphi</category>
                    <guid isPermaLink="true">https://forum.prosysopc.com/forum/opc-sdk-sentrol/custom-object-types/#p7551</guid>
					                        <description><![CDATA[<p>Thanks for the report. I could not reproduce this with my sample type, though.</p>
<p>If you can contact our support by email, we can check this in more detail.</p>
]]></description>
					                    <pubDate>Tue, 05 May 2026 22:44:10 +0300</pubDate>
                </item>
				                <item>
                    <title>riverplate on Server - SecureIdentityException</title>
                    <link>https://forum.prosysopc.com/forum/opc-ua-java-sdk/server-secureidentityexception/#p7550</link>
                    <category>OPC UA SDK for Java</category>
                    <guid isPermaLink="true">https://forum.prosysopc.com/forum/opc-ua-java-sdk/server-secureidentityexception/#p7550</guid>
					                        <description><![CDATA[<p>Hi, I am creating an instance of a `UaServer` this way:</p>
<p>		var newServer = new UaServer();<br />
		ApplicationDescription appDescription = new ApplicationDescription();<br />
		appDescription.setApplicationName(new LocalizedText("SimpleServer", Locale.ENGLISH));<br />
		appDescription.setApplicationUri("urn:localhost:UA:SimpleServer");<br />
		appDescription.setProductUri("urn:prosysopc.com:UA:SimpleServer");<br />
		appDescription.setApplicationType(ApplicationType.Server);<br />
		ApplicationIdentity identity = ApplicationIdentity.loadOrCreateCertificate(<br />
				appDescription,<br />
				"MyCompany",	// Organization<br />
				null,			// Common Name for certificate<br />
				null, 			// Hostname override<br />
				true			// Create if missing<br />
				);<br />
		newServer.setApplicationIdentity(identity);<br />
		newServer.addUserTokenPolicy(UserTokenPolicies.ANONYMOUS);<br />
		newServer.init(); </p>
<p>Everything seemed to work fine, until I noticed that on a few PCs I get the error: </p>
<p>com.prosysopc.ua.SecurityIndetityException: Private key cannot be loaded from file SimpleServer_2048.pem<br />
		at com.prosysopc.ua.ApplicationIdentity.loadOrCreateKeyPair(SourceFile:930)<br />
Caused by: java.io.IOException: Short read of DER length<br />
    at java.base/sun.security.util.DerInputStream.getLength(DerInputStream.java:588)<br />
    at java.base/sun.security.util.DerValue.init(DerValue.java:390)<br />
    at java.base/sun.security.util.DerValue.(DerValue.java:331)<br />
    at java.base/sun.security.util.DerValue.(DerValue.java:344)<br />
    at java.base/sun.security.pkcs12.PKCS12KeyStore.engineLoad(PKCS12KeyStore.java:1993)<br />
    at java.base/java.security.KeyStore.load(KeyStore.java:1479)<br />
    at com.prosysopc.ua.stack.utils.CertificateUtils.loadFromKeyStore(SourceFile:660)<br />
    at com.prosysopc.ua.stack.transport.security.PrivKey.loadFromKeyStore(SourceFile:200)<br />
    at com.prosysopc.ua.stack.transport.security.PrivKey.loadFromKeyStore(SourceFile:183)<br />
    at com.prosysopc.ua.ApplicationIdentity.loadOrCreateKeyPair(SourceFile:925)</p>
<p>any idea on where the issue might be? The certificates are created by the SDK and never touched by any other process.</p>
<p>Thanks!</p>
]]></description>
					                    <pubDate>Tue, 05 May 2026 21:38:50 +0300</pubDate>
                </item>
				                <item>
                    <title>hbrackel on Create new UaNodeset using UaNodeSet class</title>
                    <link>https://forum.prosysopc.com/forum/opc-ua-java-sdk/create-new-uanodeset-using-uanodeset-class/#p7549</link>
                    <category>OPC UA SDK for Java</category>
                    <guid isPermaLink="true">https://forum.prosysopc.com/forum/opc-ua-java-sdk/create-new-uanodeset-using-uanodeset-class/#p7549</guid>
					                        <description><![CDATA[<p>Thank you very much for the swift reply.</p>
<p>I think that either of the 3 options will work for producing a nodeset. The only open subject would be the addition of NodeSet Extensions elements. We would want to add non-OPC UA configuration information like PLC data tag mappings etc into the nodeset as well as a single-source-of-truth.</p>
]]></description>
					                    <pubDate>Tue, 05 May 2026 19:31:20 +0300</pubDate>
                </item>
				                <item>
                    <title>Patrick on Custom Object Types</title>
                    <link>https://forum.prosysopc.com/forum/opc-sdk-sentrol/custom-object-types/#p7548</link>
                    <category>Prosys Sentrol OPC UA &#038; Classic SDK for Delphi</category>
                    <guid isPermaLink="true">https://forum.prosysopc.com/forum/opc-sdk-sentrol/custom-object-types/#p7548</guid>
					                        <description><![CDATA[<p>Hi again,</p>
<p>I got everything working with the dynamic types now (at least I thought so) but found a new, somewhat peculiar, issue.</p>
<p>When I run my program in 32Bit everything works just fine but running it in 64Bit got me an exception that a structure is missing mandatory field values. </p>
<p>Project raised exception class EUaException with message 'Mandatory Field Values for DynamicStructure type ExtensionObjectType undefined: ID,Name,ValueString'.</p>
<p>After digging around a bit I found that the following code snipped seems not to work in 64Bit.</p>
<p>  pNames := IStruct.GetFieldNames; //&#060;- this return [] in 64 bit and ['ID', 'Name', 'ValueString'] in 32Bit (for this specific type, of course the names can vary depending on the type definition)</p>
<p>  for s in pNames do<br />
  begin<br />
    pField := IStruct.FieldValues[s];<br />
    [...]<br />
    IBuilder.SetFieldValue(s, TUaVariant.Create(V));<br />
  end;</p>
<p>The GetFieldNames returns the list with the correct field names in 32Bit, but returns an empty list in 64Bit. The curios part is, when I hardcode a field name I know exist, the FieldValues[] function returns the field and the exception message gives me the missing field names as well. So the type itself seems to be correct and knows those fields do exist, just the GetFieldNames function won't disclose that information.</p>
<p>IStruct is a created by doing this:</p>
<p>pTo.Value.AsStructure</p>
<p>where pTo is a TUaVariable holding a custom structure type (checked with IsStructure beforehand).</p>
<p>Any Idea what might be the cause of this?</p>
]]></description>
					                    <pubDate>Mon, 04 May 2026 20:36:45 +0300</pubDate>
                </item>
				    </channel>
	</rss>
