我的 CI 构建在 OWASP 依赖项检查中失败。例如
[HIGH] CVE-2021-37136 - io.netty:netty-codec-4.1.66.Final
Run Code Online (Sandbox Code Playgroud)
我知道我可以添加抑制来owaspDependencyCheckSuppressions.xml
解决这个问题。
这是我以前没有做过的事情,但这里有一个指南 - https://jeremylong.github.io/DependencyCheck/general/suppression.html 上面写着......
“使用 HTML 报告抑制这些误报相当容易。在报告中,每个已识别的 CPE 旁边(以及 CVE 条目上)都有一个抑制按钮。单击抑制按钮将创建一个对话框,您可以简单地按 Control-C复制要放入抑制 XML 文件中的 XML”
我有 2 个问题
#1 你知道我在哪里可以找到这份 HTML 报告吗?我认为它可能在 CI 中链接(我正在使用 Circle CI),但我在那里找不到它:(
#2 指南中给出了抑制示例
<?xml version="1.0" encoding="UTF-8"?>
<suppressions xmlns="https://jeremylong.github.io/DependencyCheck/dependency-suppression.1.3.xsd">
<suppress>
<notes><![CDATA[
file name: some.jar
]]></notes>
<sha1>66734244CE86857018B023A8C56AE0635C56B6A1</sha1>
<cpe>cpe:/a:apache:struts:2.0.0</cpe>
</suppress>
</suppressions>
Run Code Online (Sandbox Code Playgroud)
指南接着说
“上面的 XML 文件将抑制任何具有匹配 SHA1 哈希值的文件中的 cpe:/a:apache:struts:2.0.0。”
“任何文件”是什么意思?这是否意味着任何使用依赖关系的 Java 类?
谢谢 :)
我正在使用 Azurite,并希望从 bash 终端创建一个容器/上传一个 blob 等!
我尝试过像这样使用 Azure CLI::
az storage container create --account-name devstoreaccount1 --account-key Eby8vdM02xNOcqFlqUwJPLlmEtlCDXJ1OUzFT50uSRZ6IFsuFq2UVErCz4I6tq/K1SZFPTOtr/KBHBeksoGMGw== --name mycontainer
Run Code Online (Sandbox Code Playgroud)
但当然它不起作用并抱怨身份验证失败!顺便说一句,该示例中使用了正确的帐户密钥和名称。
我相信使用 Azure CLI 与 Azurite 对话是不可能的。
我想做的就是创建一个容器并从终端上传文件到其中。
有人知道这是否可能吗?或者我是否必须使用 Java 客户端(例如)来完成这项工作?
谢谢
我有两个 spring-boot 应用程序。在接收器应用程序的 Application.java 中,我有:
@Bean
public JmsListenerContainerFactory<?> myFactory(ConnectionFactory connectionFactory, DefaultJmsListenerContainerFactoryConfigurer configurer) {
DefaultJmsListenerContainerFactory factory = new DefaultJmsListenerContainerFactory();
configurer.configure(factory, connectionFactory);
return factory;
}
Run Code Online (Sandbox Code Playgroud)
并在 Receiver.java ...
@JmsListener(destination = "myQueue", containerFactory = "myFactory")
public void receiveMessage(String tradeString) throws JSONException, IOException {
tradeImpl = new ObjectMapper().readValue(tradeString, TradeImpl.class);
}
Run Code Online (Sandbox Code Playgroud)
在发件人应用程序中,我只是使用:
public void send(trade) {
String queueName = "myQueue";
String tradeString = new ObjectMapper().writeValueAsString(trade);
jmsTemplate.convertAndSend(queueName, tradeString);
}
Run Code Online (Sandbox Code Playgroud)
所以我只是将消息发送到接收器应用程序中指定的队列名称。我在日志中得到以下信息
无法启动 JMX 连接器无法绑定到 URL [rmi://localhost:1099>/jmxrmi]: javax.naming.NameAlreadyBoundException: jmxrmi [Root 异常是 java.rmi.AlreadyBoundException:
我已经阅读了以下帖子,并没有发现它非常令人鼓舞:
我有一个包含超过 66 个场景的 Cucumber 功能文件!功能文件的标题确实代表了场景的全部内容。
但 66(200 步)感觉是一个相当大的数字。这是否表明我的专题标题过于宽泛?
单个功能文件中的最大场景数是多少(从最佳实践的角度来看)?
提前致谢 :)
我有一个 Kotlin SpringBoot 项目。这是一个相对简单的 API,可将数据保存到 Postgres JsonB 数据库。我@TypeDef
在实体类上使用该注释,但升级到此注释后SpringBoot Version 3.0
不再hibernate-core:6.1.7.Final
可用。
这是我的实体类::
import com.vladmihalcea.hibernate.type.json.JsonBinaryType
import jakarta.persistence.Column
import jakarta.persistence.Entity
import jakarta.persistence.Id
import jakarta.persistence.Table
import org.hibernate.annotations.Type
import org.hibernate.annotations.TypeDef // not available with latest hibernate-core
import java.io.Serializable
import java.security.SecureRandom
import kotlin.math.abs
@Entity
@Table(name = "myTable")
@TypeDef(name = "jsonb", typeClass = JsonBinaryType::class) // not available :(
data class RecommendationEntity(
@Id
open var id: Long = abs(SecureRandom().nextInt().toLong()),
@Type(type = "jsonb")
@Column(columnDefinition = "jsonb")
var data: MyModel
)
data class MyModel( …
Run Code Online (Sandbox Code Playgroud)