操作定义 AUTOMATIC TAGS :: = BEGIN
Certificate ::=SEQUENCE{
subjectUniqueID BIT STRING,
operatorID BIT STRING,
operatetype ENUMERATED{issue,cancel},
time GeneralizedTime,
hashofcertificate INTEGER,
highofblock INTEGER,
sigatureAlgotithm AlgorithmIdentifier,
signatureValue BIT STRING
}
AlgorithmIdentifier ::= SEQUENCE {
algorithm OBJECT IDENTIFIER,
parameters ANY DEFINED BY algorithm OPTIONAL
}
END
但是eclipse编译错误。原因是“令牌上的语法错误”DEFINED“,}}”。我不知道哪里出错。您能告诉我如何处理此错误或如何以其他方式编写证书?
答案 0 :(得分:1)
您似乎正在尝试使用过时版本的X.509。 ANY DEFINED BY来自1988 ASN.1,它于1994年左右被撤销。如果您使用更新版本的X.509定义AlgorithmIdentifier,您会遇到更少的麻烦:
AlgorithmIdentifier ::= SEQUENCE {
algorithm ALGORITHM.&id ({SupportedAlgorithms}),
parameters ALGORITHM.&Type ({SupportedAlgorithms}{@algorithm}) OPTIONAL}
答案 1 :(得分:0)
这只是猜测,但你可以试试
AlgorithmIdentifier ::= SEQUENCE {
algorithm OBJECT IDENTIFIER,
parameters ANY OPTIONAL
}
您可以在BouncyCastle here中找到AlgorithmIdentifier
实施的示例