Skip to content

Commit

Permalink
Add JKS file support and streamline package structure
Browse files Browse the repository at this point in the history
Introduced support for JKS files, including editor and view implementations. Refactored existing packages for clearer structure, updating PEM references accordingly. Removed unnecessary quotes in properties files to ensure text consistency.
  • Loading branch information
cortiz committed Sep 5, 2024
1 parent 81d858a commit a65d67e
Show file tree
Hide file tree
Showing 15 changed files with 432 additions and 24 deletions.
47 changes: 39 additions & 8 deletions .idea/workspace.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

45 changes: 45 additions & 0 deletions src/main/java/com/jmpeax/ssltoolbox/jks/JKSFileEditor.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
package com.jmpeax.ssltoolbox.jks;

import com.intellij.diff.util.FileEditorBase;
import com.intellij.openapi.vfs.VirtualFile;
import com.jmpeax.ssltoolbox.svc.CertificateHelper;
import com.jmpeax.ssltoolbox.utils.Prompts;
import org.jetbrains.annotations.Nls;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;

import javax.swing.*;
import java.io.IOException;

public class JKSFileEditor extends FileEditorBase {

private final VirtualFile file;
private final JKSView jksView;

public JKSFileEditor(VirtualFile file) {
this.file = file;
this.jksView= new JKSView(file);
}

@Override
public @NotNull JComponent getComponent() {

return this.jksView;

}

@Override
public @Nullable JComponent getPreferredFocusedComponent() {
return this.jksView.getUnlockText();
}

@Override
public @Nls(capitalization = Nls.Capitalization.Title) @NotNull String getName() {
return "Keystore Viewer";
}

@Override
public VirtualFile getFile() {
return file;
}
}
37 changes: 37 additions & 0 deletions src/main/java/com/jmpeax/ssltoolbox/jks/JKSFileEditorProvider.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
package com.jmpeax.ssltoolbox.jks;

import com.intellij.openapi.fileEditor.FileEditor;
import com.intellij.openapi.fileEditor.FileEditorPolicy;
import com.intellij.openapi.fileEditor.FileEditorProvider;
import com.intellij.openapi.project.Project;
import com.intellij.openapi.vfs.VirtualFile;
import org.jetbrains.annotations.NonNls;
import org.jetbrains.annotations.NotNull;

public class JKSFileEditorProvider implements FileEditorProvider {
@Override
public boolean accept(@NotNull Project project, @NotNull VirtualFile file) {
if (file.getExtension() != null) {
return file.getExtension().equalsIgnoreCase("jks") || file.getExtension().equalsIgnoreCase("p12");
}
return false;
}

@Override
public @NotNull FileEditor createEditor(@NotNull Project project, @NotNull VirtualFile file) {

return new JKSFileEditor(file);


}

@Override
public @NotNull @NonNls String getEditorTypeId() {
return "jks-editor";
}

@Override
public @NotNull FileEditorPolicy getPolicy() {
return FileEditorPolicy.PLACE_BEFORE_DEFAULT_EDITOR;
}
}
36 changes: 36 additions & 0 deletions src/main/java/com/jmpeax/ssltoolbox/jks/JKSFileType.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
package com.jmpeax.ssltoolbox.jks;

import com.intellij.icons.AllIcons;
import com.intellij.openapi.fileTypes.FileType;
import org.jetbrains.annotations.NotNull;

import javax.swing.*;

public class JKSFileType implements FileType {
public static final JKSFileType INSTANCE = new JKSFileType();

@Override
public @NotNull String getName() {
return "JKS file";
}

@Override
public @NotNull String getDescription() {
return "JKS files";
}

@Override
public @NotNull String getDefaultExtension() {
return "jks";
}

@Override
public Icon getIcon() {
return AllIcons.Diff.Lock;
}

@Override
public boolean isBinary() {
return true;
}
}
Loading

0 comments on commit a65d67e

Please sign in to comment.