0

我在这行特定的代码中收到上述错误:

KeyFactory keyFactory=keyFactory.getInstance(keyAlgorithm);

        EncodedKeySpec privateKeySpec=new PKCS8EncodedKeySpec(privateKeyBytes);
        PrivateKey privateKey1=keyFactory.generatePrivate(privateKeySpec); 

准确地说,这是我得到的错误:

GeneratePublicPrivateKeys.java:35: error: non-static method generatePublic(KeySp
ec) cannot be referenced from a static context
PublicKey publicKey1=KeyFactory.generatePublic(publicKey
Spec);

注意:我已经浏览了这些帖子
“非静态方法不能从静态上下文引用”错误
非静态方法不能从静态上下文引用
等等,我已经尝试了那里提供的解决方案,但没有他们没有解决我的问题

我该怎么办?
先感谢您:)

4

2 回答 2

0

尝试更改此行:

PublicKey publicKey1=KeyFactory.generatePublic(publicKey
Spec);

PublicKey publicKey1=keyFactory.generatePublic(publicKey
Spec);
于 2013-04-05T13:10:15.507 回答
0

你需要改变

KeyFactory.generatePublic(...)

成为:

keyFactory.generatePublic(...)

目前,您的代码正试图调用该generatePublic方法,就好像它是静态的(即与 KeyFactory 类相关联,而不是与该类型的对象相关联)。您需要在类的特定实例上调用此方法 - 大概是keyFactory您的第一个代码片段中引用的对象。

于 2013-04-05T13:11:34.123 回答