小编Din*_* Tw的帖子

java.security.UnrecoverableKeyException:无法获取有关私钥的信息

我有以下几行来从Android上的密钥存储区获取私钥

KeyStore keyStore = KeyStore.getInstance("AndroidKeyStore");
keyStore.load(null);

// generating key pair code omitted

KeyStore.PrivateKeyEntry privateKeyEntry = (KeyStore.PrivateKeyEntry) this.keyStore.getEntry("alias", null);
Run Code Online (Sandbox Code Playgroud)

一切正常,但当操作系统从Android 5.1.1升级到Android 6.0.1时,第3行将java.security.UnrecoverableKeyException: Failed to obtain information about private key首先执行.但之后它会再次正常工作.现在我的解决方法是执行该行2次.与此同时,我也想知道是否有更好的方法来避免异常.

更新

异常跟踪

W/System.err? java.security.UnrecoverableKeyException: Failed to obtain information about private key
W/System.err? at android.security.keystore.AndroidKeyStoreProvider.loadAndroidKeyStorePublicKeyFromKeystore(AndroidKeyStoreProvider.java:217)
W/System.err? at android.security.keystore.AndroidKeyStoreProvider.loadAndroidKeyStoreKeyPairFromKeystore(AndroidKeyStoreProvider.java:253)
W/System.err? at android.security.keystore.AndroidKeyStoreProvider.loadAndroidKeyStorePrivateKeyFromKeystore(AndroidKeyStoreProvider.java:263)
W/System.err? at android.security.keystore.AndroidKeyStoreSpi.engineGetKey(AndroidKeyStoreSpi.java:93)
W/System.err? at java.security.KeyStoreSpi.engineGetEntry(KeyStoreSpi.java:372)
W/System.err? at java.security.KeyStore.getEntry(KeyStore.java:645)
W/System.err? at com.example.keystoretest.MainActivity.onCreate(MainActivity.java:113)
W/System.err? at android.app.Activity.performCreate(Activity.java:6251)
W/System.err? at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1107)
W/System.err? at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2369)
W/System.err? at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2476)
W/System.err? at android.app.ActivityThread.-wrap11(ActivityThread.java)
W/System.err? at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1344) …
Run Code Online (Sandbox Code Playgroud)

java android keystore java-security private-key

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

Spring MVC中的@Named注释

Per Spring 3文档,IoC容器,@Named注释是与注释等效的标准@Component.

@Repository,@Service@Controller,都是@Component,我试图@Named在我的Spring MVC应用程序中使用它们.它工作正常.但我发现替换@Controller似乎有一个bug.在控制器类中,最初是

@Controller
public class MyController{
    ...
}
Run Code Online (Sandbox Code Playgroud)

它工作正常.当我改变@Controller@Named

@Named
public class MyController{
    ...
}
Run Code Online (Sandbox Code Playgroud)

它失败了,错误:

"找不到带URI的HTTP请求的映射......".

但如果我@RequestMapping按照以下方式加入课堂

@Named
@RequestMapping
public class MyController{
     ...
 }
Run Code Online (Sandbox Code Playgroud)

它会按预期工作.

对于@Repository@Service,我可以简单地替换它们@Named没有问题.但更换@Controller需要额外的工作.我在配置中缺少什么?

java annotations spring-mvc jsr330

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

Spring 4.1.1 RELEASE和@ResponseBody返回HTTP 406

我正在使用@ResponseBody返回Spring MVC中的Json对象.它在版本4.0.7和3.2.11上按预期工作,但当我尝试使用最新的Spring版本4.1.1(截至10/16)而没有任何其他配置更改时,它返回HTTP状态406.这被认为是一个错误还是4.1.1需要不同的配置?

最新的jackson jar已经在classpath中了

<dependency>
    <groupId>org.codehaus.jackson</groupId>
    <artifactId>jackson-mapper-asl</artifactId>
    <version>1.9.13</version>
</dependency>
Run Code Online (Sandbox Code Playgroud)

Spring 文档上的示例运行正常

@RequestMapping(value = "/something", method = RequestMethod.PUT)
@ResponseBody
public String helloWorld() {
  return "Hello World";
}
Run Code Online (Sandbox Code Playgroud)

当返回类型是String时.当返回类型是POJO时会发生问题.

json spring-mvc http-status-code-406

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

Node.js如何处理一个线程的同时请求?

我对这个问题做了一些搜索,但似乎人们只强调非阻塞IO.

假设我只是有一个非常简单的应用程序来响应客户端的"Hello World"文本,它仍然需要时间来完成执行,无论它有多快.如果有两个请求在同一时间进入怎么办,Node.js如何确保两个请求将在一个线程中处理?

我阅读了博客了解node.js事件循环,其中说"当然,在后端,有用于数据库访问和流程执行的线程和进程".该声明与IO有关,但我也想知道是否有单独的线程来处理请求队列.如果是这种情况,我可以说Node.js单线程概念仅适用于在Node.js上构建应用程序的开发人员,但Node.js实际上是在场景后面的多线程上运行吗?

javascript multithreading node.js

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

指纹中的Android CryptoObject用法

在Android指纹示例代码FingerprintDialog中,启动指纹硬件FingerprintManager#authenticate的方法采用FingerprintManager.CryptoObject的参数.根据文档,它是object associated with the call or null if none required.对我来说,描述仍然不明确.有人会解释我应该或不应该使用加密谢谢.

android cryptography fingerprint

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

UIButton 被按下时改变状态

我有一个 UIButton 配置了两种状态,默认和选择,对于不同的文本和背景,设置是在界面生成器上完成的。奇怪的是,当按钮处于选中状态时,按下按钮后,它会自动更改为默认状态。释放按钮后,它会变回选中状态。有没有办法禁用回滚到默认行为?

忘了说,类型是custom.

更新

在 viewDidLoad 中尝试了以下代码

[self.button setTitle:@"default" forState:UIControlStateNormal];
[self.button setTitle:@"selected" forState:UIControlStateSelected];
[self.button setTitle:@"highlighted" forState:UIControlStateHighlighted];
[self.button setSelected:YES];
Run Code Online (Sandbox Code Playgroud)

该按钮在按下时显示默认值。

objective-c uibutton ios

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

Spring安全无状态配置

我正在尝试通过遵循文档来实现Spring的无状态身份验证,http://static.springsource.org/spring-security/site/docs/3.1.x/reference/security-filter-chain.html#filter-chains -with-NS

所以在我的spring-security.xml中,我有

<!-- Stateless RESTful service using Basic authentication -->  
<http pattern="/restful/**" create-session="stateless">  
  <intercept-url pattern='/**' access='ROLE_REMOTE' />  
  <http-basic />  
</http>
Run Code Online (Sandbox Code Playgroud)

当我使用浏览器测试它时,需要对第一个请求进行身份验证.但随后不是.根据我的理解,我应该看到用户登录提示.有什么我想念的吗?

java spring spring-security

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

在文件上传中处理套接字上意外 EOF 读取的更好方法?

我在后端使用Spring MVC实现文件上传,前端只是一个普通的HTML

<form method="POST" enctype="multipart/form-data" action="/upload">
    file to upload: <input type="file" name="file"><br>
    <input type="submit" value="Upload" />
</form>
Run Code Online (Sandbox Code Playgroud)

一切正常,除非我在上传过程中关闭浏览器,否则我会看到服务器抛出错误(您必须尽早中断该过程才能看到它)

java.io.EOFException: Unexpected EOF read on the socket
at org.apache.coyote.http11.InternalNioInputBuffer.fill(InternalNioInputBuffer.java:152)
at org.apache.coyote.http11.InternalNioInputBuffer$SocketInputBuffer.doRead(InternalNioInputBuffer.java:177)
at org.apache.coyote.http11.filters.IdentityInputFilter.doRead(IdentityInputFilter.java:110)
at org.apache.coyote.http11.AbstractInputBuffer.doRead(AbstractInputBuffer.java:416)
at org.apache.coyote.Request.doRead(Request.java:460)
at org.apache.catalina.connector.InputBuffer.realReadBytes(InputBuffer.java:338)
at org.apache.tomcat.util.buf.ByteChunk.substract(ByteChunk.java:395)
...
Run Code Online (Sandbox Code Playgroud)

我想知道是否有更好的方法来处理异常,或者我可以安全地保持原样?

java file-upload spring-mvc eofexception

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