小编Ale*_*x F的帖子

如何使用 openssl 验证电子邮件中的 DKIM 签名?

我已经为我的 postfix 设置了 opendkim,现在所有外发邮件都有 DKIM-Signature 标题。我想要做的是手动验证,无需 DNS 和外部实用程序,最好仅使用 openssl,消息是否获得正确的签名。所以作为输入数据我有:

  • DKIM-电子邮件的签名标头
  • DKIM 选择器、DKIM 域
  • DKIM 私钥
  • DKIM 公共签名(如果我需要放入 DNS 的记录形式)

问题是如何使用某些 CLI 实用程序(如 openssl)使用 DKIM 公共签名来解密和/或验证 DKIM 签名?

openssl dkim

6
推荐指数
1
解决办法
7615
查看次数

是否可以从没有安装 Spark 的主机启动 Spark 应用程序

我有一个使用 Spark 独立实例设置的远程主机(现在在同一台机器上一个主站和一个从站)。我也有具有spark-core依赖性的本地 Java 代码和带有实际 Spark 应用程序的打包 jar。我正在尝试使用SparkLauncherJavadoc 中描述的类来启动它。

这里是依赖:

        <groupId>org.apache.spark</groupId>
        <artifactId>spark-core_2.10</artifactId>
        <version>${spark.version}</version>
Run Code Online (Sandbox Code Playgroud)

这是躺椅的代码:

        new SparkLauncher()
            .setVerbose(true)
            .setDeployMode("cluster")
            .setSparkHome("/opt/spark/current").setAppResource(Resources.getResource("validation.jar").getPath())
            .setMainClass("com.blah.SparkTestApplication")
            .setMaster("spark://"  + sparkMasterHostWithPort))
            .startApplication();
Run Code Online (Sandbox Code Playgroud)

我得到的错误要么是,要么path not found /opt/spark/current/,如果我删除setSparkHome电话,Spark home not found; set it explicitly or use the SPARK_HOME environment variable.

这是我的幼稚问题:是否有任何解决方法可以让我不在我只想运行 Launcher 的本地主机上安装 Spark 二进制文件?为什么依赖项中引用的 Spark Java 代码不能/不足以连接到某些已配置的远程 Spark Master 并提交应用程序 jar?即使我将 Spark 二进制文件、应用程序代码甚至 Spark Java jar 放在 hdfs 位置并使用其他部署方法(如​​ YARN),是否仅使用 Launcher 来触发提交并远程启动就足够了?

原因是我想避免在多个客户端节点上安装 Spark 二进制文件只是为了从那里提交和启动动态创建/修改的 Spark 应用程序,这对我来说听起来像是一种浪费。更不用说每次提交都需要将应用程序打包在 jar 中。

java apache-spark

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

Ruby Regex 仅捕获最后一个匹配组的值

当匹配应该从字符串的末尾完成时,我对在 Ruby 中使用非贪婪的正则表达式感到困惑。

假设我的字符串:

s = "Some words (some nonsense) and more words (target group)"
Run Code Online (Sandbox Code Playgroud)

我想得到“(目标群体)”的结果。我怎样才能做到这一点?正在尝试以下操作:

贪婪的:

s.match(/\(.*\)$/)[0]
=> "(some nonsense) and more words (target group)"

s.match(/\(.*\)/)[0]
=> "(some nonsense) and more words (target group)"
Run Code Online (Sandbox Code Playgroud)

非贪婪:

s.match(/\(.*?\)/)[0]
=> "(some nonsense)"

s.match(/\(.*?\)$/)[0]
=> "(some nonsense) and more words (target group)"
Run Code Online (Sandbox Code Playgroud)

请注意,初始字符串在“()”中可能包含也可能不包含任意数量的组。

ruby regex

2
推荐指数
1
解决办法
4618
查看次数

标签 统计

apache-spark ×1

dkim ×1

java ×1

openssl ×1

regex ×1

ruby ×1