René's URL Explorer Experiment


Title: PEM encoding/decoding | java.evolved

Open Graph Title: PEM encoding/decoding | java.evolved

X Title: PEM encoding/decoding | java.evolved

Description: Encode and decode PEM-formatted cryptographic objects natively.

Open Graph Description: Encode and decode PEM-formatted cryptographic objects natively.

X Description: Encode and decode PEM-formatted cryptographic objects natively.

Opengraph URL: https://javaevolved.github.io/security/pem-encoding.html

direct link

Domain: javaevolved.github.io


Hey, it has json ld scripts:
  {
    "@context": "https://schema.org",
    "@type": "TechArticle",
    "headline": "PEM encoding/decoding",
    "description": "Encode and decode PEM-formatted cryptographic objects natively.",
    "url": "https://javaevolved.github.io/pem-encoding.html",
    "publisher": {
        "@type": "Organization",
        "name": "java.evolved",
        "url": "https://javaevolved.github.io"
    },
    "mainEntityOfPage": {
        "@type": "WebPage",
        "@id": "https://javaevolved.github.io/pem-encoding.html"
    }
}
  
  {
    "@context": "https://schema.org",
    "@type": "BreadcrumbList",
    "itemListElement": [
        {
            "@type": "ListItem",
            "position": 1,
            "name": "Home",
            "item": "https://javaevolved.github.io/"
        },
        {
            "@type": "ListItem",
            "position": 2,
            "name": "Security",
            "item": "https://javaevolved.github.io/#security"
        },
        {
            "@type": "ListItem",
            "position": 3,
            "name": "PEM encoding/decoding"
        }
    ]
}
  

theme-color#f97316
mobile-web-app-capableyes
apple-mobile-web-app-status-bar-styleblack-translucent
apple-mobile-web-app-titlejava.evolved
og:typearticle
og:site_namejava.evolved
og:localeen
og:imagehttps://javaevolved.github.io/og/security/pem-encoding.png
og:image:width1200
og:image:height630
og:image:typeimage/png
twitter:cardsummary_large_image
twitter:imagehttps://javaevolved.github.io/og/security/pem-encoding.png

Links:

java.evolvedhttps://javaevolved.github.io/
https://github.com/javaevolved/javaevolved.github.io
← All patternshttps://javaevolved.github.io/
https://javaevolved.github.io/datetime/hex-format.html
https://javaevolved.github.io/security/key-derivation-functions.html
Homehttps://javaevolved.github.io/
Securityhttps://javaevolved.github.io/#security
🐛 Report a code issuehttps://github.com/javaevolved/javaevolved.github.io/issues/new?template=code-issue.yml&title=%5BCode%20Issue%5D%20PEM%20encoding%2Fdecoding&category=security&slug=pem-encoding
🌐 Report a translation issuehttps://github.com/javaevolved/javaevolved.github.io/issues/new?template=translation-issue.yml&title=%5BTranslation%5D%20PEM%20encoding%2Fdecoding%20%28English%29&locale=en&pattern=pem-encoding&area=Pattern%20content
💡 Suggest a new patternhttps://github.com/javaevolved/javaevolved.github.io/issues/new?template=new-pattern.yml
𝕏https://x.com/intent/tweet?url=https%3A%2F%2Fjavaevolved.github.io%2Fsecurity%2Fpem-encoding.html&text=PEM%20encoding%2Fdecoding%20%E2%80%93%20java.evolved
🦋https://bsky.app/intent/compose?text=PEM%20encoding%2Fdecoding%20%E2%80%93%20java.evolved%20https%3A%2F%2Fjavaevolved.github.io%2Fsecurity%2Fpem-encoding.html
inhttps://www.linkedin.com/sharing/share-offsite/?url=https%3A%2F%2Fjavaevolved.github.io%2Fsecurity%2Fpem-encoding.html
https://www.reddit.com/submit?url=https%3A%2F%2Fjavaevolved.github.io%2Fsecurity%2Fpem-encoding.html&title=PEM%20encoding%2Fdecoding%20%E2%80%93%20java.evolved
Let us know.https://github.com/javaevolved/javaevolved.github.io/issues/new?template=code-issue.yml&title=%5BCode%20Issue%5D%20PEM%20encoding%2Fdecoding&category=security&slug=pem-encoding
PEM Encodings of Certificates (JEP 470) ↗https://openjdk.org/jeps/470
View proof source ↗https://github.com/javaevolved/javaevolved.github.io/blob/main/proof/security/PemEncoding.java
Security Advanced Key Derivation Functions Java 8 SecretKeyFactory factory = SecretKeyFactory.getInstance( "PBKDF2WithHmacSHA256"); KeySpec spec = new PBEKeySpec( password, salt, 10000, 256); SecretKey key = factory.generateSecret(spec); Java 25 var kdf = KDF.getInstance("HKDF-SHA256"); SecretKey key = kdf.deriveKey( "AES", KDF.HKDFParameterSpec .ofExtract() .addIKM(inputKey) .addSalt(salt) .thenExpand(info, 32) .build() ); Hover to see modern ➜ JDK 25+ → https://javaevolved.github.io/security/key-derivation-functions.html
Security Beginner Strong random generation Java 8 // Default algorithm — may not be // the strongest available SecureRandom random = new SecureRandom(); byte[] bytes = new byte[32]; random.nextBytes(bytes); Java 9+ // Platform's strongest algorithm SecureRandom random = SecureRandom.getInstanceStrong(); byte[] bytes = new byte[32]; random.nextBytes(bytes); Hover to see modern ➜ JDK 9+ → https://javaevolved.github.io/security/strong-random.html
Security Intermediate TLS 1.3 by default Java 8 SSLContext ctx = SSLContext.getInstance("TLSv1.2"); ctx.init(null, trustManagers, null); SSLSocketFactory factory = ctx.getSocketFactory(); // Must specify protocol version Java 11+ // TLS 1.3 is the default! var client = HttpClient.newBuilder() .sslContext(SSLContext.getDefault()) .build(); // Already using TLS 1.3 Hover to see modern ➜ JDK 11+ → https://javaevolved.github.io/security/tls-default.html
java.evolvedhttps://javaevolved.github.io/
Bruno Borgeshttps://github.com/brunoborges
GitHub Copilothttps://github.com/features/copilot
modern-css.comhttps://modern-css.com
View on GitHubhttps://github.com/javaevolved/javaevolved.github.io

Viewport: width=device-width, initial-scale=1.0

Robots: index, follow


URLs of crawlers that visited me.