2013-01-04 110 views
0

我有一个JRuby将其视为“集合”的sun.security.x509.X509CertImpl对象。由于该集合可能包含多个x509证书,因此我试图迭代集合并打印出所有的证书。JRuby遍历集合

有人可以提供一些关于如何实现这一点请指点。

问候,

卡尔

回答

0

你试试这个?

your_object.each{|each|puts each} 

这将打印集合中的每个元素。

+0

是的,我试过了。它会抛出以下类型的错误:TypeError:无法将Java :: SunSecurityX509 :: X509CertImpl转换为字符串 – user1513388

+1

那么'puts each.to_s'或'puts each.toString()'然后呢? – akuhn

+0

不幸的是同样的问题! TypeError:无法将Java :: SunSecurityX509 :: X509CertImpl转换为字符串 – user1513388

0

在我的代码

cert_chain = key_store.getX509CertificateChain(key_alias) 

=>的Java :: JavaUtil ::收藏集:: UnmodifiableRandomAccessList

这是一个集合,你可以使用标准的Ruby方法

cert_chain.size 

=> 4

cert_chain[0] 

=> Java :: SunSecurityX509 :: X509CertImpl

你不能迭代它作为一个集合,因为它不是一个。

cert_chain[0].publicKey 

=>的Java :: SunSecurityRsa :: RSAPublicKeyImpl