wohaph / keyczar

Automatically exported from code.google.com/p/keyczar
0 stars 0 forks source link

After revoking one key, adding new keys does not work #106

Closed GoogleCodeExporter closed 9 years ago

GoogleCodeExporter commented 9 years ago
What steps will reproduce the problem?
1. create a keyset
2. add some keys
3. demote key --version=2
4. revoke key --version=2
5. add more keys

What is the expected output? What do you see instead?
If I create keys version 1,2,3,4, revoke key version 2 and add 4 more keys it's 
expected to have the following keys in the keyset: 1,3,4,5,6,7,8.
But keys 5,6,7,8 are not added to the keyset

What version of the product are you using? On what operating system?
Linux / KeyczarTool-0.71f-060112.jar

=== script example ==

rm -rf /home/srinath/tmp/KEK
KEK=/home/srinath/tmp/KEK/
mkdir "$KEK"

java -cp 
/home/srinath/workspace/lib/log4j-1.2.17.jar:/home/srinath/workspace/lib/gson-2.
2.2.jar -jar /home/srinath/tmp/KeyczarTool-0.71f-060112.jar create 
--location=${KEK} --purpose=crypt

## Add 4 keys
java -cp 
/home/srinath/workspace/lib/log4j-1.2.17.jar:/home/srinath/workspace/lib/gson-2.
2.2.jar -jar /home/srinath/tmp/KeyczarTool-0.71f-060112.jar addkey 
--location=${KEK}
java -cp 
/home/srinath/workspace/lib/log4j-1.2.17.jar:/home/srinath/workspace/lib/gson-2.
2.2.jar -jar /home/srinath/tmp/KeyczarTool-0.71f-060112.jar addkey 
--location=${KEK}
java -cp 
/home/srinath/workspace/lib/log4j-1.2.17.jar:/home/srinath/workspace/lib/gson-2.
2.2.jar -jar /home/srinath/tmp/KeyczarTool-0.71f-060112.jar addkey 
--location=${KEK}
java -cp 
/home/srinath/workspace/lib/log4j-1.2.17.jar:/home/srinath/workspace/lib/gson-2.
2.2.jar -jar /home/srinath/tmp/KeyczarTool-0.71f-060112.jar addkey 
--location=${KEK}

## Demote and revoke key v2
java -cp 
/home/srinath/workspace/lib/log4j-1.2.17.jar:/home/srinath/workspace/lib/gson-2.
2.2.jar -jar /home/srinath/tmp/KeyczarTool-0.71f-060112.jar demote 
--location=${KEK} --version=2
java -cp 
/home/srinath/workspace/lib/log4j-1.2.17.jar:/home/srinath/workspace/lib/gson-2.
2.2.jar -jar /home/srinath/tmp/KeyczarTool-0.71f-060112.jar revoke 
--location=${KEK} --version=2

## Add more keys
java -cp 
/home/srinath/workspace/lib/log4j-1.2.17.jar:/home/srinath/workspace/lib/gson-2.
2.2.jar -jar /home/srinath/tmp/KeyczarTool-0.71f-060112.jar addkey 
--location=${KEK}
java -cp 
/home/srinath/workspace/lib/log4j-1.2.17.jar:/home/srinath/workspace/lib/gson-2.
2.2.jar -jar /home/srinath/tmp/KeyczarTool-0.71f-060112.jar addkey 
--location=${KEK}
java -cp 
/home/srinath/workspace/lib/log4j-1.2.17.jar:/home/srinath/workspace/lib/gson-2.
2.2.jar -jar /home/srinath/tmp/KeyczarTool-0.71f-060112.jar addkey 
--location=${KEK}
java -cp 
/home/srinath/workspace/lib/log4j-1.2.17.jar:/home/srinath/workspace/lib/gson-2.
2.2.jar -jar /home/srinath/tmp/KeyczarTool-0.71f-060112.jar addkey 
--location=${KEK}

Original issue reported on code.google.com by srinath.man on 4 Oct 2012 at 1:23

GoogleCodeExporter commented 9 years ago
[deleted comment]
GoogleCodeExporter commented 9 years ago
Suggested fix to GenericKeyczar.java. Instead of getting versionMap.size(), get 
the last key version:

    private int numVersions() {
        List<Integer> l = new Vector<Integer>() ;
        if (versionMap.size() > 0) {
            for ( KeyVersion kv : versionMap.keySet() ) {           
                l.add( kv.getVersionNumber() );
            }         
            return (int) Collections.max(l) ;
        } else
            return 0;
        //return versionMap.size();
    }

Original comment by srinath.man on 4 Oct 2012 at 2:49

GoogleCodeExporter commented 9 years ago
This is the same as issue 98, which was closed before the fix was merged in to 
master or released.

Original comment by jtu...@gmail.com on 2 Mar 2013 at 9:23

GoogleCodeExporter commented 9 years ago
Changes have been merged in from issue 98.

Original comment by dlundb...@google.com on 1 Jul 2013 at 7:08

GoogleCodeExporter commented 9 years ago

Original comment by dlundb...@google.com on 9 Sep 2013 at 5:47