如何从 Base64 编码字符串构造 java.security.PublicKey 对象?

2024-03-07

我有一个来自外部源(Android Store)的 bse64 编码字符串公钥,我需要用它来验证签名内容。如何将字符串转换为 java.security.PublicKey 接口的实例。如果这有什么区别的话,我正在使用 Java 6。

密钥(可能)是使用标准 java lib 而不是 bouncy castle 生成的(它来自远程团队,所以我不确定)。他们的示例代码表示使用 Security.generatePublicKey(base64EncodedPublicKey);但标准java中的Security对象没有这样的方法。


上述答案的代码

public static PublicKey getKey(String key){
    try{
        byte[] byteKey = Base64.decode(key.getBytes(), Base64.DEFAULT);
        X509EncodedKeySpec X509publicKey = new X509EncodedKeySpec(byteKey);
        KeyFactory kf = KeyFactory.getInstance("RSA");

        return kf.generatePublic(X509publicKey);
    }
    catch(Exception e){
        e.printStackTrace();
    }

    return null;
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何从 Base64 编码字符串构造 java.security.PublicKey 对象? 的相关文章

随机推荐

  • 配置深度溢出值 - Start-Job

    我有一个递归函数 执行了大约 750 次 迭代 XML 文件并进行处理 代码正在运行使用Start Job 下面的例子 job Start Job ScriptBlock function Test Function Param count
  • 推送更新页面时自动编译的 ASP.NET 站点上出现随机 401 错误

    我们有一个部署在多个 IIS 服务器上的 asp net 网站 该网站是按需编译的 而不是预编译的 Web 应用程序 通常情况下 部署进展顺利 但时不时地 我们会在其中一台服务器上的某个已部署页面上收到 401 错误 除了通常是访问量较高的
  • 在 Microsoft botframework 中回复“正在输入”消息

    我正在 c net 和 LUIS 认知服务上使用 MicrofsoftBotFramework 开发聊天机器人 我希望当用户输入时 它应该在输入或机器人正在输入时回复 public async Task
  • 大写连字符的名称

    我在用WordUtils来自 apache commons 来正确规范人们的名字 例如 AnGEl lEe gt Angel Lee 而且效果很好 现在我提出的测试用例之一是连字符名称 通常 连字符的每个部分的第一个字母都大写 所以我期望
  • 如何在 Rmarkdown 中添加跨块的行号?

    我想将代码行编号添加到 Rmarkdown 文件的 HTML 输出中 我会对任何方法感到满意uniquely标识输出中的每一行代码 例如 在整个文档中递增的连续行号 或者代码块由它们自己的索引标识 并且在这些代码块中行号从 1 开始 我一直
  • Kubectl 还记得我吗?

    我已经在我的 kubernetes api 服务器上实现了基本身份验证 现在我正在尝试配置我的 kube config以我可以简单运行的方式文件 kubectl get pods kubectl config set cluster dig
  • 使用 Rack::Test 测试 AJAX POST - 如何传入数据?

    我在用着机架 测试 https github com brynary rack test测试我的应用程序并需要测试通过 AJAX 发布数据 我的测试看起来像 describe POST user do include Rack Test M
  • 如何从单词列表中查找 DF 中的匹配单词并在新列中返回匹配的单词[重复]

    这个问题在这里已经有答案了 我有一个包含 2 列的 DF 并且有一个单词列表 list of words lt c tiger elephant rabbit hen dog Lion camel horse df lt tibble ti
  • 模拟内部 axios.create()

    我在用着jest and axios mock adapter去测试axiosAPI 调用redux异步动作创建者 当我使用时我无法让它们工作axios创建的实例axios create 像这样 import axios from axio
  • iptables 模式下的 kube-proxy 不起作用

    I have Kubernetes v 1 1 1 iptables v1 4 21 内核 4 2 0 18 generic Ubuntu wily 自带 网络通过交换机上终止的 L2 VLAN 完成 没有云提供商 我做什么 我正在尝试 k
  • 修改与在 SQL Server 2005 中调用的表不同的表上的多行的触发器

    我尝试对由其他表上的更新触发的表执行更新 但收到错误消息 更新或删除的行值要么不会使该行变得唯一 要么会更改多行 例如我有这个表 table 1 int id primary key identity nchar 10 state name
  • iOS 以编程方式为表视图单元格内容创建 NSLayoutConstraint

    我想在 cellForRowAtIndexPath 中添加一些视图到我的单元格内容视图及其约束 但没有任何效果 我有这样的事情 NSLayoutConstraint constraint NSLayoutConstraint constra
  • PHP - preg_match() 一个接一个的单词

    我有一篇这样的文字 The cat was born on 1980 and lives 所以我想用正则表达式获取猫的年龄 文本中可能出现超过 1 次的 4 位数字 我正在尝试这个preg match born on 0 9 4 text
  • 如何在 MySQL 5.7 中创建六字符密码

    我需要在 Mac 上的新 MySQL 中创建一个具有六字符密码的用户 我知道 5 7 中的最低设置只允许八个字符 有什么办法可以解决这个问题吗 我输入CREATE USER newsier localhost IDENTIFIED BY s
  • 如何从mysql获取分层菜单

    我有一个带有分层菜单的表 例如 id parent id name 1 0 menu 2 1 item1 3 2 item1 1 4 1 item2 5 4 item2 1 我这里有数百个菜单项 为了获取数组中的所有项目 我必须编写一个像这
  • 更改 Firebase 实时数据库中的值时如何查看 flutter 应用程序的变化?

    每当我在 Firebase 实时数据库中进行任何更改时 我都会尝试使这些滚动开关更改其值 更具体地说 每当我将 Relay1 Data 的值更改为 0 时 我希望该开关变为非活动状态 我已经尝试并到处寻找 但找不到任何解决方案 bool r
  • 在本地主机上运行的 asp.net 应用程序上使用 https

    我创建了一个 asp net Web 应用程序 其中包含一个名为 Main aspx 的 Web 表单 我正在尝试通过 https 运行该应用程序 由于我没有 SSL IIS 等方面的经验 我在 google 上搜索了如何实现这一目标 但每
  • 如何通过Windows Defender SmartScreen保护? [复制]

    这个问题在这里已经有答案了 我试图防止我的应用程序 安装程序 不会被阻止Windows 智能屏幕保护 我使用 BitRock 并手动签署了我的安装程序 但我总是遇到这个问题 我购买了有效的证书 并且带有时间戳的签名没问题 这是一个商业应用程
  • HTTP 中的 POST 和 PUT 有什么区别?

    背景资料分析 根据RFC 2616 第 9 5 节 https www rfc editor org rfc rfc2616 section 9 5 POST习惯于create资源 POST 方法用于请求源服务器接受请求中包含的实体 作为请
  • 如何从 Base64 编码字符串构造 java.security.PublicKey 对象?

    我有一个来自外部源 Android Store 的 bse64 编码字符串公钥 我需要用它来验证签名内容 如何将字符串转换为 java security PublicKey 接口的实例 如果这有什么区别的话 我正在使用 Java 6 密钥