return afsconf_rxkad;
if (strcmp(string, "rxkad_krb5") == 0)
return afsconf_rxkad_krb5;
+ if (strcmp(string, "rxgk") == 0)
+ return afsconf_rxgk;
return atoi(string);
}
retval = krb5_kt_read_service_key(context, (char *)keytab,
principal, kvno,
ENCTYPE_DES_CBC_MD4, &key);
- } else if (type == afsconf_rxkad_krb5) {
+ } else if (type == afsconf_rxkad_krb5 || type == afsconf_rxgk) {
retval = krb5_kt_read_service_key(context, (char *)keytab, principal,
kvno, subtype, &key);
} else {
kvno = atoi(argv[3]);
if (type == afsconf_rxkad) {
typedKey = keyFromCommandLine(afsconf_rxkad, kvno, 0, argv[5], 8);
- } else if (type == afsconf_rxkad_krb5){
- fprintf(stderr, "Raw keys for afsconf_rxkad_krb5 are unsupported");
- exit(1);
+ } else if (type == afsconf_rxgk || type == afsconf_rxkad_krb5) {
+ typedKey = keyFromCommandLine(type, kvno, atoi(argv[4]), argv[5], strlen(argv[5])/2);
} else {
fprintf(stderr, "Unknown key type %s\n", argv[2]);
exit(1);
case 7:
type = stringToType(argv[2]);
kvno = atoi(argv[3]);
- if (type == afsconf_rxkad || type == afsconf_rxkad_krb5) {
+ if (type == afsconf_rxkad || type == afsconf_rxkad_krb5 || type == afsconf_rxgk) {
typedKey = keyFromKeytab(kvno, type, atoi(argv[4]), argv[5],
argv[6]);
} else {
printKey(keyMaterial);
}
break;
+ case afsconf_rxgk:
+ if (kvno != -1) {
+ printf("rxgk\tkvno %4d enctype %d; key is: ",
+ kvno, minorType);
+ printKey(keyMaterial);
+ }
+ break;
default:
printf("unknown(%d)\tkvno %4d subtype %d; key is: ", type,
kvno, minorType);