android - Flutter:解析私钥时出错:未处理的异常:“ASN1Exception”的实例
问题描述
我试图从我的私钥文件中读取,它可以成功读取文件,当它“解析”时出现问题,似乎无法识别私钥文件中每一行的类型。
我曾经从包含私钥的文件中读取的代码:
import 'package:flutter/services.dart' show rootBundle;
import 'package:pointycastle/asymmetric/api.dart';
final privatePem = await rootBundle.loadString('assets/keys/privateKey.pem');
final privateKey = RSAKeyParser().parse(privatePem) as RSAPrivateKey;
私钥文件如下所示:
-----BEGIN RSA PRIVATE KEY-----
b3BlbnNzaC1rZXktdjEAAAAABG5vbmUAAAAEbm9uZQAAAAAAAAABAAABlwAAAAdzc2gtcn
NhAAAAAwEAAQAAAYEAuLH+NlYudg5/RMZ8j12ax0IXezsTvLJ+wzoPan2SJe+/YXBipWN7
16vu42gqt9JpD8uvEoE/BHPZuotW1Yh6hRS8U5SGldMJLFhBFG6PZZJf+f1Sn81YnChXGG
...(I skiped the key otherwise it will be too long)
1OWee05wTrCIZzeOt3G+jm1uxjxJAleD7l1e9KbNTSh0VfGJqJSpVS12lyj+xci256lZGp
idJwcxMgJQZ/1NAAAAEHFpc2h1LmxpdUB1dHQuZnIBAg==
-----END RSA PRIVATE KEY-----
它显示的错误:
flutter: Status Code: 200
[VERBOSE-2:ui_dart_state.cc(209)] Unhandled Exception: Instance of 'ASN1Exception'
#0 ASN1Parser._doPrimitive (package:asn1lib/asn1parser.dart:114:9)
#1 ASN1Parser.nextObject (package:asn1lib/asn1parser.dart:51:13)
#2 ASN1Sequence._decodeSeq (package:asn1lib/asn1sequence.dart:73:27)
#3 new ASN1Sequence.fromBytes (package:asn1lib/asn1sequence.dart:23:5)
#4 ASN1Parser.nextObject (package:asn1lib/asn1parser.dart:54:26)
#5 ASN1Sequence._decodeSeq (package:asn1lib/asn1sequence.dart:73:27)
#6 new ASN1Sequence.fromBytes (package:asn1lib/asn1sequence.dart:23:5)
#7 ASN1Parser.nextObject (package:asn1lib/asn1parser.dart:54:26)
#8 ASN1Sequence._decodeSeq (package:asn1lib/asn1sequence.dart:73:27)
#9 new ASN1Sequence.fromBytes (package:asn1lib/asn1sequence.dart:23:5)
#10 ASN1Parser.nextObject (package:asn1lib/asn1parser.dart:54:26)
#11 ASN1Sequence._decodeSeq (package:asn1lib/asn1sequence.dart:73:27)
#12 new ASN1Sequence.fromBytes (package:asn1lib/asn1sequence.dart:23:5)
#13 ASN1Parser.nextObject (package:asn1lib/asn1parser.dart:54:26)
#14 ASN1Sequence._decodeSeq (package:asn1lib/asn1sequence.dart:73:27)
#15 new ASN1Sequence.fromBytes (package:asn1lib/asn1sequence.dart:23:5)
#16 ASN1Parser.nextObject (package:asn1lib/asn1parser.dart:54:26)
#17 ASN1Sequence._decodeSeq (package:asn1lib/asn1sequence.dart:73:27)
#18 new ASN1Sequence.fromBytes (package:asn1lib/asn1sequence.dart:23:5)
#19 ASN1Parser.nextObject (package:asn1lib/asn1parser.dart:54:26)
#20 ASN1Sequence._decodeSeq (package:asn1lib/asn1sequence.dart:73:27)
#21 new ASN1Sequence.fromBytes (package:asn1lib/asn1sequence.dart:23:5)
#22 ASN1Parser.nextObject (package:asn1lib/asn1parser.dart:54:26)
#23 RSAKeyParser._parseSequence (package:encrypt/src/algorithms/rsa.dart:244:23)
#24 RSAKeyParser.parse (package:encrypt/src/algorithms/rsa.dart:208:28)
#25 OAuth.getTransferState (package:scambio/fintech_oauth.dart:147:39)
<asynchronous suspension>
#26 InitiatePaymentState.getState (package:scambio/initiate_payment.dart:243:23)
<asynchronous suspension>
#27 InitiatePaymentState.changeData (package:scambio/initiate_payment.dart:312:25)
<asynchronous suspension>
关于如何解决问题的任何意见?提前致谢!
解决方案
推荐阅读
- javascript - 我如何使用钩子在 react-native 中从 firebase 实时数据库中读取数据
- spring-cloud-function - Spring Cloud Function - 手动 Bean 注册和加载配置类
- c# - 如何使用 node-soap 服务器返回 XML?
- java - 如何有效地将多个新对象添加到 ArrayList
- azure-devops - Azure DevOps-Add extension that adds custom tab to Pipeline / Release Definition page (not the summary page)
- asp.net - ASP.NET MVC 包导致 W3C HTML 验证错误
- python - 如何用点注释 Django QuerySet?
- javascript - 如何将新列添加到vue中的字典数组
- node.js - 我已经从 https://github.com/opentok/interactive-broadcast-api 安装了一个基于节点的 API,但是如何在这个 API 上启用 HTTPS?
- python - '如果在 UDF 内部'