草庐IT

java - 为什么 java 在 cacert.org : "keyCertSign bit is not set"? 上制作的证书上阻塞

我在CAcert创建了一个SSL服务器证书.当我尝试通过Java程序(如下)从该服务器获取页面时,我得到了Exceptioninthread"main"javax.net.ssl.SSLHandshakeException:sun.security.validator.ValidatorException:PKIXpathvalidationfailed:java.security.cert.CertPathValidatorException:CAkeyusagecheckfailed:keyCertSignbitisnotset有人知道是什么原因造成的吗?我尝试创建由他们的1类和3

java - 在 128c 条码符号体系中对字符串进行编码

我在将此字符串编码为条形码符号系统时遇到了一些问题-代码128。要编码的文本:1021448642241082212700794828592311我正在使用idautomation.com的通用编码器:https://www.bcgen.com/fontencoder/对于Code128的编码文本,我得到以下输出:Í*5LvJ8*r5;ÂoP然而,在";Âo"分号和o之间的字符(让我们称之为特殊A)-不是Code128中使用的扩展字符集的一部分。(请参阅https://www.fonts2u.com/code-128.font的拉丁语增刊)但相同的字符串在https://www.bcg

java - 打开 https URL : keyCertSign bit is not set 时出错

我正在使用以下代码调用远程httpsURL:definputStream=newURL("https://somewebsite.com").openStream()这在我的本地机器上运行良好,但是当我部署到服务器时,出现以下异常:java.security.cert.CertPathValidatorException:CAkeyusagecheckfailed:keyCertSignbitisnotset此错误的原因是什么?是什么原因导致它在一台机器上而不是另一台机器上运行?更新我在生产环境中运行Ubuntu服务器,并在本地Mac上进行开发。我尝试访问的网站(我们称之为people

java - 为什么 AtomicReference CAS 返回值为 128 的 false?

我使用AtomicReference来实现AtomicInteger。然而,在测试中,我注意到即使在单线程环境中,一旦CAS操作的值达到128,CAS操作就会卡住。我是做错了什么还是AtomicReference中有警告(可能与CPU相关)?这是我的代码:publicclassMyAtomInt{privatefinalAtomicReferenceref;publicMyAtomInt(intinit){ref=newAtomicReference(init);}publicMyAtomInt(){this(0);}publicvoidinc(){while(true){intold

java微优化: combine set of boolean instance variables to bit vector based on int

我们有一个包含很多实例的类,遇到了内存问题。因此,我们尽量减少这个类的内存需求。一种想法如下。该类有许多boolean实例变量,在天真的实现中,每个实例变量都会占用一个词。可以考虑将它们组合成一个存储在int中的微型位vector,这样它们的组合内存需求就是一个字。但我怀疑JavaVM无论如何都会进行这种优化,因此手动执行它不会获得任何额外的节省。对吧? 最佳答案 boolean值使用1个字节的内存(在热点上)。您可以使用替代方案:一个BitSet:每个boolean值大约使用1位+类本身的开销、对BitSet的引用、对BitSet

java 128位结构位操作

有没有一种方法可以在java中创建一个128位对象,可以像long或int一样进行位操作?我想做32位移位,我希望能够对整个128位结构进行位或运算。 最佳答案 在这里,我向您介绍...一个古老的想法。现在它被严重降级(没有代码增强器,什么都没有)到应该超快的简单128位东西。我真正想要的是一个基于ByteBuffer的C数组,类似于Struct,但完全可以在Java中使用。主要思想是一次分配多个对象并使用指向数组的指针。因此,它大大节省了内存,并且内存分配在连续区域,因此缓存未命中率较低(总是很好)。我做了一些适度的测试(但代码仍

java - 遍历所有字节值 -128-127 而无需在 Java 中强制转换

我需要遍历所有字节值(-128到127,包括在内)。我可以使用int迭代器,但我每次都必须转换为byte.使用byte迭代器有我无法测试b的问题因为它会溢出。我想到了使用while循环并在递增之前进行测试,这是迄今为止我最好的解决方案。有没有更好的方法? 最佳答案 Java字节是有符号的,所以它们的值是-128到127。无论如何,你不应该担心类型转换和额外的检查,因为它们很容易优化掉。事实上,在JVM级别,没有字节变量这样的东西。无论如何,它都被视为一个int。 关于java-遍历所有字

java - 签名长度不正确 : got 127 but was expecting 128

java1.8升级后我遇到了一个奇怪的问题。我在我们的一个实用程序中使用jsch-0.1.54.jar从各个地方下载文件。这个特殊的实用程序已经使用了将近4-5年,没有任何问题(当时是jsch-0.1.48)。当时环境是java1.6。最近我们升级到java1.8,因此我们升级了这个特定的实用程序。现在我们遇到一个奇怪的问题,它偶尔会出现,而且大多数时候文件下载都是完美的。错误日志INFO:SSH_MSG_KEXDH_INITsentINFO:expectingSSH_MSG_KEXDH_REPLYINFO:DisconnectingfromSRV2000port222016-10-2

java - PBEWITHSHA256AND128BITAES-CBC-BC 在 RedHat 6.4 上创建 java.security.NoSuchAlgorithmException

我们有一个应用程序使用BouncyCaSTLe通过PBEWITHSHA256AND128BITAES-CBC-BC算法加密数据。它在运行OpenJDK1.7的Ubuntu上运行良好。但是,当我们将其移动到同时运行OpenJDK1.7的RedHat6.4时,我们会遇到以下异常:java.security.NoSuchAlgorithmException关于可能导致此问题的任何想法。我们如何将PBEWITHSHA256AND128BITAES-CBC-BC算法添加到RedHat6.4?p.s.应用程序在JBoss中运行。privateStringcryptoAlgorithm="PBEWI

java - 使用 keytool 生成 128 位 key

有没有一种方法可以生成适合使用Sun的keytool程序进行加密的128位key对?似乎http://java.sun.com/javase/6/docs/technotes/guides/security/StandardNames.html#KeyPairGenerator中可用的算法不支持或不允许短于512位的key。key对将与ff一起使用。代码片段:Security.addProvider(newBouncyCastleProvider());KeyStorekeyStore=KeyStore.getInstance("PKCS12");FileInputStreamkeyS