 #- you can also omit the  "var err error" line if you change the = to := on the
 #- next line, since at least one of the LHS operands is being declared.
 #-
+#**
+#** author: Tom Roeder
+#** email: tmroeder@google.com
+#** date 2014-07-12T09:11:00-0700
+#**
+#-- Well, the standard Go idiom likes compound error if statements, but it's
+#-- true that it also prefers compound inits like &Signer{ec} over new(Signer)
+#-- whenever possible. I think I like your suggestion better in this case.
+#--
+#-- And thanks for catching the err declaration question. It's true in this
+#-- I tend towards declaring my errors to avoid error shadowing, which is
+#-- explicitly supported in Go and sometimes trips me up. I'll change it here.
+#--
  
 -// instantiateKey creates a Keyczar key of a given type, with an optional path,
 -// a name, and an optional crypter for encrypting or decrypting the key. It

#- signing key (if that is the only key in the set) or a custom-format PBE list
#- of keys. In any case, There isn't a separate file for each type of key in C++.
#-
 }
 
-// Verify verifies a signature for a message with a given context.

#- programs, since programs don't suddenly change languages. On the other hand,
#- there might be keys that are shared between programs.
#-
#**
#** author: Tom Roeder
#** email: tmroeder@google.com
#** date 2014-07-12T09:11:00-0700
#**
#-- I should have explained this in a comment to avoid confusion. I'll add the
#-- comment, but here's the explanation: the C++ code has methods that do
#-- serialization and deserialization with password using the OpenSSL methods
#-- that create a PKCS8 encrypted PEM structure for the private key. However, Go
#-- already has code to encrypt PEM; it's in crypto/x509. so, rather than doing
#-- that in my code, I provide a way to produce the DER for the key and let the
#-- make the call to the x509 PEM encryption routines. I believe this ends up
#-- with the same structure and will be readable by OpenSSL using the same
#-- methods, but I didn't look into it closely. I'll do that.

 
-// CrypterPath returns the path to the encryption key, if any.
-func (k *Keys) CrypterPath() string {
