草庐IT

sm2签名

全部标签

描述符和签名属性之间的Java内部类不一致? (类文件)

我正在尝试了解规范中是否存在内部类的Java描述符和签名之间存在差异的原因。(我这里是直接看类文件的内容,但是我用javap来说明)。(n.b.我已经在J​​DK1.6.0_33和1.7.0_05上尝试过,使用Java7的javap查看时-java6的javap似乎没有显示任何通用的问题签名信息,根据下面肖恩的回答。)更新:感谢那些讨论-我的看法是描述符(不包含一般信息)是正确的。签名(它是方法的一个属性,确实包含通用信息)不正确。方法的SIGNATURE的相关ConstPool条目是“ConstantUTF8[(Ljava/util/list)V]”Java6中的Javap不看签名,

java - 如何仅使用 JDK 支持的类生成自签名证书?

我有一个Java程序,目前使用私有(private)JDK类(CertAndKeyGen和X500Name)生成自签名X.509证书。这种方法存在太多问题:内部包不断变化:"sun.security.x509.CertAndKeyGen",//Oracle/Sun/OpenJDK6,7"sun.security.tools.keytool.CertAndKeyGen",//Oracle/Sun/OpenJDK8"com.ibm.security.x509.CertAndKeyGen",//IBMSDK7"com.ibm.security.tools.CertAndKeyGen"//IB

java - 具有相同签名的两种方法,为什么有效

我有一个将字符串视为集合的类。这是该类中的两个方法:@OverridepublicIndexedSeqmap(finalFunction1function){...}publicRichStringmap(finalFunction1function){...}只有方法的签名与我的问题相关。现在,Eclipse确实发出警告,指出这两种方法具有相同的删除。但它仍然允许我创建它们,并且它们按预期工作:每当我提供一个将Character转换为Character的函数时,都会返回一个RichString,如我所愿。我的问题是它为什么有效,因为在运行时没有关于泛型类型的信息,并且方法的返回不是方

java - 在 java 方法签名的返回类型中扩展关键字

我正在查看commons-chain的代码我发现了很多类似这个的方法签名:public>CMDgetCommand(StringcommandID)此签名与以下内容有何不同:publicCommandgetCommand(StringcommandID)我能理解的唯一合乎逻辑的原因是进行类型检查。但我仍然无法从设计的角度找出这样做的原因。还有更多的理由可以说明为什么要在java方法的返回类型中使用和扩展吗? 最佳答案 区别是三倍:返回的类型是typed(不是原始类型)返回的类型可以是具体的子类该方法可以访问类型K、V和C并且作为类型

java - 使用自签名证书连接到 SSL 服务器的客户端

我完全被困在这里了。我有一个Java客户端代码,需要使用自签名证书连接到SSL服务器。当我在服务器端禁用SSLv2支持时,问题仅出现。privatestaticDefaultHttpClientcreateHttpClient(intport){try{java.lang.System.setProperty("sun.security.ssl.allowUnsafeRenegotiation","true");//Firstcreateatrustmanagerthatwon'tcare.X509TrustManagertrustManager=newX509TrustManager

java - Maven shade插件不排除manifest签名文件

我正在使用mavenshade插件为我的项目生成一个合并jar。jar按预期生成,当我尝试使用jar并运行它时,我得到一个java.lang.SecurityException:InvalidsignaturefiledigestforManifestmainattributeserror.我用谷歌搜索了上面的错误消息,许多人建议从META-INF目录中排除list签名。因此,我已经包含了从目录中排除这些文件的步骤[我看到两个名为JARSIGN_.RSA和JARSIGN_.SF的文件],但出于某些奇怪的原因,mavenshade插件无法从META-INF目录中排除这些文件。谁能解释我可

java - 继承具有覆盖等效签名的方法

根据jls-9.4.1.3IfaninterfaceIinheritsadefaultmethodwhosesignatureisoverride-equivalentwithanothermethodinheritedbyI,thenacompile-timeerroroccurs.(Thisisthecasewhethertheothermethodisabstractordefault.)根据上面的描述,以下代码不应编译。但是,当我编译这段代码时,它工作得非常好。interfaceA{voidfoo(Strings);}interfaceBextendsA{defaultvoid

java - 为什么 "has"不是有效 JavaBean 方法签名的开头?

按照目前的情况,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visitthehelpcenter指导。关闭10年前。JavaBeans方法的签名必须遵循某些约定,例如set.../get...等。他们有一个关于is的约定...例如isEven()可以是Integer类测试boolean值的方法。但是后来我想知道为什么没有...也是一个合法的标识符,因为对我来说测试某物有什么是有意义的,例如hasCar()用于Person类或类似的。你明白我的问题了吗?你怎么看?

java - 在方法签名/字段中查找不兼容性的工具

我希望能够比较一个类/库的两个版本,以确定是否有任何更改可能会破坏调用它的代码。例如考虑一些类Foo在版本a中有一个方法:publicStringreadWidget(Objectwidget,Objecthelper);在版本b中,方法变为:publicStringreadWidget(Objectwidget);//removedunnecessaryhelperobject或在字段的情况下类似的东西:versiona:publicstaticObjectsharedFoo;versionb:staticObjectsharedFoo;//movedtopackageprivate

java - 使用公钥验证签名

我有一个外部服务,它在某个定义的事件后给我回电,并用它的私钥签署他的请求。我已经存储了如下所示的公钥:-----BEGINPUBLICKEY-----........................................-----ENDPUBLICKEY-----所以我的工作是通过验证签名来检查请求的内容是否没有被更改。这是我的算法://1-readingpublickey:Scannerscanner=newScanner(newFile(keyPath));//encodedPublicKey.toString();StringBuildersb=newStringBui