Closed rko281 closed 2 years ago
The issues originate from the addition of Unicode support in 7.1. The set of valid classes allowed by the filer needed to be changed when String became abstract, and problem with the registry data was caused by 303e817f93a53f90bc4499a36370910f0fcd53d9, which broke direct storage of ByteArray
s as registry values.
These issues have been fixed in Dolphin 8:
DolphinSureTrustedDataTest>>#testBinaryReadOldCertificate
.I extracted/created the fixes while investigating, and will send shortly.
Finally, even with these fixes applied, the final part of the example fails to validate the test data ('It was not possible to decode some trusted signed data. The data is either corrupt or has been tampered with.').
If you are referring to the last expression, then that is what the last two lines are trying to demonstrate 😊. The data has been tampered with by the penultimate expression.
If you are referring to the last expression, then that is what the last two lines are trying to demonstrate 😊. The data has been tampered with by the penultimate expression.
Thanks and apologies!
If you are referring to the last expression, then that is what the last two lines are trying to demonstrate 😊. The data has been tampered with by the penultimate expression.
Thanks and apologies!
No need to apologise. It confused me for a while until the penny dropped.
This didn't auto-close because the PR was not merged to the default branch, which is now master, although I'm confident the changes aren't required in master anyway as they are either present or superseded. Close it if/when you are happy.
Tested and working.
From comp.lang.smalltalk.dolphin 26/07/2022:
The example give in the DolphinSure Example Authority package no longer works:
The printString for the certificate fails with the error
STBFiler - Input stream contains an invalid class (AnsiString)
. This can be fixed by changing the reference to #String to #AnsiString in the methodDolphinSureCertificateInfo class>>binaryReadFrom:context:
:The same change is probably also needed in
DolphinSureTrustedData class>>binaryReadFrom:context:
.With this fixed a further error occurs in the example workspace that opens. The line
...fails with an STBFiler error. This originates in
DolphinSureCertificateStore>>atSerial:ifAbsent:
since the 'bytes' returned from the Registry lookup is actually an Array of Strings of Integers. This can be fixed in a quick-and-dirty way as follows:A similar change is also needed in
DolphinSureCertificateStore>>default
(although possibly the fix should be in the registry lookup code?).Finally, even with these fixes applied, the final part of the example fails to validate the test data ('It was not possible to decode some trusted signed data. The data is either corrupt or has been tampered with.'). Possibly the hard-coded private key is invalid following the changes in #537 ?