小编tre*_*esf的帖子

Firefox 54停止信任自签名证书

随着Firefox 54的最近升级,我的自签名localhostSSL证书不再受到信任.

我一直在使用Firefox AutoConfigure脚本来安装此证书,该技术已经成功运行了好几年.Firefox使用自己的证书存储区,cert8.db其中包含证书,使用Firefox首选项,高级版,证书,查看证书,权限进行验证.

这在MacOS和Windows上都是可重现的.我附上了样本证书以供参考.这与我们安装的相同.

Firefox 54有什么变化?我查看了更改日志,但找不到任何特定于它如何信任证书的内容.

编辑:链接到Firefox错误,最有可能引入此更改:firefox #1294580

-----BEGIN CERTIFICATE-----
MIID/DCCAuSgAwIBAgIEDZj+fTANBgkqhkiG9w0BAQsFADCBmjELMAkGA1UEBhMC
VVMxCzAJBgNVBAgTAk5ZMRIwEAYDVQQHEwlDYW5hc3RvdGExGzAZBgNVBAoTElFa
IEluZHVzdHJpZXMsIExMQzEbMBkGA1UECxMSUVogSW5kdXN0cmllcywgTExDMRww
GgYJKoZIhvcNAQkBFg1zdXBwb3J0QHF6LmlvMRIwEAYDVQQDEwlsb2NhbGhvc3Qw
HhcNMTcwMjEyMDMzMjEwWhcNMzcwMjEyMDMzMjEwWjCBmjELMAkGA1UEBhMCVVMx
CzAJBgNVBAgTAk5ZMRIwEAYDVQQHEwlDYW5hc3RvdGExGzAZBgNVBAoTElFaIElu
ZHVzdHJpZXMsIExMQzEbMBkGA1UECxMSUVogSW5kdXN0cmllcywgTExDMRwwGgYJ
KoZIhvcNAQkBFg1zdXBwb3J0QHF6LmlvMRIwEAYDVQQDEwlsb2NhbGhvc3QwggEi
MA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCemwdWhvytOwhsRyEo/9ck3nKP
oBvMdkaiXKbMWlYZfYyb/EsJzw/LiEqGGhflWjneQLcgq0nuTtRaA9cm/vgPtVRX
OHewJeYBI2C4avJyjdFfQYHJKxuLi3nwmZ5JwcDm04H6SADwdyQuYB4AFr32uY5D
3id0gyDV+EX9sSOPThtdBpEbaBcFmAdAGdQUCzSJyi4Yu6UkIs7OPBHp9lOvm8VQ
r6ZVnqdFEXmxgpgMS0sQwDwZnBB3hFcVmE/sYy+2gV/h+yvRUjgqwC/SoLh9f4D0
eG19E3OEmsSyFM9K2Wl4ltOE/Aq1KFm7dPw34nDKxYcVDpm6JczWycbCi4zjAgMB
AAGjSDBGMCUGA1UdEQQeMByCCWxvY2FsaG9zdIIPbG9jYWxob3N0LnF6LmlvMB0G
A1UdDgQWBBT3Qs6/qQSmunLIGKQxz3GBO+RgIzANBgkqhkiG9w0BAQsFAAOCAQEA
lVI3sWr6wTtVtc7gsV9Kk99xNOUm5W2kp/Ot5CHvUIw68Ar1WIiouWT9BbjkvFc+
QpbtqKhluTdHI1/JP44r7A8qMApyYQLhw3AS/WTzRoOBOECJk3hYgGBIxAaoqvKY
HKCOULTqkoX8pgNhYobebn/BpeoSvXW+oxT21y7ElE01eMtrLsqXKaN5FODxVzJq
7jatxCaRZCy2Ki3R0cB5ZMIVvWSDeT1TLgh5UKWdldNsTdTNhbQSdm8ayU0uj4fH
tKqwh9lKvrBJiawghmADjZjeNEQzIJfjznF/soqVZnRNZO/phDH327lDE2UcD1IN
k4BqNRJmz5lrQeYz8GcfYA==
-----END CERTIFICATE-----
Run Code Online (Sandbox Code Playgroud)

ssl https firefox certificate websocket

17
推荐指数
3
解决办法
1万
查看次数

自莫哈韦沙漠以来,链接在自制软件中无效

我现在已经在两台计算机上重现了这种症状,自从将计算机升级到macOS Mojave以来,cmake似乎不再寻找/usr/local/lib(或更恰当地是$(brew --prefix)/lib)由Homebrew提供的库。

尽管有一些方法可以避免这种情况(例如,使用EXECUTE_PROCESS; 搜索结果,然后将结果添加到LINK_LIBRARIES(...)命令中),但都没有理想的方法。莫哈韦沙漠(Mojave)发生了什么变化以打破这种行为?

临时解决方法是将以下内容添加到CMakeLists.txt

# WARNING: Don't hard-code this path
LINK_DIRECTORIES(/usr/local/lib)
Run Code Online (Sandbox Code Playgroud)

我已经尝试brew doctor并更新了所有自制软件包,但无济于事。

cmakemake)显示的特定错误是:

ld: library not found for -l<somelib>
Run Code Online (Sandbox Code Playgroud)

我已经在Homebrew论坛Apple开发者论坛上提出了问题

c++ homebrew cmake

12
推荐指数
2
解决办法
1657
查看次数

macOS“Big Sur”检测深色菜单栏/系统托盘

从 macOS(10.16“Beta”/11.0)“Big Sur”开始,菜单栏和系统托盘不再支持桌面暗模式首选项,因此很难为此桌面正确设置系统托盘图标的主题。

以前,使用 shell 命令default read,可以检测到暗模式:

defaults read -g AppleInterfaceStyle
# "Dark"
Run Code Online (Sandbox Code Playgroud)

这对于检测 Window 主题仍然很有效,但它不适用于菜单栏和系统托盘主题。

由于这个区域似乎是由壁纸亮度/白度/亮度驱动的,我们如何检测暗系统托盘?

n

如何在(例如)Objective-C/C++ 中检测到这一点?欢迎任何解决方案,因为大多数解决方案都可以进行调整。

问题也发布到 Apple 开发者论坛:https : //developer.apple.com/forums/thread/652540

Qt5.6 有一个称为setIsMask(...)允许操作系统自动处理的功能。这实际上是一个别名NSImage::setTemplate:Yes

更多关于 macOS“黑暗模式”的参考:

采用OpenJDK上游错误报告:

关键词:NSStatusBar,Menu Bar Extras

c++ java objective-c statusbar

11
推荐指数
2
解决办法
4047
查看次数

WebView 何时准备好用于快照()?

JavaFX的文档状态,一个WebView当准备Worker.State.SUCCEEDED达到但是,除非你稍等片刻(即AnimationTransitionPauseTransition等等),一个空白页面的呈现方式。

这表明 WebView 内部发生了一个事件,准备捕获它,但它是什么?

GitHub 上SwingFXUtils.fromFXImage7,000 多个代码片段使用,但其中大多数似乎与 无关WebView,是交互式的(人类掩盖了竞争条件)或使用了任意转换(从 100 毫秒到 2,000 毫秒的任何时间)。

我试过了:

  • changed(...)WebView的维度内监听(高度和宽度属性DoubleProperty实现ObservableValue,可以监控这些东西)

    • 不可行。有时,该值似乎与绘制例程分开更改,导致部分内容。
  • runLater(...)在 FX 应用程序线程上盲目地讲述任何事情。

    • 许多技术都使用它,但我自己的单元测试(以及来自其他开发人员的一些很好的反馈)解释说事件通常已经在正确的线程上,并且这个调用是多余的。我能想到的最好的方法是通过排队来增加足够的延迟,它对某些人有效。
  • 将 DOM 侦听器/触发器或 JavaScript 侦听器/触发器添加到 WebView

    • SUCCEEDED尽管捕获了空白,但在调用时 JavaScript 和 DOM 似乎都已正确加载。DOM/JavaScript 侦听器似乎没有帮助。
  • 使用AnimationorTransition有效地“睡眠”而不阻塞主 FX 线程。

    • ?? 这种方法有效,如果延迟足够长,可以产生高达 100% 的单元测试,但过渡时间似乎是我们只是猜测和糟糕设计的未来时刻。对于高性能或关键任务应用程序,这迫使程序员在速度或可靠性之间做出权衡,这对用户来说都是一种潜在的糟糕体验。

什么时候打电话合适WebView.snapshot(...)

用法:

SnapshotRaceCondition.initialize();
BufferedImage bufferedImage = …
Run Code Online (Sandbox Code Playgroud)

java multithreading javafx race-condition

9
推荐指数
1
解决办法
347
查看次数

包 sun.awt 不存在

当使用ant, 调用sun.awt.AppContext工作时,但是使用 AdaptOpenJDK11 使用 IntelliJ 编译的相同代码失败。

  • sun.awt.AppContext使用Oracle JDK8与 IntelliJ 配合使用
  • sun.awt.AppContext采用AdoptOpenJDK11不适用于IntelliJ

尽管 Sun/Oracle 已经警告过一段时间要避免使用这些sun.*包,但Java中的某些功能(错误?)仍然需要它们,而且很奇怪,命令行似乎很高兴。

示例代码:

package test;

import javax.print.PrintService;
import javax.print.PrintServiceLookup;
import sun.awt.AppContext;

public class Main {

    public static void main(String[] args) {
        //Update printer list in CUPS immediately
        AppContext.getAppContext().put(PrintServiceLookup.class.getDeclaredClasses()[0], null);

        PrintService[] printers = PrintServiceLookup.lookupPrintServices(null, null);
        for (PrintService p : printers) {
            System.out.println(p.getName());
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明

如何配置 IntelliJ 使其表现得像ant并允许访问sun.awt.* …

java intellij-idea java-11 adoptopenjdk openjdk-11

7
推荐指数
1
解决办法
4066
查看次数

Java和Mojave的强化运行时

我目前分发Java应用程序,pkgbuild在macOS上使用打包和签名

苹果最近警告开发人员:

“在即将发布的macOS版本中,Gatekeeper将需要由开发人员ID签名的软件由Apple 进行公证。”

在阅读了经过公证的文档后,苹果警告开发人员

“您必须启用强化的运行时,Apple才能对您的应用程序进行公证。”

其中详细介绍了如何在Xcode中启用这些设置。但是,那些不是用Xcode开发的应用程序呢? Xamarin / Mono对如何解决这个问题有来回回的意见,但是到目前为止,提交似乎集中在Mojave检测和C / C ++上。Java应用程序或不分发任何C / C ++ / Objective-C编译代码的应用程序呢?如何对项目进行“公证”,以便将来的macOS更新不会阻止项目?

可能相关:如何为Xcode上的第三方CLI进行代码签名并启用强化的运行时?

java security pkgbuild hardening macos-mojave

5
推荐指数
2
解决办法
1938
查看次数

使用 Ivy 下载 JavaFX 依赖项

我希望使用 Ivy 从 Maven Central 获取 JavaFX。

这可以获取 Java 依赖项,但不能获取本机依赖项。

预期的:

  • javafx-graphics-21.0.1.jar
  • javafx-graphics-21.0.1-linux.jar

实际的:

  • javafx-graphics-21.0.1.jar
  • 丢失的 javafx-graphics-21.0.1-linux.jar

我如何获取原生组件?

ivy.xml

<ivy-module version="2.0" xmlns:m="https://ant.apache.org/ivy/maven">
    <info organisation="org.my" module="my-proj"/>
    <dependencies>
        <dependency org="org.openjfx" name="javafx-graphics" rev="21.0.1" />
    </dependencies>
</ivy-module>
Run Code Online (Sandbox Code Playgroud)
ivy && ls ~/.ivy2/cache/org.openjfx/javafx-graphics/jars
# javafx-graphics-21.0.1.jar
Run Code Online (Sandbox Code Playgroud)

这是POM:https://repo1.maven.org/maven2/org/openjfx/javafx/20.0.1/javafx-20.0.1.pom

相关:如何使 Maven 在 linux 上请求正确的 javafx 依赖项

我添加maven-2标签是因为Ivy 使用 Maven 2 存储库

在没有特定设置的情况下,Ivy 使用 Maven 2 存储库来解析您在 Ivy 文件中声明的依赖项。

java maven-2 javafx ivy maven-central

5
推荐指数
1
解决办法
48
查看次数