|
3 | 3 |
|
4 | 4 | class TestPKey < TestCase
|
5 | 5 |
|
6 |
| - def test_pkey_read |
7 |
| - key = "-----BEGIN PUBLIC KEY-----\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArTlm5TxJp3WHMNmWIfo/\nWvkyhJCXc1S78Y9B8lSXxXnkRqX8Twxu5EkdUP0TwgD5gp0TGy7UPm/SgWlQOcqX\nqtdOWq/Hk29Ve9z6k6wTmst7NTefmm/7OqkeYmBhfhoECLCKBADM8ctjoqD63R0e\n3bUW2knq6vCS5YMmD76/5UoU647BzB9CjgDzjuTKEbXL5AvcO5wWDgHSp7CA+2t4\nIFQvQMrPso5mvm2hNvD19vI0VjiY21rKgkJQAXSrLgkJg/fTL2wQiz10d2GnYsmx\nDeJCiBMwC+cmRW2eWePqaCPaWJwr92KsIiry+LgyGb3y01SUVV8kQgQXazutHqfu\ncQIDAQAB\n-----END PUBLIC KEY-----\n" |
8 |
| - |
9 |
| - # assert OpenSSL::PKey::RSA.new(key).public? |
| 6 | + KEY = "-----BEGIN PUBLIC KEY-----\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArTlm5TxJp3WHMNmWIfo/\nWvkyhJCXc1S78Y9B8lSXxXnkRqX8Twxu5EkdUP0TwgD5gp0TGy7UPm/SgWlQOcqX\nqtdOWq/Hk29Ve9z6k6wTmst7NTefmm/7OqkeYmBhfhoECLCKBADM8ctjoqD63R0e\n3bUW2knq6vCS5YMmD76/5UoU647BzB9CjgDzjuTKEbXL5AvcO5wWDgHSp7CA+2t4\nIFQvQMrPso5mvm2hNvD19vI0VjiY21rKgkJQAXSrLgkJg/fTL2wQiz10d2GnYsmx\nDeJCiBMwC+cmRW2eWePqaCPaWJwr92KsIiry+LgyGb3y01SUVV8kQgQXazutHqfu\ncQIDAQAB\n-----END PUBLIC KEY-----\n" |
10 | 7 |
|
11 |
| - pkey = OpenSSL::PKey.read(key) |
| 8 | + def test_pkey_read |
| 9 | + pkey = OpenSSL::PKey.read(KEY) |
12 | 10 | assert_same OpenSSL::PKey::RSA, pkey.class
|
13 |
| - assert pkey.public? |
14 |
| - assert_equal OpenSSL::PKey::RSA.new(key).n, pkey.n |
15 |
| - assert_equal OpenSSL::PKey::RSA.new(key).e, pkey.e |
| 11 | + assert_true pkey.public? |
| 12 | + assert_false pkey.private? |
| 13 | + assert_equal OpenSSL::PKey::RSA.new(KEY).n, pkey.n |
| 14 | + assert_equal OpenSSL::PKey::RSA.new(KEY).e, pkey.e |
16 | 15 | end
|
17 | 16 |
|
| 17 | + def test_to_java |
| 18 | + pkey = OpenSSL::PKey.read(KEY) |
| 19 | + assert_kind_of java.security.PublicKey, pkey.to_java |
| 20 | + assert_kind_of java.security.PublicKey, pkey.to_java(java.security.PublicKey) |
| 21 | + assert_kind_of java.security.PublicKey, pkey.to_java(java.security.interfaces.RSAPublicKey) |
| 22 | + assert_kind_of java.security.PublicKey, pkey.to_java(java.security.Key) |
| 23 | + pub_key = pkey.to_java(java.security.PublicKey) |
| 24 | + if pub_key.is_a? org.bouncycastle.jcajce.provider.asymmetric.rsa.BCRSAPublicKey |
| 25 | + assert_kind_of java.security.PublicKey, pkey.to_java(org.bouncycastle.jcajce.provider.asymmetric.rsa.BCRSAPublicKey) |
| 26 | + end |
| 27 | + assert_raise_kind_of(TypeError) { pkey.to_java(java.security.interfaces.ECPublicKey) } |
| 28 | + # NOTE: won't fail as it's a marker that is neither a PublicKey or PrivateKey (also does not sub-class Key) |
| 29 | + #assert_raise_kind_of(TypeError) { pkey.to_java(java.security.interfaces.ECKey) } |
| 30 | + end if defined?(JRUBY_VERSION) |
| 31 | + |
18 | 32 | end
|
0 commit comments