小编Mic*_*eds的帖子

如何检查X509证书是否已在Java中吊销?

我在各地到处搜寻Google,并在其他社区中询问,我一直前进到讨论该规范的oracle文档。但是,该文档更多地涵盖了方法的命名以及整个体系结构,实际上并未提出讨论如何实际编写一些代码来检查x509证书是否被撤销的方法。

也许这只是我头上的办法?但是如果有人可以帮助我,我肯定会感激不已,我已经将我的头撞在墙上大约一个星期了。

java ssl x509certificate

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

Spring 数据 mongodb 存储库。如何通过 ID 列表进行搜索?

我有以下课程!

public class Task{
    ObjectId id;
    String title;
    String description;

    /* Getters and Setters removed for brevity */
}
Run Code Online (Sandbox Code Playgroud)

我有以下 mongoRepository 类,非常简单:

public interface TaskRepository extends MongoRepository<Task, String> {

}
Run Code Online (Sandbox Code Playgroud)

正如你所看到的,我还没有尝试扩展这个类 - 如果我想要一个 find 方法,我想在这里做什么,我可以只给它一个 Id 列表,然后取回我的相应任务列表?

spring mongodb spring-data spring-data-mongodb

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

Dropwizard&Hibernate - 当前没有会话绑定到执行上下文

我想我对这里的问题有一个很好的了解,但我绝对不知道如何解决它...

以下是我在dropwizard中启动应用程序的方法:

@Override
public void run(ServerConfiguration configuration, Environment environment)
{

    // Setting up the database.
    final DBIFactory factory = new DBIFactory();
    final DBI jdbi = factory.build(environment, configuration.getDataSourceFactory(), "mysql");

    //Hibernate
    final UserDAO dao = new UserDAO(hibernate.getSessionFactory());
    environment.jersey().register(new UserResource(dao));

    final TemplateHealthCheck healthCheck = new TemplateHealthCheck(configuration.getTemplate());

    environment.healthChecks().register("template", healthCheck);

    // security
    //****** Dropwizard security - custom classes ***********/
    environment.jersey().register(new AuthDynamicFeature(new BasicCredentialAuthFilter.Builder<User>()
            .setAuthenticator(new BasicAuth(dao))
            .setAuthorizer(new BasicAuthorizer())
            .setRealm("BASIC-AUTH-REALM")
            .buildAuthFilter()));
    environment.jersey().register(RolesAllowedDynamicFeature.class);
    environment.jersey().register(new AuthValueFactoryProvider.Binder<>(User.class));
}
Run Code Online (Sandbox Code Playgroud)

现在,正如你在这里看到的那样,我将我的用户dao传递给我的身份验证器......我在网上看到的没有教程就是这样,这是因为每个在线教程都使用硬编码值而不是显示如何查询数据库.

也就是说,这就是我试图验证的方式......

public class BasicAuth implements Authenticator<BasicCredentials, User> {

UserDAO _userDAO;
final Encryption …
Run Code Online (Sandbox Code Playgroud)

rest hibernate dropwizard

4
推荐指数
1
解决办法
2959
查看次数

将 JWT 令牌与 dropwizard 结合使用?我已经有了 db auth,但对使用令牌感到困惑

我有以下用于数据库身份验证的 Authenticator 类:

public class DBAuthentication implements Authenticator<BasicCredentials, User> {

    private UserDAO userDAO;

    public DBAuthentication(UserDAO userDAO) {
        this.userDAO = userDAO;
    }

    @Override
    public Optional<User> authenticate(BasicCredentials credentials) throws AuthenticationException{
       return userDAO.findByUsernamePassword(credentials.getUsername(), credentials.getPassword());
    }
}
Run Code Online (Sandbox Code Playgroud)

然后当我想对资源进行身份验证时,我只需执行以下操作:

@GET
@Produces(MediaType.TEXT_PLAIN)
@Path("/secured")
@UnitOfWork
public String aliveSecure(@Auth User user)
{
    return "working.";
}
Run Code Online (Sandbox Code Playgroud)

这是一种简单的经过身份验证的方法 - 而且效果很好...但是,假设我想让用户登录,然后获取他们可以用于将来请求的令牌,直到令牌过期...我会假设(如果我错了,请纠正我)我会做一些事情,比如拥有一个资源,它将获取凭据,然后在响应中返回令牌,以便存储在客户端上 - 这很好......但如果我这样做那么,我稍后将如何针对令牌进行身份验证?

java authentication rest jwt dropwizard

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

我是否需要使用scrypt对已经哈希的密码进行盐化?

我通过使用scrypt算法然后存储该字符串,在一分钟内将密码存储在数据库中.

我正在进行密码检查,然后对所提供的密码进行哈希处理,并对其进行检查.

我的问题是,我是否想要增加更多安全性?我也应该加密加密的字符串吗?

encryption cryptography scrypt

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

在gradle中获取nexus工件作为依赖项?

我有以下关系神器:

com/companyName/my-awesome-util/0.0.0/my-awesome-util-0.0.0.jar
Run Code Online (Sandbox Code Playgroud)

我完全不知道如何在我的 gradle 构建文件中获取它。我已经用谷歌搜索了它,遵循了示例,但我无法让它工作。我来自 Maven 世界,我只需要让这件事起作用,这样我至少可以了解我将来需要做什么。

gradle build.gradle

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

maven 创建阴影 jar 时出错:打开 zip 文件时出错

我正在尝试使用以下命令构建我的 dropwizard 项目:

mvn package
Run Code Online (Sandbox Code Playgroud)

我收到以下错误:

Failed to execute goal org.apache.maven.plugins:maven-shade-plugin:2.3:shade (default) on project rest-api: Error creating shaded jar: error in opening zip file /Users/ldelaney/.m2/repository/mysql/mysql-connector-java/5.1.36/mysql-connector-java-5.1.36.jar
Run Code Online (Sandbox Code Playgroud)

我检查过,罐子就在那里,就在maven正在寻找的地方。

我也尝试过把它吹走,然后运行:

mvn clean
mvn package
Run Code Online (Sandbox Code Playgroud)

但错误不会消失。我的 IDE 没有显示任何错误。

另外,这是我对 POM 的依赖:

<dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
    <version>5.1.36</version>
</dependency>
Run Code Online (Sandbox Code Playgroud)

这是整个 POM 文件。

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
     xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>

<groupId>com.company.test</groupId>
<artifactId>rest-api</artifactId>
<version>1.0-SNAPSHOT</version>

<properties>
    <dropwizard.version>1.0.5</dropwizard.version>
    <mongodriver.version>3.4.2</mongodriver.version>
    <mysqlConnector.version>5.1.36</mysqlConnector.version>
    <log4j.version>1.2.17</log4j.version>
</properties>

<dependencies>

    <!-- Drop Wizard -->
    <dependency>
        <groupId>io.dropwizard</groupId>
        <artifactId>dropwizard-core</artifactId>
        <version>${dropwizard.version}</version>
    </dependency>
    <dependency>
        <groupId>io.dropwizard</groupId>
        <artifactId>dropwizard-auth</artifactId>
        <version>${dropwizard.version}</version>
    </dependency>
    <dependency>
        <groupId>io.dropwizard</groupId> …
Run Code Online (Sandbox Code Playgroud)

mysql-connector maven

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

想要串入int吗?

我真的以为这很简单:

string(myInt)
Run Code Online (Sandbox Code Playgroud)

似乎没有。

我正在编写一个函数,该函数需要一个int切片,并将每个int附加到字符串中,并在每个int之间添加分隔符。这是我的代码。

func(xis *Int16Slice) ConvertToStringWithSeparator(separator string) string{
    var buffer bytes.Buffer
    for i, value := range *xis{
        buffer.WriteString(string(value))
        if i != len(*xis) -1 {
            buffer.WriteString(separator)
        }
    }
    return buffer.String()
}
Run Code Online (Sandbox Code Playgroud)

请阅读下面的句子。这不是如何在Go中将int值转换为字符串的重复项-因为:我知道诸如strconv.Itoa函数之类的东西,但似乎只能在“常规” int上使用。它不支持int16

go

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

在编写可能最终传递任何类型结构的函数时,我可以使用接口作为参数吗?

我正在尝试编写一个最终可能采用任何结构的函数...让我们说它是这样的:

func setDate(s timestamp, data interface{}){
    data.Date = timestamp
}
Run Code Online (Sandbox Code Playgroud)

我意识到我不需要在现实生活中设置这个值的功能,我试图更多地了解接口的工作方式等.

struct interface go

0
推荐指数
1
解决办法
42
查看次数

有人可以向我解释这个循环吗?

我有以下Perl代码.我知道最终结果是什么:如果我运行它并传入x9.37文件,它将吐出每个文本字段.这很好,但我试图将其移植到另一种语言,我根本无法读取Perl.如果有人可以把它变成某种形式的伪代码的(我不需要使用的Java - 我能写的那部分)我只是需要有人来解释一下什么是在下面的Perl的事情!

#!/usr/bin/perl -w
use strict;
use Encode;

my $tiff_flag = 0;
my $count = 0;

open(FILE,'<',$ARGV[0]) or die 'Error opening input file';
binmode(FILE) or die 'Error setting binary mode on input file';

while (read (FILE,$_,4)) {
  my $rec_len = unpack("N",$_);
  die "Bad record length: $rec_len" unless ($rec_len > 0);
  read (FILE,$_,$rec_len);
  if (substr($_,0,2) eq "\xF5\xF2") {
    $_ = substr($_,0,117);
  }
  print decode ('cp1047', $_) . "\n";
}
close FILE;
Run Code Online (Sandbox Code Playgroud)

perl

-1
推荐指数
1
解决办法
87
查看次数