summaryrefslogtreecommitdiff
path: root/tests/key.scm
diff options
context:
space:
mode:
authorArtyom V. Poptsov <poptsov.artyom@gmail.com>2014-08-26 12:40:04 +0400
committerArtyom V. Poptsov <poptsov.artyom@gmail.com>2014-08-26 12:40:04 +0400
commit28d0ce537670945fd60e9d6e8356bd78670eb013 (patch)
tree15b6ad1f39326b202b8c33a42b23cb8a3802c017 /tests/key.scm
parenttests/key.scm ("public-key->string"): New TC (diff)
downloadguile-ssh-28d0ce537670945fd60e9d6e8356bd78670eb013.tar.gz
ssh/key-func.c (guile_ssh_string_to_public_key): Fix a bug
* ssh/key-func.c (guile_ssh_string_to_public_key): Fix a bug: Call `scm_dynwind_end' at the end of the procedure so call to the procedure won't lead to segfaults. * tests/key.scm ("public-key->string"): Improve. ("string->public-key"): New TC.
Diffstat (limited to 'tests/key.scm')
-rw-r--r--tests/key.scm28
1 files changed, 22 insertions, 6 deletions
diff --git a/tests/key.scm b/tests/key.scm
index 5eb4e7c..8e58cfb 100644
--- a/tests/key.scm
+++ b/tests/key.scm
@@ -80,14 +80,30 @@
(eq? 'dss (get-key-type *dsa-key*))
(eq? 'ecdsa (get-key-type *ecdsa-key*))))
+
+;;; Converting between strings and keys
+
+(define %rsakey-pub-string
+ "AAAAB3NzaC1yc2EAAAADAQABAAABAQC+8H9j5Yt3xeqaAxXAtSbBsW0JsJegngwfLveHA0ev3ndEKruylR6CZgf6OxshTwUeBaqn7jJMf+6RRQPTcxihgtZAfdyKdPGWDtmePBnG64+uGEaP8N3KvCzlANKf5tmxS8brJlQhxKL8t+3IE8w3QmCMnCGKWprsL/ygPA9koWauUqqKvOQbZXdUEfLvZfnsE1laRyK4dwLiiM2vyGZM/2yePLP4xYu/uYdPFaukxt3DMcgrEy9zuVcU8wbkJMKM57sambvituzMVVqRdeMX9exZv32qcXlpChl4XjFClQ0lqOb8S8CNTPXm3zQ2ZJrQtUHiD54RYhlXD7X0TO6v")
+(define %dsakey-pub-string
+ "AAAAB3NzaC1kc3MAAACBAOpnJ64w3Qo3HkCCODTPpLqPUrDLg0bxWdoae2tsXFwhBthIlCV8N0hTzOj1Qrgnx/WiuDk5qXSKOHisyqVBv8sGLOUTBy0Fdz1SobZ9+WGu5+5EiJm78MZcgtHXHu1GPuImANifbSaDJpIGKItq0V5WhpLXyQC7o0Vt70sGQboVAAAAFQDeu+6APBWXtqq2Ch+nODn7VDSIhQAAAIA5iGHYbztSq8KnWj1J/6GTvsPp1JFqZ3hFX5wlGIV4XxBdeEZnCPrhYJumM7SRjYjWMpW5eqFNs5o3d+rJPFFwDo7yW10WC3Bfpo5xRxU35xf/aFAVbm3vi/HRQvv4cFrwTLvPHgNYGYdZiHXCXPoYIh+WoKT9n3MfrBXB4hpAmwAAAIEArkWuRnbjfPVFpXrWGw6kMPVdhOZr1ghdlG5bY31y4UKUlmHvXx5YZ776dSRSMJY2u4lS73+SFgwPdkmpgGma/rZdd9gly9T7SiSr/4qXJyS8Muh203xsAU3ukRocY8lsvllKEGiCJmrUTJWmj0UYEDsbqy2k/1Yz2Q/awygyk9c=")
+(define %ecdsakey-pub-string
+ "AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBHcpje/fp21KjuZFKgmKAAwHeYJ6e3ny4LwEVjZr8hOCVlBvqj7/krVqxbwZI7EcowbpYI1F8ZszS7zfUhKT3U4=")
+
(test-assert "public-key->string"
- (let ((rsakey-pub "AAAAB3NzaC1yc2EAAAADAQABAAABAQC+8H9j5Yt3xeqaAxXAtSbBsW0JsJegngwfLveHA0ev3ndEKruylR6CZgf6OxshTwUeBaqn7jJMf+6RRQPTcxihgtZAfdyKdPGWDtmePBnG64+uGEaP8N3KvCzlANKf5tmxS8brJlQhxKL8t+3IE8w3QmCMnCGKWprsL/ygPA9koWauUqqKvOQbZXdUEfLvZfnsE1laRyK4dwLiiM2vyGZM/2yePLP4xYu/uYdPFaukxt3DMcgrEy9zuVcU8wbkJMKM57sambvituzMVVqRdeMX9exZv32qcXlpChl4XjFClQ0lqOb8S8CNTPXm3zQ2ZJrQtUHiD54RYhlXD7X0TO6v")
- (dsakey-pub "AAAAB3NzaC1kc3MAAACBAOpnJ64w3Qo3HkCCODTPpLqPUrDLg0bxWdoae2tsXFwhBthIlCV8N0hTzOj1Qrgnx/WiuDk5qXSKOHisyqVBv8sGLOUTBy0Fdz1SobZ9+WGu5+5EiJm78MZcgtHXHu1GPuImANifbSaDJpIGKItq0V5WhpLXyQC7o0Vt70sGQboVAAAAFQDeu+6APBWXtqq2Ch+nODn7VDSIhQAAAIA5iGHYbztSq8KnWj1J/6GTvsPp1JFqZ3hFX5wlGIV4XxBdeEZnCPrhYJumM7SRjYjWMpW5eqFNs5o3d+rJPFFwDo7yW10WC3Bfpo5xRxU35xf/aFAVbm3vi/HRQvv4cFrwTLvPHgNYGYdZiHXCXPoYIh+WoKT9n3MfrBXB4hpAmwAAAIEArkWuRnbjfPVFpXrWGw6kMPVdhOZr1ghdlG5bY31y4UKUlmHvXx5YZ776dSRSMJY2u4lS73+SFgwPdkmpgGma/rZdd9gly9T7SiSr/4qXJyS8Muh203xsAU3ukRocY8lsvllKEGiCJmrUTJWmj0UYEDsbqy2k/1Yz2Q/awygyk9c=")
- (ecdsakey-pub "AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBHcpje/fp21KjuZFKgmKAAwHeYJ6e3ny4LwEVjZr8hOCVlBvqj7/krVqxbwZI7EcowbpYI1F8ZszS7zfUhKT3U4="))
+ (and (string=? (public-key->string *rsa-pub-key*) %rsakey-pub-string)
+ (string=? (public-key->string *dsa-pub-key*) %dsakey-pub-string)
+ (string=? (public-key->string *ecdsa-pub-key*) %ecdsakey-pub-string)))
+
+(test-assert "string->public-key"
+ (and (string=? (public-key->string (string->public-key %rsakey-pub-string 'rsa))
+ %rsakey-pub-string)
+ (string=? (public-key->string (string->public-key %dsakey-pub-string 'dss))
+ %dsakey-pub-string)
+ (string=? (public-key->string (string->public-key %ecdsakey-pub-string 'ecdsa))
+ %ecdsakey-pub-string)))
- (and (string=? (public-key->string *rsa-pub-key*) rsakey-pub)
- (string=? (public-key->string *dsa-pub-key*) dsakey-pub)
- (string=? (public-key->string *ecdsa-pub-key*) ecdsakey-pub))))
+;;;
(test-end "key")